From 457483d781781cc0e0a837cef0a02b228d67512e Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 11 Feb 2025 12:18:20 +0100 Subject: [PATCH] tests: add tests for getBlockByNumber on each fork --- tests/chain.rlp | Bin 24231 -> 54610 bytes tests/debug_getRawBlock/get-block-n.io | 2 +- tests/debug_getRawBlock/get-genesis.io | 2 +- tests/debug_getRawHeader/get-block-n.io | 2 +- tests/debug_getRawHeader/get-genesis.io | 2 +- tests/debug_getRawReceipts/get-block-n.io | 2 +- tests/debug_getRawTransaction/get-tx.io | 4 +- tests/eth_blockNumber/simple-test.io | 2 +- .../eth_call/call-callenv-options-eip1559.io | 4 +- tests/eth_call/call-callenv.io | 2 +- .../create-al-contract-eip1559.io | 2 +- .../create-al-contract.io | 2 +- tests/eth_feeHistory/fee-history.io | 4 +- tests/eth_getBalance/get-balance-blockhash.io | 4 +- tests/eth_getBalance/get-balance.io | 2 +- tests/eth_getBlockByHash/get-block-by-hash.io | 4 +- .../get-block-cancun-fork.io | 3 ++ .../get-block-eip7685-requests.io | 3 -- .../get-block-london-fork.io | 3 ++ .../get-block-merge-fork.io | 3 ++ tests/eth_getBlockByNumber/get-block-n.io | 3 -- .../get-block-notfound.io | 2 +- .../get-block-prague-fork.io | 3 ++ .../get-block-shanghai-fork.io | 3 ++ tests/eth_getBlockByNumber/get-finalized.io | 4 +- tests/eth_getBlockByNumber/get-genesis.io | 4 +- tests/eth_getBlockByNumber/get-latest.io | 4 +- tests/eth_getBlockByNumber/get-safe.io | 4 +- .../get-block-receipts-by-hash.io | 4 +- .../get-block-receipts-future.io | 2 +- .../get-block-receipts-latest.io | 2 +- .../get-block-receipts-n.io | 2 +- .../get-block-n.io | 2 +- .../get-genesis.io | 2 +- .../get-code-eip7702-delegation.io | 2 +- tests/eth_getLogs/contract-addr.io | 2 +- tests/eth_getLogs/no-topics.io | 2 +- tests/eth_getLogs/topic-exact-match.io | 4 +- tests/eth_getLogs/topic-wildcard.io | 4 +- .../get-account-proof-blockhash.io | 4 +- .../eth_getProof/get-account-proof-latest.io | 2 +- .../get-account-proof-with-storage.io | 2 +- tests/eth_getStorageAt/get-storage.io | 2 +- .../get-block-n.io | 4 +- .../get-block-n.io | 2 +- .../get-access-list.io | 4 +- tests/eth_getTransactionByHash/get-blob-tx.io | 4 +- .../get-dynamic-fee.io | 4 +- .../get-legacy-create.io | 4 +- .../get-legacy-input.io | 4 +- .../eth_getTransactionByHash/get-legacy-tx.io | 4 +- .../get-setcode-tx.io | 4 +- tests/eth_getTransactionCount/get-nonce.io | 2 +- .../get-access-list.io | 4 +- .../eth_getTransactionReceipt/get-blob-tx.io | 4 +- .../get-dynamic-fee.io | 4 +- .../get-legacy-contract.io | 4 +- .../get-legacy-input.io | 4 +- .../get-legacy-receipt.io | 4 +- .../get-setcode-tx.io | 4 +- .../send-access-list-transaction.io | 4 +- tests/eth_sendRawTransaction/send-blob-tx.io | 4 +- ...end-dynamic-fee-access-list-transaction.io | 4 +- .../send-dynamic-fee-transaction.io | 4 +- .../send-legacy-transaction.io | 4 +- tests/forkenv.json | 32 ++++++++-------- tests/genesis.json | 36 +++++++++--------- tests/headfcu.json | 8 ++-- 68 files changed, 143 insertions(+), 134 deletions(-) create mode 100644 tests/eth_getBlockByNumber/get-block-cancun-fork.io delete mode 100644 tests/eth_getBlockByNumber/get-block-eip7685-requests.io create mode 100644 tests/eth_getBlockByNumber/get-block-london-fork.io create mode 100644 tests/eth_getBlockByNumber/get-block-merge-fork.io delete mode 100644 tests/eth_getBlockByNumber/get-block-n.io create mode 100644 tests/eth_getBlockByNumber/get-block-prague-fork.io create mode 100644 tests/eth_getBlockByNumber/get-block-shanghai-fork.io diff --git a/tests/chain.rlp b/tests/chain.rlp index 9a0c3a6c3e7268c620189b2562891e11b610edc4..ae681adf9f042b3efdc83e3029d29ea3c00f5be0 100644 GIT binary patch literal 54610 zcmeFa2|QHa8$Ui{U$gJhSV9WfWgTmFSz7F5%}%x?##)w&LQ=Rz)=-wDB)d|SE&CcG zMIsF?{&!}KrF`RqwG&ga^bgNA2U_4}t1O$y5M?#ixKQ|_Pu+-v{(0e^Jq*uRqwkEs(%f0&#z8nS&NlGLo zB`r!TuEy{%aaSGMh49An3QV`vaxxpg2(K9if?o1`8K7zGjdo$jNm(e@I8xcA$c>x4i<{fQAmOSwmbcESc4@T02zsZhC-zb5s3RT zmgJJS2upHH$N@{pyd^{_Sla1i?;SYOcUjz8%H$?w@+UxP0%I5 zI!I|mg4PGV?&qvl#MEA)EK4E)Tl?hf(_IS@(enFfV;}iaG4X)^+7C7+N z?)n{cocc@8dR?QEymZ@U7xyYv(PRQ$Bw2SlI@%Nkvx(i|?Thr-2%MHHB&5Ax zpUuGv3$a1VS9j}015{KP`EE8XnzNwpa9YX4_tiQG6=*iCG6t+ zVd;Th0lQ&r#Y0JHNqiLaY+_Aig=3x7=20%*I@x;4(z_(iC1(%ZV3gkj`8(wP7}p$H)UOf!R$gyKR~lL0kfslv+#_Fs91aAL#` zF;FmG((t!+IpM_$q@=_lB-#_dGk*|08bpvZG)EexbCCbh0ar;Ck4fgE4#06fF%?hB zGtJI;%z?6nQRZ$U(Ce|+q|!xj$U}Coyz@s|5JE%riQ?a9+n8j=pF8}zxY@|*A)%3r zQ3Ea%!2&G5WJ#v$JK1@S#H+abDC5v{S@R@CoC6#nn6=;w_eljT?_6-Aw$zSm7_F!M zSOq(>*J|n1$^08p4A9GGL~zFEtCsK&qZkBlrq1~=>yT+4Vujr-uhT~i{fOU8yI;O8 zwtqQ$!6?BU0E&xFmCH$pmf8k-uk=qFA_xnYmlKJ<$;kvRU78Wh-0{2ih1(!ldPNX9{2VF*a+D z)yFrORs&LMv&WfCNbP7IuyOg|Bk5L{^2A))<(iVUcN`=NcRT|+C>*np5n!o?5wST8 zCBVV;yPiM?!1x_X1w&<9yVvUSUvI=k*}_*pV1e-@bYEa?V*zw?V9X4s@(Hks$>VPU-c7&fy-$58WiOnuXYb4GdK;IHX`~17 zZ-E0Vz|(TWV{b*Phxpv{6zJ8AWcG5#0Hx2$-zuT>+L*o6-fvt6$>vr>`t9l22+buNq9q)B;6Jq6ZMj-D zD1jrByBJuWAI@9}RhhU{g>*Gh8)mucoL>b!E?D~7x`cgOga6U-4Z9tJEzaSDkFB+X z)d^Rax2v_YEo?uq;c{;&p2KRF@C{J7x<7xONaCrzzE%Y?xQeSferA}m*qdVJP)VEb<%de}+_aD&=TJQ>__;hD$TzxC&4S($`vy)Q! zu*$Bx^N?tRDN8xvT??mCsAO%j%m+Yz*u9-5=Rv~_L+__z22S7VxPbaJ<-LYa&r-i! zjAT0v^zz>9A>L2h-0F5Xpf6q9% z)W!tcSosS%b`@>^eHZY5XNtmAJPfYllnU_v7OrX{ok@Si6E06s*j>AtFNfj@EI_=7 zP)HQv@o)VS@uz?*Ih=>DNrubi&g9g8=I-#>-*F4Dx^VkMis9l3Sd5^|r!TVgZLh-B zkCDN8;otAxAL=4uLt2obd4jD*rmjWhm#`Z5cV6r)!A&vBSprZ5D}W$hR16CpTMSZZ zi!N>{+c{T0qCIdJ{_zd3j(@H>(HnqdkI|19-Ik*K*-eh^*21=+xvjxAuC(0*{u|oY zDGGx3CsY*zwmZdjRKOGL(+~G+CtUNsmA96mqHwT^Qh*1q!7c)}%4*SVKV%@8MPO9$A6l?gG~GpK zNm$iSC2Ed12nd7#)v{qas4AF14O&TwZGxc{SO$wgEd_jRIN2=xTc`?#lRJKsF**<9 zvO7Jzd`z8rU{4CkXv-AN@WIQso%0C4@W}=pVn_v)K8+GT#r^n@0`LfyVViR%6XkjQ zD(va}9Duy0cf70zX-e@=jFAO+mfm2JMJKd;F-l87@K}ZK<>uO{onju^{=P>a?fTN` z2M`ZMU+i}OqAX>~Msj}n+4JiNH_O4`IQaL=Dc2rhqh&RG|q=g=}P1GY#Ts&*275%VV zXX5nn^g`DrJMS312&n_o%2HCu%bkG0VHbQcedG23ab1%YV-Lr0MsH2I$O9N zLk!EnaMBS)d-A2j+!*c(eB}~nKKn42ry&D}ghlH8;gB;ux$tj|^6>ySW%V$xwV<;{ z^h%uE5Y2Gs{@wd0YJ6H}P3Vp&(e0hxn)cucP2C%VUea)_eQ=2>_w4~870R!>eLI4^ z-b`>(Esi(=ff@z*pY8}bxa|B~(=0HX)~Geqrl=%sHn}%TA;^UMJ;0KX=$Vd#ymp57 zpveWlL(K%e>i5Wkl#W6KRGCiau)Clfbako1c(LmlUBb~hHtqu};5uG)+trp;&qJWA z2vo7=mT1*a<`^v|U%d~sQMEyaVPya{Ea;$^k+DvN8hLdt>niLa5S*=am{wH3aEu6c zfk`L_C0Gk5Wq!*+k0XPr|BNS`WgLGf^@tJxL~S~xDWL6Qymd2e(5#Q)!POJQ5|E}> z^%JlI{Q~0508v7VU--Lov&|gGarED;JRM!>e=K&k@m2SoCI1@e6$+#u&2M4E>d0vT ztuVETeqKqgG7YoJfysgv0(|u*RZgCRds#(RcwauT1Wp(ZP%&P3_P*vDR|#!Eg?p{z zm?uv-1l=TP7;b*&8xih-pP}|nZDT6`Z0>U zg!(z)>MQLY9}|>hSz(>|*)D!c{8`zxCkLc;OM8d7wO+s}R@u;hXbW6j1OHfTOLn$3 z_@^!KABX(!Ygpd`5i&oqAz@&<6F!GESi*Nef$dF4w_yNRSbkCbJS_^)Erz~0 zoqeo1MmuOI@hDK{1f!MH6Jy9Y$v%H|C*15fTk$pNLMonUqeIooRs9oa(6%&xoAR$;+w!ROhwWPn7{&qUl0XyW6rxpCtpq%tRqA2`+i*>1nC) z98tUG#3PjepPty|p+=^r{foy-Woz0TYK(HL?mW1e>uxP=LN6D12fY-2z)0-5fhA&t zyuAoVn}FE0F~K%g{z8uZ#j#tUE86;pschW?YAFz|#h9wU1-6#RlXSl#4}k*F>Pu3( zyHMm|4Sy2b9*DU;oQ<3kjw5!_KK+6Tn$o4ZV_$ym%-8Fe8q9_OX^$N?wf^(5sq%XI z&-mNo#$yptE3TJDXl_wR%PSrZLfX-zIfTVwet`UowuE}m1b@rxr;Opo5dajiHqP#6 z9t+)M;)b%yu%y>y*ExD}a5Y|$A61Uxp0bUr)NTZbTFYvl@-=v+hMki-{5tbepGV;- zuVd|xlUO7hw6i8#k--dqxs%+@d`Nw5*g5sQ&sQbdifL6w0@v*1yF;e8Je4G+AI3%l zG8qrG_vI*dWDQOorv5T_{2SlU_a)6;mbV^lIE7R~1}ku+MFklhIgow938iC*7E7Aunpo?gIq^PvE_CB8~9odPnnQQpUC5MpK#C z`CF4054`N7Sa|&^1Hk8NINq2~_h7<&SA*_gH$vEZPMFp#+qOM8CwgGz*-j8@F*FcG z6G8rn*a)veU=>tA;NS<7{uz`}?QobPn6Kg+0wdtDV~*UIgX3Tl3^nGeJywS*LH$qZ zC8&YIzzj740$py%FcX7s(EKdoA+Wl&XG5s*QA>enE$}?_TTokp^ke)pQmIoJPcwJE zFE#$&uCC>B-)y0PWZ?-;@j&;*=nIsOcqIU}_FKMn)Pg7SpHI&pGu;~yJCa90hgV&V zOBDMZN4?V=Y0b1PsifS+QHqBrgD0pumdH1lcEqZNZ{Hc&>XSG7q#jIV_R#@`QJtA2 zBXsdq*98|wb|)0MYlY%73y(h@d7a>VRWEBCd6M~8JBja!WA_)LUbAo5NdVxuL3(Ql z_*DTG-;!@_$j~>Phs$x2%c~+Ut40zoj%w5acrMNR%=l!eET1&m4vC!52=R}4Z0@kc z?4c7yQ%8oZMB1_Z;^F4nP9n^3FQDG2)xLRA=LP)m>@>^%?>%WLMRTw3-b{;)j4wBA%2CSB;M-vX|85*Id_mB}3DraO8{ElKQmVk{{K=);vjB ztBqga{Zv?^&38YC_#zqRM{2LQsbdpt9|{Sd}H0?sixC=Gxki-=`9^qnGEb zol$dj`_Y`>0IBmK+Q6A<<|i8RycvhTN(SAKrLXOJWQM!@YqX(8Lp9C8Or!zmyl9dE z!>;QM<(dvHtoj&ejaaq8maA3J{b8%(Rt~uu`=UT%HO7RIt(qfNOKhNtt!^&iunlzt zTE@fp?7IHPI<^IMQwdBkaPH6_zykCD2!wboC^h~q=LLgO*1w_>X@G|6d(oQy1^mUr zs2DCK{MX1x|7T4{c)E?uOiv35e`5rcYCq9%Uw4E=nZw>f9M!7zd=VL>RQx8Ab#y!h z#~ZbfemnmRKN_jt_5<`bHK}9wpZ6vyysp|BY(spH z)byG8Nl&_U$ey-!t572u{Dm7x8BN*^d(g5gBwpSO*?x^SX9<~h|WlKUf$g7Yj z8p3t)C=DD39L4}8V$SoYVxJJd8ox>4b;vl?D)qAVHTmx4+K;ZMrWi`#+bjjd<_m$w z<$nS+2n3F{{sGKjo4fe;H4H4T*~hL)|Az$-Y~dtpL8;Aefh`!6?)nv#ARuH{ZpySa z-b5w#M3+zmeXnCS5r|QE(pyd_yp$?-qS{Q2i6zI*%|3S&5Q`e;))i@oF6AkXXO|9C z(H%L=C6kuQK&7#8`GdghBGL|qrV>(bOo>XK5>8uZCz7e$cV$byM=i4!lmb9D1;Fok z8Si^~`Z#<~tENj|+q`X8qh}TWjXdwt0e=pF?eRnLo}Qh>`eUzi$q)PBNyt-lKCG`Y zvi&Y2BD7HHi411{tDOV@@Tr2zpI;DCII5JPZTa>|?v4s*cDbyo*Qb1(K}C`g0I)uA zJY|nwfmeH-oi-LP1Tvm`BQW~0WSn}E0w-HIhL+R$3K_whe2tNeO3Qi zy7#4%*)u{ONc8DauS{4&bg zhdbze6H53;fkM4xnYUBNrZc+zlSG=4XYPjGpz~Zf%*E(QL`d&e@ePDp40LV;HpJ@b zqiEoUgu+l5st!kGTO>G&uwouM!ZC+}eZ#PZXq-l@*YL0+CXU_oja}4GXnQo(MOngQ zAsY^WtsjdA$I7U7JoM>cP6?~WbcC+0iLlj1&=On<2-3Bn)b+QZ77R)`{)AKlKvEvH z*?sjyvU!|I^V{e7rfEWNoW3PBWvlGna9V~2cner&O&xuEb5Z)-gKq|9-yd?&^

h zlxsSS>>wq}oH28(pvGtBM2ncgOJUMhu=Ttw!; zK`z6S)pAPh1pVH6dlC=z7UuDHoV;27%`Ej@rAw8`5b`9~uXd8kue+&>1!#IV>?CP` z-}5-naUyt}DPc>6hj+?@kc&H>Fk9l@*R5x@lUc6Z4IHqFI+-Y)HE6CP7$?(}TK}2t!{;Qis7r7RaCN(IpD0|+QDNgCU zueErhjul{YKTzAL=~r?!`C~xAwIw|Ehf*fX8bOq0kR2JP_H~g1niA(Jy$CFl6eIee z>}EG8rBjdK2cFuuf0)Z8HYn$c_c~7km-FhHM|lo>b#bE#(63>bDyG1g;o-qn?NMz| ztO>>tg6d;6Q6jJs3@dD1Zg9?x2Jj8BDiH$Rg6ji=Gt33Pt)pDia&Z+jP&FAGyI6-Y_B~#cSzxJ;-0}) zdJ!P~Q;}*>wrb$YIZ2jy*}D&bz;kDGbak@KJ3o%j+FxZGXjCdPskn0fMrh5Grr@S{ z4Wu>iHuwPm-><+d^Bwg&4S_D^H{*XvP{2xfak z`2EC`#DVS3f1N3zzLtUnLgmW&)o21A%{X7=O_DyXaQ2-w(<7#RW_Z?NUpVYUY=F$; zy|a4Lg^XcK27@#x`&X0C@aK zt~6u7vQ+BXtGV4I(%O&2@tr;bHQA@TU(-Y{#(e_tVyy)A`<0cIg<9ICH1h2CY7_X0 z(%06hUoOaO_v&my+VP>e#MWQ8TD!q5Cr-R@;lZZ{+`|V4k9mA@7j-WWlOp!@9PJL7 zlgpgV0ldnZ4suzxbUE*h6i0g1hZMstWna*%jzyPc1ev5Q=OTmm{^eG}oHesUejbzEC}ToN-2mTugEN5WH(w?k z8_0M9H=sHmy60XIy9n=V_nN|cZvjJxl8D_XutlKG7LLk(N{ChD1j9KLNyI~d*~Wyx zR8SxYL-zsNZw6Zg3}v%{VPZ!Dk3k)VL1P4F7GUv1f}!f@&>01`>j|X0u+`cR&rhh< zjW7~8cho>|tbXJCV4yM-2MXD-7M2Fb{1(`Pap}H4;gxAXtk9si@q6c-@oU^X*Pr(3 znZaupzFevPM8nyVr-fJ40vt?Qc$(CgQWkb62 zv=c<{C1Gz&c||YYcWk+lBXvO0<&5RRbJexDG!4Laq9T9%-at{EB(QBIv_UctZ~ttx z&Is)X1v`Dnjd8Q{{Fdf&g<4P3}Dxzf$fl*PI&$zD-X)PSCA1y-Rm|_`W=@45{OV zguEITxq@)dT1)V5?$%UkKh4CUFol6{Zl_L1D;%|Wgez%%#(9cxLcg8vY|Zj6I565A zc50%7a;|%&(VrJ@yoNb4p}m#m{_MWgM5@~RS`0wC_QAxq;9NkdgpXD5i3W|Y^~`L9 zRSE~g!}+GXdOsb|dxqXQQk|j7MBJm{+9QGf$9FgWD`v- zIeMy#hBH(~Y9|(S-x()Qz^9CgH2KM!Sv_wJf652=Y@Sk@sob`~*|9K6*qf=PbX1CW zY*JPHiUzH~b&DI-NI#)J0T2K<-chc#vpcN+(mqwO1CP&U`2vc^E`{=&l2Dhyx4_pQ4&w&cj;cyoJsJ(36=}iE|LB+D@Bz@*KjtMON?@)xd)}v$MJjbKS!OBD zqVzY?<@-l^x`TtZhTG)Zx-IOH`B{;SW=ASIwFuAeP%wTW;cQ24y+UKID9Z!nmDEsh zW)CHMNz=`(e9bLvxK(9*;@oH4uFFgZPG)Ho1M=nk@J%ns_{CuxaQGKi8=FA5 zg;TCaroeB(Ef|@K{EAIHK-7p&>y=#G#3q(Yj@aHEZLgkjCt$5SV3%vBdD~@dSQiN| zTT+^>-uVI`_#S$jP_U6#kf2ja`y54c;K9DCq+9Tgui{oUZA5R1kanVIHnGcOP_(45 zA!1IvG5wiqtOlSACm{~5}uEckJwGK7p%$cEO%Zn^c20{VN_JBcB z)XiYCp3&ILPvjVNBd0s>gjT@v@Ef z+im&G|02_kYx@5w83nc&K7$AbegfMAz;=^e2U|>J3JI>NlwOch2zu2$6!LELFy5(a zdqC%qsXB1;PS0&p^*@YEWpHsl=9AJBUGMeD*_yg`pS^d>@C1RgOWfyOJTeD5hJcb$ zo{KxPJ}>)DM4EowH_(xD%uu_B+ut*}qcz^sCQ}1&=yUy$L^uqsn!HvMG^V ze8f`jyo{23KSyx;Ckgl$J7P+P1VPI-1qjkwVq0P<`emVVjKRKlM(4{_zB+N^-FF@c z-~XE3RLCmTrU7jh0bDqns%~FXeEKA(EWmbua8Ub|9O`R&5MB#A3d0@yXTiu+@>hF_ zspw%vmAQ(B4SNarn59MLHe)fL+sjMdLYB!F%pW^FQ2}TkELsj5KwOFAr~n<$H?&QjGXpW6#Xyn|Y@novMhRK9fWaQL#YU9oYUZCjfL7CTT1%P*X_wn-V%pvYQKURS z-cl?@Z3`mLo%{LC<@QXwms?XMEx7His7vb9MaRF<3JjM}4c~L6CWTznt7GKZ>1U@} z2sq~JC(BAL4&y~%ogWk`-MKr%su<2gkY1LRKT(-P@fKiv?!4kX)weudA8*=Rvd>Q3 zp0OFHeph!y9kaFD;X$z8h%HfVC`|Z)^=xbgTjAhmLxORw^#f{u94HKB`9ptjln#czuY{mpjZ6)# zgG+wPd%?(53S8b5jKBRRyR}>G3?D8;eJ=>M$Q-u$CX_=kbM_9uFI;z4r$%^Z-qUyb z{s7OR@zA;znT&+@tUHhK4|iqPIUEQYdHx{wffLmWgMM42pENjyUEm8B|K0n{)<(WM zYk|!F$e0(p(?MIJrHjQxEx%%P#~l|ab>-evs*(}_Usll882@s#c-gm}4~T3S(_~XN_qk!+r_d>+P{tqb^Q<{c~sRty(Tq)UKe$#zb+uGLK3*}tGAz8v91pY%C zBx(`-Ds3BhZfmfWi~VZE|H3v@G=kY65y2&wetd(G&~LrM$O(nFK`ULxO1uJ)wx#?- zu_AYr3ELv1CisY{oD%am%j0b6EPK3zq=Y%+0&Kre z^82mvcJSuO!(ET<{Vv1eGGA$DQW2_0)V1tYEvpfxyTNS)ISYh*loo#N?h^88;!r=m zUINafdcT_6wDzgjg-<&Zl)B7-8R9Wkc9r4S#v?PK!KUACm?zSHV^#9Wwn+##C#SJ6 z+-5N#e(N6}j0ApeaRi#b>kg7}+Wwm24C3{^C%q3P`l!Ii&-w_s>0`ztyj z?;VrYFknxxflj0W9=M6A%uMfi_SPLOAk-7_nj~0Z8sQCpEOL!@uxP*v2XKDDwz$;D zp!HG1Y4Onzg}9E&l$1q9@pqa*84W%*cTuFB9GXseiM`*ST~cu8Y``p;Ys|`|=yZg| zhR{@HF#eSsA7fzMo=T$^-vi}Y<&!>ls+Am1atpr8;BzPeVDTS2n0=A1ywWE__e^~5 zqIf%B(Y*F9Be^!b?l$UKT4b>NUv4HQ4NcD)K0JFKCZzHf@--v4IMo=XuV)U*I6pdgHkaG8JpV3wb*lwEVum($**tCRQ;vpQiFY4t*2i94GJIUkiOpp`HY^R06PhDI3${l?YFh8=`bUXS40Icxz6xJZN&ZSXNyu zUqf32_KYwkx{CTG=MR){v(*-a6Z4BvBFfe8;-dNE=7T`$iGC~RChfXCNH`IwK@s2w z4t`+Z2LXQ2`w<)tJ|uzt$X&r!OhPrlR%P@-tIvjhJ_!WI3Pr6$ad05CtFdXr`QRtN zg|=X93jZ@|Sx$a|mdWOLb?VoM^lYp6xrk%^MYJy-yIIK%Hdu9s?F07pan;X~?qt16 zXa3TW{!!?M?B1f=3+{p*$NZ@!4JmdatrfPRmHtH@>8|g&f5{^D}-d=W}^73%_Lq{ z_swWN>&B<108mCOwEG26uzMF1|GC|cC*n>wPWdz*7?YoFQWtfQxfBV|>NcgZAM4%0 z4MB<`$E9RWKGl%9lNOrU_n0g0S^OLo(oX5$+~?e-nR_mxy7_aldh`;{!X?iMr;~c7 z4Ve~U^zb6mB>zhQPeF<;*CDfJzt{bX0#o1Z6f?YUK_ilQxP@Zg6m^F2U}IB!sgx?M z<%IF!gU{YX-O{-G$p$y%yvwwlxesR;k9pt#u;1R0z{Tt}8{rpX($-`isVemr9h{|- zUU5?<*W@wnkgd7W+iVdwAeY;e#r9Jnvl-{jtR1yiO$#_5kS+kT%hpc}fE~=wv+YMo z?Q2sCMi_4EzOD8*;L~;y%Cnd8%=D}}=Lgi=?lnJ>yKkJt@jf@ToxcmaSDMmZr<~ht z`*jO0?du*ydGFTFfc4CE>I2%r!9@?c0t_rbFG7F?nAR;YbyQr5J$mcDF?Oq-w&BOx zC_N0@h$?{%6*x*pXa6*14Ag9#4rUr)j=ukefI;@7IzcD21|^}qmu@{aZTl_n1!Gg? zzoHWWa6n&Eap*dI%hh6b0UZndMwxySN9iduoOw9UmqXXTz6BI`ETs_AW}Q#MUO&Ax zJZLa>DnTu#e=r!znl4s5E!l+hQ~47B0f5*9D~_8K0s_w|jn7xl?TG)%m= zs-7n~Ha!8bpKjN?5~0NXo_wfa=6)vxQPe2z)JZO@MR_}i6TV*!X|1{qfTRJtJSO8F ziYpIPOtll7keri9(0}FYFJmnAauV0kN?g_tP~kjeK5!P1QWZJmljuhf|8a40AaCsQ z`AjQjExr6Ot5vr2AKD->i{YR1Z9~s(4c0cue;(w&y#*DHU^YlZaNEyp>9<~egpN&L zKJkhpHYTjn`*g&zYky%{zvjKca(jH)2+wn;k6#Dhi_zl0lOqHoN z>wUHeMB1>6y^8be4wJ3%R$ciF6{82EL(t>7W5xFZk`x?UGkMdyc>>rIL&*+Jn zz%Pz8K>&g@Jq&eSDH+H z=gNi#ozVo|gD_ ztTg2@$y;Xziz_}FPQU!a*mPD&+izi_h#^*{rQ;UlWTMPx!S-S{5-5eBj;WHj^bKIp zLiW8H;aNp?3fG(66thA8KyY> z0ef3htVM}A_@RNy_!-6aMsNqSm};b*HhMFmuMZpw%IVQJ z@Vj%L1)1LR@;Djm+GdgltVGm~-J{VZ^WlAeNZP)o7*cxUb{faGhrKFHWx{?{Ux3py zwE^6@3sI)YpS;gdzBg)`uTdYTilGy{nn>>cfvUR-{BbAhKK{k#Ima65lu??yyVd)8 zTdt3PBPPL}_>lOF(pNhte|g^@dT->J!v4z&P5KrR5+71mbi6DkC@%?U&|Qq|C9|+F zq80=$@10|`v3ww{;8f!ps?gVaiM)=#|Amq0=d|&uzzgObz>ct#QACo%``F-^>_qSE zO72#*MLI_%dj?|~&iJ=s{#frtV3#ylt}cF@U7!y#9jWJO#%?2N- zViOD{pdDqkUvvW=N{u!`fC3y3m9M9Df5hkzU=a(0K$J1n-^k(Up%K^)!9La!4g?=9 zqr8`K)qCH01b_G)@5SM`-vLFoo+a}fNHISrr}L|ozT<#SK-6C0rzqNlG(j3|`B#pR zion_g|3LtMwXAb+B#G~VwW#mB?_E8b#Mog6NPG5`j;E;gjW_QV_WN+=}hJi(YOHI zPF+UJN8DK3nPD^?d>TFJPsYFM9ME0#Bb=gDe0>&z^gHw?00;mn_bz+UNAD3BmR}k> zUEqep%dsN(GQu-6D*SHm5KLVX&|gk`PW!^hd&pi0Nt1qyo0)mXtw+N4-Nw|zv|SGe ztdQ1v+X7&fL=O(`E&@f<16OxC+vYk{zEs+MgC_uAzIEQJ;|||-Knam;@6Yt)izcIo z$+;6D5qJ6?OykW_c~OzJQnT{T)qwY}Dp43Q*KzR<+lv;Nh`rAbEWgDM^zo*uvcbc7 zP*d0b&WZ@a2wYt$?H{GvyXUL?Oxwy8g2t7%wnTuerIERT(_63>(L|kk^ov|c-5rQX*;Q_h z(`G68#X;G?Y4K7@Mv-cB@DbKvt2X_>4!;|m&BGn(DX)r3WG&iruo&?V>k$F!SNG9X zN8i#Aj?rQYtUs<=!dA<_Eq)zOVK8ZR&;G?wKTHl~iNXjb3`RhQ$by%D2P2@x$dmfN z0)|-5OWPb#F3iaXw4y9HkMt$GiEA$|lFl|VT$`Ft!yzyO0 z{T9xH(dIinr7nU5QSZMpO5I&bF>e>X53T=%v@<~a?JwUY3;qx@==OVLDMeH;FT=Zs z+TA^a(JCdM-=x~|D>Jd`WTbcl9)c!#MElMehQ=raiS%UJ4o^*}bF|J7;tp|p=D@E~ zYyv>TU!AA)FlY3jM34Ai1E4EuL#Tsns+@F%L57g+4%M+UwBOS>Si;I*eai6!3AUx9>=rm$RDm{V>0W-paqU zOP(ej$5Lf*GPf2)72y;Ww;++x?Ed6)gwPT^oJym{F#{Q(-aBZ zv$v<>yx-bn?dd1MNl#mjWBOF0lXZCU1#qb#PRXK9=uU{jE(RzVN^MLSLWY7x z5b{tE4*p6N5(bBy+h~N6*WmrfhP688fg%FUw%}`8RKJ*nL0uelPpIH-GYW60t&+rz zTyeDv7+7vFT-E-o0{!@~iWvjoc#jD~pm@K9;4e1up~Glg-TLeOARo%=9Zz~pvHP|Q z@G8p1B+^jLQu}kSB$%YV z>UU+~A%l;AF#6|T#RGt+Qm1nxPk$2Bh@tE|l_fE8pin~Zkt3;NVS@r#B=|0snxhQ zS#yx-F%EQk9I(JQQ+4$S%nF@4@sJR&KJa^<(T)nA{Hl_Hg2d$KR<2u9vfUg@{k41P zmKZr6d*$y+=<5=@qTUqAbu|z^xL_(6A_f${e;_?tF=eFeJ7aJoW<*Q+es$kvNfP_S zakq+_rh6=ayIPKFUQ=>?V=>oSt$fR;Uyx;V?kKYEPI&n0%t&9KAl9Qdt$vJipxha; zN&l+~>KHiMV9ixA<}gfw4)IpSKPrAr$*^6*(86zdHwf=lEMa(o0q{`h8+ZtG$8UIa zm~?UzWC@4oeh&`v6*kNXiD;YT|rbFhg z^F8>tU-GC9@l%VlF}EN9MK+FE{qv@$uQSNUBD-!Zyu2VDp4>F{^L8 z+rGVZ=4{L`BNlkrdcPZr?8J^}vfZ^zvxv@j(o2H<^|jP(I;i=5&+dS>ua3Fl+=E6- zL4(ip7swS1eS351)1gHOKrN1sb@vUNiF4)hir0nf2Bzbc=#3NiQ2Mpu(8O2Q@PJQ; zg_&`SXZsJZ2-3&g9GKL0dw2i4?Uw|}frEC(9^X5(ghL9x@900Z|6_gNpUQ2y-nIr? zqQyTA_ur{U1#p=C9|1ze&umZ(*zUZ~VGWk>)KPm!gbKfqc~GDRsaJQ<2>aYnLO)kH z*@eL(-u_8sW5pxyKV*Y?r&uE>38-Ze4M!r%?sx9EE`NPekdU}*va!^wd{om0aE0vh z8&saTV0<~7W~P9T^IU2AXs7bxyFIhzId~~9SwQrHONb`Z?vAqSZf6NcCW5Jn_LB#O z)b@yLnAg+!8!`U88sOMdLzRe)m2G7>+5)|IU_?|MhRXh3g8jfs;SLUC{* zteCw6mvk@$%J@5bhbVv5(Ip(^`)*LAGZyYl!$9pZ6uxeK#~H*|oFS50Hy2`cXGJ4! zr7yyccgBox#0$UY!ZQREG8o$L0;(PCUHF3EwQoUoWVOaVyI&13eQOtY3hx=9Xm1E` z_1&~tnL*Jb{^GBtGkm#1sIGYF$zKC3mG1T9w2ohI9HJH&s~;>SOPPwz;xQDCV5RLS zV1$f6M*!4wK|(vZxd&giP|oGVxA}jWZWii#OUnCzl;)hgia-?LoKs?(_&(rV%h5rj zeeb4?BLbBIDxO7O5!Tpgd8X*F>wPzz^=oO4IW^S9q#d(VnvmTg)Bn)`pK0Mmp%{Kl z5flMl%p8Y{;9oAkdpWK^@2J(GW2M(1WSTf1@kwAl#}`+=UHzPPMpkckvOr+;ZOFd2 z59wdJs21LUKhsVc%8UHm^OdxP+M8GI&A3@l)gNL>dkv9dnoZNJ^@^_WrNTQEeG36( z5uQnR`#XFq3102Y249$b^&nHFDl)nZ=h+axJt?1I-qW5~IvGdWw#?f3FRDP`0sO%; zx%}lPB_p5q&DM1@6>%^4+kUJ@e2rkF7fb9#VF@1UogiTPfk2{E2voM#uuAVx1QnA& z1?nJ_!V>(z(eWKh0|P&+$8n)W%%cK~xG~3B>m1b5Vq0KX0oxN;j|IC&p!DF=KycDO zr}b%V)rg#XSEatZnz8DJR(ic5d=>!%~H5`~B= zG>!ZB=nMtiv5WZ9h-de{U3V#O}w`4N6-@X($qz!jJ3!nWQlwLM|R#oR| zYNP8>H=)e306aY-7SDJrjrmT`Yw&Pv#g^x7*lvoeCwD+D0$dGO@>SzI9 zTDLo>4vZX&X-i_Izqf0|ckpp1rVbR=R!h zqwKiC+eXEhl$+0{v_=n%!jx`Y2R5}p$7+N@VSQ$EuuQ}|IqkJa zf&dUOBR~R-m;}5(G!B&GFWCM7P&*?vGYSC|Ao1_6D^D%=r7<-8#19Jt;Zh5t@{2Daf29 z1%F|D!~G5A2fZhx(U)OrzKiu2fu~VyH4`7m7r979*vDsB`|+;1WkKSO6jF`mJjqK{ zsswDMKGxiPa)DjBTX?7dN_75wT4D2!S&|Tnj|+g{zAfra&WW_ z%BR7Ebu1XV24?F%ht+^3e1p6}gl&*l#n_)!f2+aF8|Bk%8)D0SzvI)qc-i<%INY1U zA)7EzOYn=`dXib}W{hkP|6lLc6`~gQ5(m;>JvF^OCS^b#KI*G;a^{>wfNs}+*-ADlio11dqsMbD``W(4|n`I+5TG1@~@d-{)*QuY;%y7mEiY<4Ape6?mst!(g~W8}5`uYy#*Up1C-W^eL{ z5-~q^{a{`s_-F7amvG4cQv_f;Z`d|++}2XI#o>7x=*aIlE$)yoi+*o#AFnKp-c@dC&RcyzpnIRBzJr#k|)az7&3{Bk{PH z=8J+;-P8cCZx?3|`%2{ToLkzTX!=id7Z!CLBU*?dIF>J=Zn_H>ToN$Uzbh)kB0j3V zp75|D0=)rXb^#bxi7r=n4D4>Ob_CH{k88r}ag-1>jI_F`fbDCYV3^;g0m3%zK5PB2 z*}&H%jIcT!6tebhHBi6F2)pHhdT{@M@51aK=%)?hzq5aE66uyLL5DZpz_W*jf$IAx znBAq$byrt(RKZ9xfJCb=S9pHl&I@!*^i&dI*DMrPxeItpGqv-XM+{|EUa7OQ+41IVP5VOqa`MIQM2+zn3tZgC9pgs)LkAu$jehhGVO{QZ=OAXT#P|s zMFS59?)#nm!IaYc_!xa%UZMP)En$TxAn@j$vbbFM+q#`C65V%Zml~fWYe{m++H_^|0d!eix2*LZ z>d+|ZzNPOvPW?h7RVi9byCGkrXW@a_m3Le7#MiC_;kJpPM@F&&1jD;(fj3h9Ck7C^ zcYYM%7;?#E#05;x%~W-U8s+|2}}XUan0zykhj{3 zk~2<~H&+FwCI?+qPo)#EY_A@SQGC=t`Y?UVtk%d6vzvJg@cfzkPK_4T1ox(sdf)9E}X^xi-3?h3$OpRQ!4Kw3O=7nrYC+Jm|^r9(2UVHTk)ygRetlt-bHRn zZPjJ)T{mvHwH&^9`oV|&2$7D?=z&q7vh`i7wE*mMUbkBDZk2D{wJ$hD5c?u7$fn#s zQ^y!X8&a1(lrts32-H+U*K=|C0+6?qylGTrQH zom%(fg;G*{iD=RbzuLI8VjI9ug> zU+4<^;7L0)dh~^O=1zy+IJ#QLt5dV#7yNqw;W{D1ntR?O%+~BWT+_>@=Ut$I3EdvT zH)i9i$y7{Vt`fNa&~CkHwQW(^mY;2Fu#FdQG3I}r3Ki{Pc59Hp!G9)jzwvr*)Yeh9 zgr|W5_Ttf5_s(FmH+dr}4kj5-J5PGV*eaK@#k~94U7!?S>HmiWE;S2D3H>f%-`Ur0 z1tom;z1zE;V(jxRor3g?Jl_+SnE>1%?qa1N!3%7>CSArZr-?4?`&8%>7Vx@hN}H2K zIMo-JNqS*tDPCdgG*w|W=s8O%`_23wK~BQ(hfF#q0-BFY+bjvhzgqxsj2Wi*Ghp9# zpdWyJ8?@fs9cE&ib!#5!NBqUElBC90Jy)?;@2^qzp6_nTPhDpUh4F_AZ{wQL z&)j{)JHs;Z_}1xrL9JBvwom|CjjIuBQp^_{7y8gi3Eg?X z)-STXa$d8{g3x4tRQUCG)PqN#?wuD=5YG^J>Tuyk_$D&!jyW~d#kAGP)U~Mm5?15> z&WoKTxG6?CO8_Lp2%v_Rp)lbqix963yP@ALW??Oo%U|9%k{gP1-23`+5Ah(9GP-*7M>rLcNVbLen$WY?FZY%=*%$Z(I<3;5?x2-1L#D~-W;6kQf=!+_lV zboX%DyEO#;eDa2&WWrxNLOaC)1nPs?IvtJs> zh$mWum3FA7s5Fv(cd@$7NfhH=NIT z-U1e>(*v~b98`VPmv~((59TNY2?KCVWroMXUMKE)7T>^t3CjQ1F<^u1A=X?DExZ@ijP(uj;j{=2lh#qJeyKVyZ2>uTT zm8jncAV7%-+rhdKx*27%W!f-r6qsBO0*ZqzY=oUD6mj%rF6j0s2JS>ONH-F3%f z^~HbBWABVYDvuRe8Ii){k&&6mR#IkGl#!LkLu6#96uI_DsLUiQJA1E|nLSF6hJN>X zJVZa$w|f2l`5oMI&gXOPJ?9?x^S-{hfbhBk@jYiIkr(Vb0GC(fWPF0a-8 z8>fi3o3do`mGRifvldtpX|a&LqOGOYeji6Cy5)Cuv%5HfojdNH>xvq8nGt1al6~*O z$I~WU|B9L{vpfYlR&a8W2<_sCJI$ZY5M)l)KdgAN8#}tUK~RH|Pr~=MmM72KI-@3@ zkXSJ7N_wS>N;X(-7e&0wTA=`>3;2u>`yhPhvO{(a2j5&Oxhp&->qL}CM@IDqLZBJWA@&P$j_eRxpYGA%APBJ<=} zFOPub4r_ch?_u`sJwICmGsVj<4+gnak}K0P9g`=oq2joez=Mptd-^CDsWBa3*zhnh zrI+LL;JwzbC#K4n?G$Yzv^3>~O(N947Si&61Xk;(nuy0$YN=GMUpAkB3zE#J+7N1t z8|8`Ld|`0BSmh50!kVpaYazJNe*{+fLpj*m9&5U_^j~d%APB!Y#=2o6*Dd{5g)t*M zNOqj(hk5$U=ud2#{!Xpjk23_$zMxe87q{!12i&brL*A(WPxOeU*A+60zDeDW1YVmn+a^yP0s&bLw=_JIJo2J(`mjmD_=2FR zuch1`DbSDEkFG9B$Zbh*PTfI9ufMHFFtGO_K9>v-SS^CdQnp?ai0}VmkaTScxS@Ppv`MuN)*GV#B>*+pk$Ui5RBWO38w?DS!_~9-xJZnA zvjCIFqrmPB!6QI|8Eim;Tg+162=M1;VF#u)ux+$3Tx0McNRG9e2X=bE@=tCaw4||p zKTZ$0LVQ7SKL%sB|4Mr~1aMG&@i1tn!_3oOiSo$_wFdoZa*;VUL23dA`;mYksc}GZ znTUEIo9N8b%0eOSCB|FKd+{l&0P$yt$ly7zV(}34H8*T6|1v!QuEg|A9wBt<$<-p| z-6@AZd!2}$;bIGhxrX|j11t;*^}T`Pp&#vUJ`xbj82)%Y>rjZdOml6Cvb24^jkxN3 z(|m<2+QS{!j6a?phzGQ9=xMjBpW|o>E)*cTF#9Zvaew@?rQo-U`4m-0qxh@=L8>wY zm!#0RvZz}XO#%y=p3FM)c2Y%=k(?*Kf#Ka2w1vl7?Z0Hg@c@cdnB7Ob?#2ZdE;i~T zW*s4U@==udBvO+c7s5``-%1BugtLj$(51mFU)=9UPI`^LdHN)%A+mzj?_o=-K)J>O z_-45X#>gGmT&5#*7-lMS@hhX#Vn>lP@-#6zPt!g8m@WOU5gqtTBQH=~9roKBy?5_P zuXK^6(C9G2g5^(XsyXoZ^w$I9QSrdJs(_^TxjVn~iV~YePD%!=X^-;j_GNxLPlvBl zTW8_`5bUI8-SwPKeniFeg8*vgbhR`6(omq6NTw8N?uaF|wJyZmZun0)9B zw(}ercOBl|0jTp>bB$~pYan=P4sY7u<|%?-Zv7G>jQV`zO;GsVTyW9-tJsP$h_d~J z`|tLMD>`b*XYy*NMi^KWE77jH1cK10+OFZI~W*qt)GsHMkgMA zO>SH={k|xbwu{x5_w96&g~yh;0k7YkZ=!@_$#~S2p?{`s^hK5l@?uj)o!Y6=AMo8y zI$0M|-lWkYFXPM|z#l^&Mgn=t{j+JnDyQ94%=A{Q{ zmsH+p6WQmh@~aKzSC}EeAKL z3@pUs9DyI9`u0rpQf=mLRn-?t%Z^fSLDbO0pvHCm%z>;uV`n&2-W(kAJ-n>z zQ5|{|riMT?tmHh{->mqTsIjwye}LsS3rjIKX-cPtT*~Y@0+pDlTyWoJ^|U$ zGW83>GgZP3PdEs1vw8)Npxe$jDFDY&NG zWawLthQg|0YlXHj0whL;Z3rfY;ZTDBM;fq-ZJGs^MPh!z4JJS~*9+!h>zo6L(P9H~ zKW?n3;4li}@h7N3+2u&R0@W$%hoXDdpG^1mhWLW=9lwB(4+tKw+`Bo@e>N!?yz-Sa zt=ZJxw*uZBGrkO-b4YvGh;L-2>Ki;Sp2$21PzrhV<<4tTmlFP&PJYeV*esf%7e|~9^0~Bqyac-!! zbNe|;fxabop%pV+^_lg26p zJkC|QCY_bq zuAA1-G;{}<{HxN|x;8%{a3mU7f$jn1f~HYXdNCTP!oz0*cD&`7afbFjPpQ!d;u^W` zAKQQFFQG+}J}dqUDdPD|7-bdH-1)n6p(!l+?+=*>DsoU>)A6AJ&Ml~$evGx?%opg+ zIJq+kMcuxGtYR-J<(@p34)LR?bf7m^sBrRQto`FFn((E#!%wr1H{?(B!AU6HY1Ih{ z7Bbfe3C{l3nEr;nf(azf{MI7`0VbumRuC&hfLkOE5)h!}en$f^i3udx4q754 zP!PXAffkCrzzcw)^cc}2Iu_OsGJ5xTA3X^EGR5dLuiW%*$7Fb1<|3d97wNU!;V zg`2>EYP~=FkOu(BjL{}2%~DOa`8P#1hYtt~g?y4VajR^49Uf@qcu=JbFlA-St7%Ur zs;3ny)}2rkuL?_FitrT+ffP7|D?cR5KwEnItyK>t3H;U9JT5C_GY(lau2dikQX+$z zS{P%vV&c*egZ9G;R`{$}902F8)i_&!2V~F7gH~=2L&t1aX@k2iJzZ+%%|+0k4Ua-! z@%G1^=ud~Lb-YZQ5WCMQZQ^F}K+P0lE^RpVW-FmFi` z-v=l@$QDo+V@?|6?<|}k)30~(t~!2@yJ47VWzoFSEO52FuNO(Ut)FMQLhuA*qS^?4 zbxS$C*tc*v-`P;lo6IV8F>z|(pVuEYp!`b{)xCjOkx85oQ*BU^W`XQiJ8>7T z>N1(N(|K=ryR^b+84w%RNHihQq^20gDw2n0K0-$$ALm!Pt7w0FZ@4?GEFWl9RI8rJ zM2w#D)5*klGrL?TF2%1p^}IS~UPWV1jQ3;EL}5R_k}+=ge-B6mwk#BL<$n*b@5!~) zX1n@P_lrF4?*EGt7}XCq``?tts*&6{pW%oi3KI4wCQ25o_4>D?aVyYhw6*tjU$F2S z%x#l`PXmY{o85c4g6+l|Jxd=MZ6}hAxefqe@59~>!6++x4{KX;{kE6>`r>eannnit(?{8Rp2Vm>{ z1r@nh9g6h7;*9+w<3FvD6)Sx#D5Ge%KiMmYmGI-CL@7o)!ES?lukL$hiuDt)-l&=j1Xu>RGhioxrkD89#EK zgvYmqy@@i+13%NKY-RU>8(q5n^ieqkI5XcitmF)wf$bGiJZH<@j?c$HaT#xQ>Q=HN zLw{C05}>!y)L*ss$lD$Gwo#bI%^$9aneFkjc}lb1_UKPPV`c0rKe^`>Wghwg~q zS%-fnc8;n-f!uw0&wy@fJUY5+2rGG^;wfatH}1+oW5GwjO?V{2*PN z9Rfd>; zl)fC~7ljz`68kK5$c2YL^|S}+^Aiy~HYIR9y0_qG=+XOF3snM2)&3H^v}U=~8fTJF zH~I^_3U~R+Nm9GSJM5b>@o-7{CVM~bAs~3>ahi|loOKo@ZTBaS;L&{6PsM>f^0TsY zK&mGjY!&D!oq?n#&!6;DEWTAIZ7Sz&eM6+n$&s~R0Gl<`heBYu z{CbR~3NQptx)C8U3}TaXExB3n19!pO;1ysB7ZB@-9oQ5MM_e|<>*_7>CaSYpjzvf$ zMuNcoVbb3VLowO4fINT$uc;&y}rAA=YvN6m&ydt(-qE>{+4BU%|?XAt2a|G$B)1|0a@ z^Y@=eYisLA*z{>BQzS4XdoN3Sxz(+l)i~T#2xWLVri(6@2WahM?vz|^Vnj#?s*0UZ zf?Y5p|DfSMXi2JU{4o3Q(r%Dih2Yxp$J8nwxMovHJ-17t)R;M4zqIv$mTRGZj`tO% zj~DRo1PUJSkOE9NZYc~yuRzHjC?31N5>-Po9^9DXS}jx&kjr+Yjgc6n9T388myZBx zN9+pp7;x!|eSWV}^DcDVzMC)z4?H-};E@{&lKdx@OTwma_*>cmeq|O9 z3HTfr=(o#r3bUFmoWJMfp0R8$5pQLPKDXC|XxU}?YUv78v*;T>`pbrY9}4jW4}bcn zgaJSJzkgGe-U^ijPdn}BMGi3%o)4^ zAO@=Um1vHc$IKj3lo~Uo_+X$D_~o?GtFMi{PdnugT0-K{rH(Xe#|$!1XT=#z3xjND znmxhgg2wdtU)kAf)k|gj0-0F}v#ZUNhT%I{| zr;021*jrZ?9(L`?a_Bx)n#vIcF1zU+{_F0A2FHu*mYDWC&1~^t7Ka!Kx(p)H-Vp=u zdWaSAdDt}Cgc5|+nnNx0?QWCq16)Jr^9l4B;OFL^_`y&k&(sYa@pmlNpXR@Mh~bhW zZ3M_bBd|699Jn`zmtDBjqw}Ep>esm+$hvnl8n_;GBwiYWzAT#VQ)N9F6AKW_H2Djk z?ySkYm@1oBe$*}#kHXC;H=}xh#jiv-_EREAEC_~Ipwhs8o*JE*E}v{a`R?SoAwaHnuCoe1$Gv7u46zwBiHNEjY2i~2CpN+8_H(!(^ zPKE1SF3CC0Rrm1QeG0nB`Aj*V)MfsF+G<0zi=VaK z3N&`BFB9nt9@^!n&;-89UZ;J)J$HZFKSNVMg=b_$;Zg0&K?!%VnGPO|)u9~>>cwwh zFRuI?D|k-_0(f{yC>&`ylkKShvAA{JCT5H)&Mo&y*F~lDZ}@xgmFNK#0ZCd`(&6{7 zJO()>WF79BU+1`&&~d7CZt#lMZYzADt-eeY_S7)O={tU!`%q|+RdYhd(IdxfJ&oVL zP{2N4dnvb9@?(S0C+H!CCxn%RBQNVBc{p8j-zKa)R;9^ykOM@hdgiMc;)Jde?ID+C z;C^%^vXQj#Xb|2LA?Y&ug_6XrzRXR??|QR&(L|w)pHAqXdvk>PYFLN)J43xh6}rq4 zL;EX{x2IimZ;)y}rDkfs#P|jRR8!vXs+TNtDRMW>M=yTXRb&67R*~oYV_K1(%uaRLy zRcCgdGNx8jJAQKaqEC1nJ*pro{GuF#& z#A}DZZb7_Shp=@uY(0UEk>EBAfdGeR*FRQ(5pQV(49BaG7$*q=7R7{(5(qG}rHW%1 z^;$sk;YgS%IP+8VCn!fGnOq5Yr_Db8xLZWK>j9nyF@McY(SBu5%FhliRaW%=_hAk@ z*GQO?orr<|mF3Ih1~j zk8;Sn0mI=g9_8!BlP%%11-6tNxmH<^$qWip(yyI8act-dgE#2(#o*fU7f#>7FeOdR zeq*s&RN;a+l%C>y9-u+7kNB1GEyh=M zP7Te*3xA0>7Wp@vr8M^gEq^^>E;rAMkYI_+-)DdM|fa zQC;T)9;-{C`JO&n$`n7VC7#T#r~bM!&jNkfI~LceH1^vLo+14&*g0RcHZ#R_CIC=R zUS+J~p|xK)rpqbvRKQN8yK}cR9X>*;HG{GzdFc$GtXxoCqAFCCf{xieV)%d^|G7Rp zLf+wHUX9g2tAwjqQ4SQHwcb14anQ8}K$Ygf-XuLYr%07=glxOhE9#o6if0eSF49^g zUd+%kNXc2quiX+gARMymK;iqZZ>uQ!Tl^)=<#v6vqVV#lrij0k)ad){I=$-4aLzT8 zpv0^acQ#0n0!{5zI7*{Hosf>t6?B|UnvV>1&EquHS&uMEcHjW{qLQX)0+A?}9|GQY z_?6GKL{ZaAI$^M{HxJNVpsL@>`0wF5?5Fd6))J9UW;vDd|9l&qP-G$7m-a~0-*@iY zUS^TTZmasM&v=GUyWVPOlY%Bjv)>1E6D znItnn;Dq1ehtEa*owEVNvm=V3_O*ru3Yxqcx1J9U9+(s=+sgRk*RE@jqW)wRAMmR6 zxd%%{f1`d#AjmfAZK}mYFZRUCoVd(x)r{e5+uI?4I7~vSGr*)Ap&oWzKLYfidH Tm?6|W0s?E?aeD_-dHMeUAp1P3 literal 24231 zcmeHvbzD@>8!o#`N;i@#Dcv9-xO7QMN$Aqj-3W`6l+selky1fWB%~!o3B|+!6_gNA zKtfog?(PzTKb5cg-@W&IbmpCz_ndcTci)HSIcH~=aDb04AWwn%5 zA!-g`21Hy+5DtDWrzz~%b6|k!f!5f&`xb#EkyZB951!LMqfll@jrFGda#>*&_B=&3 z73(Jluz`R~p`gKW!QoJB43I&hJtS z`bpgXx4ICZ2=Ea(XgK!N$$bc5ueG1ua)=P)a&HEV##m?>9vBv_hbxaJHzQrm)CL(c zolBcRR)SSS)|Cek2q0WlpwG3^C(&{0_LoaOLDv@SWO5zNkd{o=xC?#@A&tP$&ASR2 zD~wcG%kv$XZnf-OW%9!|*(pa0(lQzR^=k~5z}?6c1UgZ+lOUylm4 z10B6%WTfpMlt+Ep)}e316S;EtanHb*KYL!_g|i$dr0vA+cNl*#_Z|{4+-J;nmNOe! z1KOOFP6%pJ@LiLVfP<;vti~RGo^G!8{MMGv&Ni0bmR=5lws0(cI0c+!)eMd$4*$Yv zxelU&s~WrPc0@aoz$sSEEZ3*dHW<#lHE{sI!y_4^xbU9l z^th!^Vw<-t!1aypS|^EB*_trfU|4vJr~W%|+GO#RTBhCOY6~oz0OTBabLOYhQ8Ulp zHFMOosHx!+#-ZA3K^|N0_Rnhcyg+bleK1k!?vUV^FM~6%a#4LN*uOz=%MUDWd0t1&8Xx zVPFOUKjU?0vHh4_tr}nGTIj-r79l*>yN;N@i!n(#&HHfnrsO#7L-)ew<|UkI zG-m1&1{|Wwh$f2hPcg8~u2p8?lqw1SqNfg?n;@}zEUojGn3;5n)ktl`CUlnj9xN;{Hm1VD!dwOn#k8PU8#U@mFigib_F!Rc`D6NjTA(kP zxMKu_zXkP}7*H%!lME99e}~sEOz_5%wyuDM0B>L>P6-v&pI|2c9hS`hf|-1X+=dXT zq>d6JVk+Tpac&$<8dU^-U%0i_y3+lkoLu+DOh^ne7&`(LFDo3xVuC;vDsFw=fB3Yc zauRyk)RK#g3{GIYnQZ{DkZty0eNvrpv?Tjrvek7<)p|#^xto?B#a%42?*~tP1IQTC zoHbI`@5HESpXy@smBrRixiw&a-<*e0QN3aSAAz*T*@zCtk3}F770nO`LsWK|T3TKu zgM+>YIxf~AdUnEx^Mbv<9LX5XyE@hn7pl?+C|EPECr{WPB?YWybl*fQ1mEyK-TwTw z>$QC5+Jth_~!9RwP$q$HNDu#r_n^7Z!exWD~AWd%;QYO&7YDP1fm&fjkMhIPIWHD zQ8k`t#dQ@>)jkn6sc!bBGXMbs=&fIo89Yu%CXW*(H#5~Up&i+G=-_I4O74ZMPKi_> zWme1 zB4r8u+MdDdzI_~OUhI+uu$3P%@Or&a4oYFaD^A8<4|4*Mf1H3sQ}*3WkF`3Xi1ftY zd`ZdOQzx(5m=&d-H5{sVc-*NT@3_nHdk{plgR8HbldaA6=OuRyav|;33DUNaqc=NY zC+cpC;DE$Zk~{8{nMKzh*R2B-(x>HR_$vq6f<}3LQ|Rm{vw=iC7jk0LK@lD&0r1zF z*I?v}trv%2l7C!hzrr;Dj(@1Zf=^A2eazOy!5e9Y zJpNNRqyq4ZeBSN`x|W@~&K!?=ZG59Yp^TrEHzmrC;(}23ac>yKW7Qxt2L#Y>!x2@2 z;9^WDjN~sot1>(HW}ZW}$YacvqZ|9_$-*qa>dA+tgGV2!j5-^13?4t1A#IdD54xax zY_V18ZZE9*H5&0rQk5IF`h3RJ)z;QQy%I*x`!16L7_1vf42YMyCM60}Ah2k%3GwA_ zYU0qaEApPnS+wry2fo!+20Rd+^5TFbck*>I(C0y#=uKAjxE_TGdFB>&oZMo`i0#)6 zwr!yd#Lfm9_`e^}@8*^TLmS}jzYUls28Yr8KRdSmw4lbIKaRtG=-7$)KMeh*iTIzf z?dffeARwD8*SrwE`pbd-omynI0`sCs(k`oD@@&9kn6)YHAd_Vt!&^wfj}W zb7jF(AV62xGX7ymeDS_Z7oS1MJ6^l)3*_pk_}rw&dEc>F$D$li%8Z0Osfa&n6VCNy zxrE~3RA<=5%dRd5Rlh{{Yf#@e$n9g^i`^w)$Zrl(2L%N=0=%^F?V@bl+#RZ z$KvPB%bbgPJjr?`9#C`?%N-mclhuV)bEuZ~(Hmlp z+x&))Qu{^D(Qx0MU;WTV)b}V_#!iW5(UB-LxSc51Grv2c=`7XJcS#%@X-14_1_98t z%W=a8Kfk1D;C!_x5Uwx&*0%G7Qun8#QBHlw1;s~z6icfXxzVi~Ir8d(;YiRTaAPgu z?DHJjI8}T8(aCw=`KK!oHF$`mXh4tDqVjznox6n3YZz>9EY`Sz zkj`5XNw)*qY82_5Y+8?2a!CdZ_un98bJO077iT%q$$zlo1r#(C?>ef19+23+Zl2)$T8n`-E{+himAH zGhk(Nt8-f0PP?vt-Wt1>08FwCl`LV;pP_f$}ILWG93i~hfS^c9oUclusqEp4Tn!N+su&E%% zw;I8Zf-g{3`kv9QF91qNgF|eA6|CoBp_g>Mnp_oP>Uzc%uS^GOx}41j&aVfMgx2%i z-=wHiPurTm^=4r)753-6#p&eMVOpw3ku!w7JDWu9X=%$6(tTA&$HE=iEKUAni zVg8Y!O3VSpbZl`q1OjJMF-sPT{7FJHKh96xlRu#n`Z2`;J0E_}bm(((s&&)UXRa1< zpi1@DLrRH6U|Aa7!o3q3td5K%k3hvs3kUuE9im)7B$nh*g)RTdN4y{Is-}*X6+>fu zO%;qD6l*lpa{I~G1GvV4{w8dZ{)q>BdJOpNGAzPKOCVISkgx48v%5XVNs+-6o74DX z;hqbGf8k2YbG-Pu7(XEW!Er@XSgN2hXX7a#&%I#g=s~yZfbm+UHf|Gxd-VtDqE{?Y z-BqUesvmnGIILzL&P0`-Cq&v)ZbaWhxQ|PVnRaT=aD(0n6jy}A$6CaRg!L@4Ubg8@ zo59P|LZcx~t|#YY9&T=Fj!AJ>PY zXU%Es7XF#g83334j6NlkF`M#ZugqvG+PuSiBoimmkW*siX@T#54g@@sc&%+h&Y37o zKeGR-q(H?f(8xU_`0?SWZ%Z9L)7CYBTgHsF;f=hC64HmKp^R$DN2U`sWG`@>qxQ** z!^N9qLMuK&wBlQB_!4DEog*3-8bfO3H2)Nz&=hRYM@)P&o}n?P(O>s35$i&UMv!ic zr2$QM^NBNbR{PTj&lXB$R~A{i7PRLZ1$Y3%&y*HD=Go*PT??E+0{hRkW==<7N7v!p z5(@q(Uh8fI5D%Rg2islD&Agp{;Mrp=c+YdE5~|OZTmhjn6ma7-$K8mvnbO}Y#8zH! zb^YQV8Uiy8!<1XVfN7xM>c>lL_Ww}9erW$sbEo1%{Lkp#9osOAcEv0Mws8^ycLTA& z*RCG^6U1V`_k`_HVT~&hX(G~Xd{OrfPRiswTrUw30DNeU^YR_B4%0U&6F(2Vexb|8$7gRb4BE-zdoF zIelvrXU@o(`TqT%<`1~2ankKld^DinFAWl(=bUpR>^fZfpO?mpC}jGYt^cx6=P|FL z!#=4-nx`E|%eH8LAEL{F7THSwP4OXsm+!w`@?m67jUd#`e8WZ6e{Vs!EZf+$?=9E4 z;io114FJ3~dCeO;`>`Jw@7ZXkFpktYtQW!K3+f}{YX`67siY(QXn((GaQyIt2H59| zS`51s-^JsGt9hxoiwo{&!sL|mUX9Yr)bgI@!spsoX(oBUv=6`*5uzM-QuPUy%)+VH z2yx@Gs^#I+ZF$CA>U?2seq=YZrQ3Mr(ae^`?44NUjeAiu68H1FUE6#Y#r=+Bh^9%% zTJPc&-ozLhoLl3bzGmw=#~yvTC>(eE(S3=?Oxr2|R?{D(tl~cW@XMH`7{1uqRh1`7 zdK4EN+FqPB@EB6;Lu2xd3zw{ z2B!SqT_W%{5mR187Di_ z4MuT1*FkMYuF2Avt0Q?Fa#}fExWivh3vRjVUvE6swKrUXY<5Yg{Sm0pZ0Jw+ zNke{scv(wQ{q-n+&rl~_q-hj@`ecKElNGt^oi3b&*83`miE{0UQ|;VYn>!UnlSVkw zlFG6ufe_vZwv1PWLS{xD;n0I3=8?G{@>{*;>S(1vkat(c#*vQndqmlkP`N;V30roP zdbK9rk^R~VGY4cSgq8Z>h=NmIRSzJI?i_qTpgC@&7)gub>z1)vmuURvfCF@~TwaR~ zVav7}X=TEnk&z6TSpPy`0iflK1ld2wSgd#Mfzrwslind`t5=b}kms z-$%qtr*`u$sIM}VY35epk$paKEV4!EDrFT;w_L{gP)ZJjlln8gXtRU^MrS#G)|s34 z+dU#?CvIfCxtGC15**JvE>U3x%6)#~k{A>DU-F{vv)rK?gq~JHaL*{-yC*J0meag+ zRu{c~lR1}`(HSorcx=~KnaK8!o4g3IVPJ1-x-G9A4?Ce~dl!$|2!QJUpGc2U=YvoKsAJa|n4bT2-{{^| zVk0&#i;wb#eIG&KZ)7>PEurq8WI5Fx$K*YE5h}|iEUgVL`zW2ypt!(SYU*hX;MVmGi^lQLqaKZ z-Oz%^kUlr*G^Jhn(9%@mj_cVaI2m;s*DQsteSr-K=>Nv6387wiw4KDh}K=p zgST1jkWjfmYP?QwKytfJMr3JpiO_=a2@VD2Yufv>m0o5jiy!bRf%z5k@f-7$)jng8b>cZ(P?t#kBp`k$|&|7>`=xSxz&FJ81BG>r!F|kikCo!6>voTjp zgi;Au&{i)h96~zQkaTL^qivWa^nKVjX#ceU2qZgP+PT6eZXWREbF6o zx>R{x?2#n>M(^^Dz!Omk=v+jDq; zjA`mDbmGPmy&bz@(B3Ep@<2MWN1)=}`gQ(nKZSBbnDM%bX*vuzpNiF{x4_TkWNoXP zT|+!LdEk=f%{2(XDp%Sk6p_oJ_?70kGIXGVD+S4vdp3{m~r1vJ>x< z_0@DD_j2h2LCvL3>QzDeFaqqluFIJ$*vqPLY$(xxaIl z9l7z{1iqW7bV2NF{ltc0`gW!_Do3F|aYS|P^!mBS_g+k(*FQ;l;ziQj|Hxg&P1GzjtuFdgw0-pE6reF)NCNDZ`Y8Fn z9=Yfw>YLJ#l5Ab%GpTZ5nNhh3N6$Pif#vcp6?G7_5%kwzJ+vsIIgQgK+W*fa>CP3^ z7h_q-C7*Z&m#e(*S_VFRrDA63aR$D_SD8eNLsJ`s-i ztRM@Hxv}Q3Hr0v+_;8=8_N9TRd%j*1hX!TkFV`lslFKn_H^FA3{jveeT`G!uuaz~e za8OhTQ1<=v$_QQ~PflRUKA%`D*mDxdFC={c8x87vpTByzHx;A}dKu9OB*y13HE0Uv#9_Q&y6s}NJbS!pkoX}v&$kUjYcX;sn$DjLm-zAa?zQSOzW#FbJ~A?JMF;M|&L zx5H|%_55$l76dHc#5-15DA_qNc4R<&UpnK3{)Q8M?m*If{*|uoufEHGP@$VeO)#M$ zaX4?Pkbv4C&U>tnulk#&=HH=ozjp>1T1E<>+1I3D`#sC#Uc1S`{HdT%rQ%;h=7d%r z*i>39t@FNE9u)seC@#p$nmqCu;wlpI(l8e9)`ZQxDIZ+o>DLd{M_gG1IbH+F88RBt zAa@7YtdE|cNCWe|0qb#Qnt+vuUwF$Fnez_;V8c%n)Z=rlPiv3W(TW}71x7)mtmW+3 zhKDqBXh@$n?E%Gz|HU#4F8&-!VHocpKo#2~~<$A%3Gr%YK9> zM$?jG>O*ai#b@?G6&6XF^P?fAy&VAjgl9C7bK*^ZnJcvRjb;K9K~ebTJgS3E$JgtH zE04P)9R;?d{QTkC_QL^{8>70hH^*x7<{&;wRfk4{=ZXTr!}jOuXRlfFRYbc1kSUf) zW|i|^bQ#Wr6c#Z_aqT{`cU;Y#ZfCQGGK_aeq2=1t68I!QMEun2O|?;|eySiV_w#~M zbC{07WhSlZTEpOHNZZupqi9XRCDaTgwQxsrST6(+!imIyKeEIsigQ%*r16_(IX+hBq?R^RT{g>?NIsc-)k#ZZgV|9}{-$VkBmRJ_rD(@+P;g%;V4>PM zakOVvBay+DLohjp%#O*JlmYz>_55vR;xBIY$}xUaTC9*$M8el8K@+tTy`!%T&2TvZyg;X6 zp{HIAty4T8{Ln3Mt9(^nS=aoI<3M?5L z?Kg`u&F}DtqzG3M2v5Tz(fkyab&AwWFYO`%up@I%8yEnExrK8&a7<{p6w$Z2!~}PI zT)F2}X^uBE0C0(LeakkLRNNn>f5O0ly5&t6lRJXWanYCfY^Mu8YUlUPJvCx`ylIg5 zq{z-L&cUh2|Gc!k71i3X8BkN2Jyy+wD+S@?HFG&gE{1fwl(zPdY8qkxRYY|Y$VQXi zzk8M8njyh8%MrcnedXN!`pUTL85!xvMbvWvPCb)OY;~IACP{EWf7*kISKkcr4cKXf z$Ksi9b;a0MApOMmdOx)?z8qbCUn0DN+vWm{R-~Gi;86n+|7FG8m$zoYqxs7Xtx+Sv zv36*6b3-*$#ax$n8-~nM(aQ6^joW;#$%A$KbLudEG#3Q82iackxd%Bx zaU2P9zq=ylDbvWeKxE)_tZjb2hccLC4{ZJ))ce1%13`+xX4D>)u=GEHW_;NSJAg1f zW@cRszb8IE+_uW64}??2clAq252!E9<;8o|l_w}Jw*JBX3B{>H=N~ILTAiMJ`w7qD zl*s8NT0U&$hui_5L$vnB-Rl0n1EK6rsRjt4!nPG zeu9Lo-=YX2e9vBEpWSJ9>)w;k_X!H49xu7-Gi6@C?%~7lmwVo=q}Hy&IzZyqi{Wb% z+NF0$J|G?e?i*bpD6W7QX2g4aO!@HP+ck~WLLSwg*OP#W zp|IjnP_b=Wq^9M8l%tZXZDNHX^L?jo>E0f2E+WK2ku7YTpYHHMZBn_3R#&Of`*A;p z#0&5rWQe&$5;%P#Mg>9Uib*i)FIJ<*hrG>QN>x)>o#WoWf#a?!ElFb$Zb@OHSz^;r&KsV&kW+x0& z?;E9i zTIrFYJTND~w$IsNU?Z>y5M&!<3rDgr4EU3b#*=t=aZj>^%4oI+Ht{*H`0x*?ow@zt z9N5LR$^p7WYU9OlGu!czo&ne18I9hhA{Bv(cj@2M6@Ar_V|8!)E3!%iZPoY#MkgxW zj4v|JPWy#QE=Eb+p9I`q6@-@2OsB=FI^SMSUyXSL4{Im!f$BlW4y;&Ykj)~4r8lSX z7wT&G2~SP$8^QU>XXUHwO48M`9Oj`V1RWM&$)wyEQ3f}_#W`<;ME{zjKPc zy~Cesmhb&DMPl)Fkg?G@e_x)yM<+rr#OLaH>Z>Xe<;^*!o)rgPX!wEv5Y|hdIwEqN z`&XiGfo!#2y+TAE{&u;mm9v~Di3nG)4WRCNL)2Q$)S74Mt$pX+n%$*^yi`qKO+Xhk zSaT|UEf2*(aD>qM&_;&k@v|D{MC~zp+V(Z7!^x}reR~^8IWK%`+z)bPAo@$lsyf21 zrOmIZ`Q-?V}|BQoxwon2e z^(!qq@_SDchVh`-?Z^H?J#hY3KOWw+=b{s+|By-h_n0u}w$Z{#6v zk-!?NUtS#MM>+Eq&T0NyFVqyRow7QNqal1s69O(B;gTzNT8B`ZJWkme*(wL?*N{0s&51YWcA}*}!U5n*OrZ2xd{aM~u zS`8GswEAB~)KktD5f?AjuC=U-yl?S+$Gf6*JWK_;8VcZ1%A&TWUjQgxhn_w^EADlA zg-ciF&uJX46+T*-^4O}_4NjDO{W1m8@5t{L4URV#GgMHXX~4kZ_8o1{dO-m~NcfOM zcZL1Xd2lAoQt@f{3wI^c(1GgC4k>(q{RyYygQ#>$m9nulwD2fy*6MX8itr zL66N@-CYj|U>mPIn%n-8YEr<)t{i!%z`ZQ49+f8FQ+2x-WTNKumXsyY-8GkF;VR&( zK|+(S`P?r5mFzXyggIEdk6VmxVW!)BIoD0>R=*LnY#TpKn1l@CmN(L&6o=FZ50hY%y`Y|9_jx-hhgr*n~`Zm9WY` zflQpZct60WJ0(zmij3tA8=-OO*N@!x`V8-Arv#g&e3B%uJS#9ju{@XkG3p2NOO)_} zYAm`{2cyj2-))Jm&vPop$-3g*e0Xhdy!>IGihKkrv_JZz{qu)J%?Ln<8#_Y@wscVq ztgm>9Z`zud?S;zG)p~>$9-E+?j@K7}o`z<+YT=V8IC8*WDm&TcA{m$WjYBt>L~Uh* z-<%M)K{_gIN6{dq(m%-1)83fa_GXlZ=Xlzk@quj>l?${m`2y@WsOCE^#RkfOf|j(b zcqyj>)igzJdbJ6iC^Y~aBRXeeNM5b^R}6J0U*^;>)j>UbXbykC?*rvc1WouOBNZ{R z{)NH1PeZidA;od_^qT(#iwJWx9cQ!TgZ7-lZ2j z8;leUs?)xv82n|L+i_Sg=8YJi6??W$6stWh%#L#|0wh<@&HAM!S9C3M4d{`}MCJbfmIMB)oO=>nJ){YS@EEu|lAycSP z>`hVy#q^>_Fb66gV$y z4)iL}t3gn1q&aGzN?6mMq&aqfDAAtG2$km3?W8&_ii9o}*h02Yn&bk2Re$Y^LrSVO zi#}zcosa6?X^!5gq7;FONBkEXRRBN%9&ARcEY~WHWp-~d3}g*Tp1wdQ{=7A}k9*M; z@<|DBpJ$)2kQ5@lF6<(f&i}c5q9bHHtmZYS4vz~kt zd}_bNW9MTjLK?SBV?$0i-EoIz>hLJrB7iKMQho`o@QE+?taCgTdfu?k4k{`4N7Ca0 zD&_<7;nl!_?37lKqT4sr8?9X*2oJ*aiz2>x3=YU8H@KF?UOh61B0K1fDpmkfkf~xJ zzK+!30+kX|jQ0uV-oQh+0}SMdIBC3h*W^C`B?_8XyPug1WhB-3c6a}{&EwE2PrMOG zzv{&&;0_+@OUZmd+1GWE(khwu2gKJCu&VS2D{0(Fo_;du9}xlZET7g=1jKn5KViY< zte-W(iulBQ)b4r(vf5mIqrhze(&D~<|Mz=xK|cj76x{scfMNQ703YbK^TzOYbHn)M z#eVSH{-sjHj|2a$4f~}Vf@+iO2vdc1{1FN&xbg0Zf*bnqaOc9wmU#!RPb$j`Pc%C< zzWA@5UpjLwqVWkWHQy71-2VWC=DSps8VVs4-1vSe5FzniDvJYxYWjEnIgh#xU*!r6 zx<96^$dZ&+U4siFX&cPViQe1M&2AHGNYeW|}|efXyI4%**oJ1owFlsrbbR z35k3*iv;84W6L4MRTATj473WBfW**ZR5R#$5^?ZiMN7TKLSwO5n=Xg!!NBG?4?xT%KiA1~ h$jROW$HExvaThCFxpqKK&BvHaE|Ly)aT(3c{|CM2A!q;q diff --git a/tests/debug_getRawBlock/get-block-n.io b/tests/debug_getRawBlock/get-block-n.io index 64fccdc00..ebe39ff35 100644 --- a/tests/debug_getRawBlock/get-block-n.io +++ b/tests/debug_getRawBlock/get-block-n.io @@ -1,3 +1,3 @@ // gets non-zero block >> {"jsonrpc":"2.0","id":1,"method":"debug_getRawBlock","params":["0x3"]} -<< {"jsonrpc":"2.0","id":1,"result":"0xf9056df90261a081db665e538f81087854c642650fa0692a943464924481655f35478f0369d6eea01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a00063081b4aa2b453eb33c052514850c2e6d4f15a6e65656949b4401a2bde9912a0e0bae590798c39a939334042095dbe647e7629bebe254a66a674f19cf763cedba0fabab479cc31ee73250392c92cc91b1aa203be1a58fd5127cf8130729fa5c85fb9010000000000008000000000000000000040000000000000000000000000800000000000000000000000000000400000000000000000000000200000000000000000000000000000000000004000000000020200000000000000004000000000002000000000000000000000000000000000000000000000000000000010000000000000000000002000000000000000000000000000000000400000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000200000000000000000000000000000000800384023f3e20830469f91e80a00000000000000000000000000000000000000000000000000000000000000000880000000000000000842824151fa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b4218302000080a0756e335a8778f6aadb2cc18c5bc68892da05a4d8b458eee5ce3335a024000c67a057cac3e52cdcd73e52bd9e54956e0eae370f00ed41f68edc78266bdb46c3a543f90304b8d801f8d5870c72dd9d5e883e0a8428241520830186a0947dcd17433742f4c0ca53122ab541d0ba67fc27df028cdc4c8669df128318656d6974f85bf859947dcd17433742f4c0ca53122ab541d0ba67fc27dff842a00000000000000000000000000000000000000000000000000000000000000000a0462708a3c1cd03b21605715d090136df64e227f7e7792f74bb1bd7a8288f880180a07a7f245868fa64371563b5e3923fcb3d921305876fa1f36f4781445367d5c75ca011175e17e8a2d7ebb47c50539d89017e13561232f6e85b15c6761318693b9d99b8ff03f8fc870c72dd9d5e883e0b018428241520830186a0947dcd17433742f4c0ca53122ab541d0ba67fc27df038c3f446a7c4145b1f0656d6974f85bf859947dcd17433742f4c0ca53122ab541d0ba67fc27dff842a00000000000000000000000000000000000000000000000000000000000000000a0b52248fb459b43720abbf1d5218c4ede9036a623653b31c2077991e04da9a45683020000e1a0015a4cab4911426699ed34483de6640cf55a568afc5c5edffdcbd8bcd4452f6801a05031618ccd7e8caa0a9e9dd30311c8d96e0a7a27c8b3ecbe5126c76ac04f5db1a044998503d1b38c4c648327d1fbab12cdeec9819da16e6d2847f087db4a15affcf8770c8428241520830186a0947dcd17433742f4c0ca53122ab541d0ba67fc27df028c96fd14b8fdcbd4a9656d69748718e5bb3abd10a0a0bd3bcd89c42a1f459558b78a08a2f43b8e86b5fb1d4c395501fd7fcd22c09336a00fc9787e18e8c0e6f1bef1f72b9fe3fe1242ebb68570b2556f855b441bf6bdadb8ae02f8ab870c72dd9d5e883e0d028428241520830249f09400000961ef480eb55e80d19ad83579a64c007002843b9aca00b838b917cfdc0d25b72d55cf94db328e1629b7f4fde2c30cdacf873b664416f76a0c7f7cc50c9f72a3cb84be88144cde91250000000000000d80c001a02095a18be428ecd716bc26d8f72e835235dd65c9d644cbeba6e626526af643cfa0391fc24d1156b2af9c41497a83f801f7a0affe8d88d49c2481b74aac040020eec0c0"} +<< {"jsonrpc":"2.0","id":1,"result":"0xf90555f901f7a028a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570a0a0b3b279b93e3734b5657e75ffdceb548007affafa9609fd3e3c7ef992ee2fad940000000000000000000000000000000000000000a0f66292ad030498a66ede64a8bd695a6097c52e131b9b76e87f281200228cab07a0491543f00ab597a6ef1842d4c781ea320bb9157dafcf7818cd4de4c594c65cc1a03a48ef62195b0b6613ba1e247605f815ff19ab356dd33eca9a4d0e4708856a7db9010040000000000000804000004800000000000000000000000000002000000000400200000000000000000000000008000010000000000200000000200000000004000000000000000000000000000000000000000000010000000000000400000000000000000003000000004000000040000000000000080000000000100000000000000000000000000000000000000002000040000000000001000000000000000000000000000000000000004020000000000000000000000000000000000000000000000000000000000000000080080000000000000000000000000000000000001000000000000000000000000000002000080100000000000000000010830200000384023f3e20830467131e80a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f9014df87a08018301c4a08080ae43600052600060205260405b604060002060208051600101905281526020016101408110600b57506101006040f31ba04087f4cb6ba2484aa6c2ed335576ba912a94426bdd567e04ad85500ca8f987c4a018a68511767c648cab2dcea0ecebed28b812509d2b4018d92bd0a8c5646dd4ebf87109018301263c8080a54360005260006020525b604060002060208051600101905260206020a15a612710106009571ca027cea1712bbcd17136f1cc9d0199a49a21b9187c43f744fd60b355772bc36c9aa03714bc0de9105f4d3ddcebdd8a0be27d687405f4d5e370ed826a023882221525f85c0a0183020bc8808090435b8080556001015a6161a8106001571ca001d99027cebe900895e5bddad07c12db78315199808f6591baa4918a96da4046a012c12e76a968f478a104856a15448b5a21b56778e53cf81e6fb20bfdc987864bf90208f90205a0bb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200000284023f3e20801e9168697665636861696e20756e636c652030a00000000000000000000000000000000000000000000000000000000000000000880000000000000000"} diff --git a/tests/debug_getRawBlock/get-genesis.io b/tests/debug_getRawBlock/get-genesis.io index 5cff2396a..2459f4c43 100644 --- a/tests/debug_getRawBlock/get-genesis.io +++ b/tests/debug_getRawBlock/get-genesis.io @@ -1,3 +1,3 @@ // gets block 0 >> {"jsonrpc":"2.0","id":1,"method":"debug_getRawBlock","params":["0x0"]} -<< {"jsonrpc":"2.0","id":1,"result":"0xf9026df90267a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0e5d8b049a78427be8c23ebd6811ed436b3a36cc117954b496848b90f0c654844a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008084023f3e2080808968697665636861696ea00000000000000000000000000000000000000000000000000000000000000000880000000000000000843b9aca00a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b4218080a00000000000000000000000000000000000000000000000000000000000000000a0e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c0c0c0"} +<< {"jsonrpc":"2.0","id":1,"result":"0xf90202f901fda00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0e5d8b049a78427be8c23ebd6811ed436b3a36cc117954b496848b90f0c654844a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008084023f3e2080808968697665636861696ea00000000000000000000000000000000000000000000000000000000000000000880000000000000000c0c0"} diff --git a/tests/debug_getRawHeader/get-block-n.io b/tests/debug_getRawHeader/get-block-n.io index 8fdcdf676..055f2eef8 100644 --- a/tests/debug_getRawHeader/get-block-n.io +++ b/tests/debug_getRawHeader/get-block-n.io @@ -1,3 +1,3 @@ // gets non-zero block >> {"jsonrpc":"2.0","id":1,"method":"debug_getRawHeader","params":["0x3"]} -<< {"jsonrpc":"2.0","id":1,"result":"0xf90261a081db665e538f81087854c642650fa0692a943464924481655f35478f0369d6eea01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a00063081b4aa2b453eb33c052514850c2e6d4f15a6e65656949b4401a2bde9912a0e0bae590798c39a939334042095dbe647e7629bebe254a66a674f19cf763cedba0fabab479cc31ee73250392c92cc91b1aa203be1a58fd5127cf8130729fa5c85fb9010000000000008000000000000000000040000000000000000000000000800000000000000000000000000000400000000000000000000000200000000000000000000000000000000000004000000000020200000000000000004000000000002000000000000000000000000000000000000000000000000000000010000000000000000000002000000000000000000000000000000000400000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000200000000000000000000000000000000800384023f3e20830469f91e80a00000000000000000000000000000000000000000000000000000000000000000880000000000000000842824151fa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b4218302000080a0756e335a8778f6aadb2cc18c5bc68892da05a4d8b458eee5ce3335a024000c67a057cac3e52cdcd73e52bd9e54956e0eae370f00ed41f68edc78266bdb46c3a543"} +<< {"jsonrpc":"2.0","id":1,"result":"0xf901f7a028a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570a0a0b3b279b93e3734b5657e75ffdceb548007affafa9609fd3e3c7ef992ee2fad940000000000000000000000000000000000000000a0f66292ad030498a66ede64a8bd695a6097c52e131b9b76e87f281200228cab07a0491543f00ab597a6ef1842d4c781ea320bb9157dafcf7818cd4de4c594c65cc1a03a48ef62195b0b6613ba1e247605f815ff19ab356dd33eca9a4d0e4708856a7db9010040000000000000804000004800000000000000000000000000002000000000400200000000000000000000000008000010000000000200000000200000000004000000000000000000000000000000000000000000010000000000000400000000000000000003000000004000000040000000000000080000000000100000000000000000000000000000000000000002000040000000000001000000000000000000000000000000000000004020000000000000000000000000000000000000000000000000000000000000000080080000000000000000000000000000000000001000000000000000000000000000002000080100000000000000000010830200000384023f3e20830467131e80a00000000000000000000000000000000000000000000000000000000000000000880000000000000000"} diff --git a/tests/debug_getRawHeader/get-genesis.io b/tests/debug_getRawHeader/get-genesis.io index d73b97175..4aa422bd8 100644 --- a/tests/debug_getRawHeader/get-genesis.io +++ b/tests/debug_getRawHeader/get-genesis.io @@ -1,3 +1,3 @@ // gets block 0 >> {"jsonrpc":"2.0","id":1,"method":"debug_getRawHeader","params":["0x0"]} -<< {"jsonrpc":"2.0","id":1,"result":"0xf90267a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0e5d8b049a78427be8c23ebd6811ed436b3a36cc117954b496848b90f0c654844a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008084023f3e2080808968697665636861696ea00000000000000000000000000000000000000000000000000000000000000000880000000000000000843b9aca00a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b4218080a00000000000000000000000000000000000000000000000000000000000000000a0e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"} +<< {"jsonrpc":"2.0","id":1,"result":"0xf901fda00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0e5d8b049a78427be8c23ebd6811ed436b3a36cc117954b496848b90f0c654844a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008084023f3e2080808968697665636861696ea00000000000000000000000000000000000000000000000000000000000000000880000000000000000"} diff --git a/tests/debug_getRawReceipts/get-block-n.io b/tests/debug_getRawReceipts/get-block-n.io index d3b7d801a..bcf3e1d83 100644 --- a/tests/debug_getRawReceipts/get-block-n.io +++ b/tests/debug_getRawReceipts/get-block-n.io @@ -1,3 +1,3 @@ // gets receipts non-zero block >> {"jsonrpc":"2.0","id":1,"method":"debug_getRawReceipts","params":["0x3"]} -<< {"jsonrpc":"2.0","id":1,"result":["0x01f901850182ca9cb9010000000000000000000000000000000000000000000000000000000000800000000000000000000000000000400000000000000000000000200000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f87cf87a947dcd17433742f4c0ca53122ab541d0ba67fc27dff842a000000000000000000000000000000000000000000000000000000000656d6974a0462708a3c1cd03b21605715d090136df64e227f7e7792f74bb1bd7a8288f8801a00000000000000000000000000000000000000000000000000000000000000001","0x03f901860183019538b9010000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000200000000000000004000000000002000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000f87cf87a947dcd17433742f4c0ca53122ab541d0ba67fc27dff842a000000000000000000000000000000000000000000000000000000000656d6974a0b52248fb459b43720abbf1d5218c4ede9036a623653b31c2077991e04da9a456a00000000000000000000000000000000000000000000000000000000000000002","0xf9018601830257a0b9010000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000400000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000f87cf87a947dcd17433742f4c0ca53122ab541d0ba67fc27dff842a000000000000000000000000000000000000000000000000000000000656d6974a016c82ec8f9ca85b24056a511f7cf791544abe2afe8e59f0d08d17bc2cdc99f81a00000000000000000000000000000000000000000000000000000000000000003","0x02f9017001830469f9b9010000000000008000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f866f8649400000961ef480eb55e80d19ad83579a64c007002c0b84c7435ed30a8b4aeb0877cef0c6e8cffe834eb865fb917cfdc0d25b72d55cf94db328e1629b7f4fde2c30cdacf873b664416f76a0c7f7cc50c9f72a3cb84be88144cde91250000000000000d80"]} +<< {"jsonrpc":"2.0","id":1,"result":["0xf90129a07086584538609b2137cf06f82a5e0bf13a37c264b2b262e73ff60035b21e41148301a5bab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","0xf904afa0336910e521a515a357579951fc6f731a19e12562574e9eb77651d5e28fa117f88302a903b9010040000000000000804000004800000000000000000000000000002000000000400200000000000000000000000008000010000000000200000000200000000004000000000000000000000000000000000000000000010000000000000400000000000000000003000000004000000040000000000000080000000000100000000000000000000000000000000000000002000040000000000001000000000000000000000000000000000000004020000000000000000000000000000000000000000000000000000000000000000080080000000000000000000000000000000000001000000000000000000000000000002000080100000000000000000010f90384f85894a788ca96a910bac854f95b794776c1ad847dcdd5e1a0101e368776582e57ab3d116ffe2517c0a585cd5b23174b01e275c2d8329c3d83a00000000000000000000000000000000000000000000000000000000000000001f85894a788ca96a910bac854f95b794776c1ad847dcdd5e1a07dfe757ecd65cbd7922a9c0161e935dd7fdbcc0e999689c7d31633896b1fc60ba00000000000000000000000000000000000000000000000000000000000000002f85894a788ca96a910bac854f95b794776c1ad847dcdd5e1a088601476d11616a71c5be67555bd1dff4b1cbf21533d2669b768b61518cfe1c3a00000000000000000000000000000000000000000000000000000000000000003f85894a788ca96a910bac854f95b794776c1ad847dcdd5e1a0cbc4e5fb02c3d1de23a9f1e014b4d2ee5aeaea9505df5e855c9210bf472495afa00000000000000000000000000000000000000000000000000000000000000004f85894a788ca96a910bac854f95b794776c1ad847dcdd5e1a02e174c10e159ea99b867ce3205125c24a42d128804e4070ed6fcc8cc98166aa0a00000000000000000000000000000000000000000000000000000000000000005f85894a788ca96a910bac854f95b794776c1ad847dcdd5e1a0a9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc0a00000000000000000000000000000000000000000000000000000000000000006f85894a788ca96a910bac854f95b794776c1ad847dcdd5e1a075f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d2a00000000000000000000000000000000000000000000000000000000000000007f85894a788ca96a910bac854f95b794776c1ad847dcdd5e1a03be6fd20d5acfde5b873b48692cd31f4d3c7e8ee8a813af4696af8859e5ca6c6a00000000000000000000000000000000000000000000000000000000000000008f85894a788ca96a910bac854f95b794776c1ad847dcdd5e1a0625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455a00000000000000000000000000000000000000000000000000000000000000009f85894a788ca96a910bac854f95b794776c1ad847dcdd5e1a0c575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e7a0000000000000000000000000000000000000000000000000000000000000000a","0xf90129a02c83609cfc22e88869d2a43ad288a7c6930150fa5fe463ef0e138bd38b679f4083046713b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0"]} diff --git a/tests/debug_getRawTransaction/get-tx.io b/tests/debug_getRawTransaction/get-tx.io index b8eea5e24..21c79656f 100644 --- a/tests/debug_getRawTransaction/get-tx.io +++ b/tests/debug_getRawTransaction/get-tx.io @@ -1,3 +1,3 @@ // gets tx rlp by hash ->> {"jsonrpc":"2.0","id":1,"method":"debug_getRawTransaction","params":["0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b"]} -<< {"jsonrpc":"2.0","id":1,"result":"0xf8938084342770c1830131348080b83c600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f38718e5bb3abd109fa04bbfb315c19415b5e39df54c30c5a0c8d5e8100fc5e245e67623ff20dd8390279f0a29f1401eec72972b601f590b17c904db69e9ccf3e10384e4da572788269b"} +>> {"jsonrpc":"2.0","id":1,"method":"debug_getRawTransaction","params":["0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e"]} +<< {"jsonrpc":"2.0","id":1,"result":"0xf889800183013a548080b83c600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f31ca0d642ba4d1f9388c5fd312bb9fb42d189a0b3c796de55093c85f30802a85147c8a037aa8680923f811a6988c03dd414ca00cd25d6876ba5925c7ca8ac6aad21669d"} diff --git a/tests/eth_blockNumber/simple-test.io b/tests/eth_blockNumber/simple-test.io index 9d2b74afc..e06bd3671 100644 --- a/tests/eth_blockNumber/simple-test.io +++ b/tests/eth_blockNumber/simple-test.io @@ -1,3 +1,3 @@ // retrieves the client's current block number >> {"jsonrpc":"2.0","id":1,"method":"eth_blockNumber"} -<< {"jsonrpc":"2.0","id":1,"result":"0x14"} +<< {"jsonrpc":"2.0","id":1,"result":"0x2d"} diff --git a/tests/eth_call/call-callenv-options-eip1559.io b/tests/eth_call/call-callenv-options-eip1559.io index 6a595541b..133cd4442 100644 --- a/tests/eth_call/call-callenv-options-eip1559.io +++ b/tests/eth_call/call-callenv-options-eip1559.io @@ -1,5 +1,5 @@ // Performs a call to the callenv contract, which echoes the EVM transaction environment. // This call uses EIP1559 transaction options. // See https://github.com/ethereum/hive/tree/master/cmd/hivechain/contracts/callenv.eas for the output structure. ->> {"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"from":"0x14e46043e63d0e3cdcf2530519f4cfaf35058cb2","gas":"0xea60","input":"0x333435","maxFeePerGas":"0x4426f2c","maxPriorityFeePerGas":"0xb","to":"0x9344b07175800259691961298ca11c824e65032d","value":"0x17"},"latest"]} -<< {"jsonrpc":"2.0","id":1,"result":"0x0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000c72dd9d5e883e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004426f2b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014e46043e63d0e3cdcf2530519f4cfaf35058cb20000000000000000000000000000000000000000000000000000000000000017"} +>> {"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"from":"0x14e46043e63d0e3cdcf2530519f4cfaf35058cb2","gas":"0xea60","input":"0x333435","maxFeePerGas":"0x5763d65","maxPriorityFeePerGas":"0xb","to":"0x9344b07175800259691961298ca11c824e65032d","value":"0x17"},"latest"]} +<< {"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000c72dd9d5e883e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005763d64000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014e46043e63d0e3cdcf2530519f4cfaf35058cb20000000000000000000000000000000000000000000000000000000000000017"} diff --git a/tests/eth_call/call-callenv.io b/tests/eth_call/call-callenv.io index e448563bf..32f15199b 100644 --- a/tests/eth_call/call-callenv.io +++ b/tests/eth_call/call-callenv.io @@ -1,4 +1,4 @@ // Performs a call to the callenv contract, which echoes the EVM transaction environment. // See https://github.com/ethereum/hive/tree/master/cmd/hivechain/contracts/callenv.eas for the output structure. >> {"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"from":"0x0000000000000000000000000000000000000000","to":"0x9344b07175800259691961298ca11c824e65032d"},"latest"]} -<< {"jsonrpc":"2.0","id":1,"result":"0x0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000c72dd9d5e883e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"} +<< {"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000c72dd9d5e883e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"} diff --git a/tests/eth_createAccessList/create-al-contract-eip1559.io b/tests/eth_createAccessList/create-al-contract-eip1559.io index 6bdb877ee..f384099a4 100644 --- a/tests/eth_createAccessList/create-al-contract-eip1559.io +++ b/tests/eth_createAccessList/create-al-contract-eip1559.io @@ -1,4 +1,4 @@ // Creates an access list for a contract invocation that accesses storage. // This invocation uses EIP-1559 fields to specify the gas price. ->> {"jsonrpc":"2.0","id":1,"method":"eth_createAccessList","params":[{"from":"0x0c2c51a0990aee1d73c1228de158688341557508","gas":"0xea60","input":"0x010203040506","maxFeePerGas":"0x4426f2b","maxPriorityFeePerGas":"0x3","nonce":"0x0","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df"},"latest"]} +>> {"jsonrpc":"2.0","id":1,"method":"eth_createAccessList","params":[{"from":"0x0c2c51a0990aee1d73c1228de158688341557508","gas":"0xea60","input":"0x010203040506","maxFeePerGas":"0x5763d64","maxPriorityFeePerGas":"0x3","nonce":"0x0","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df"},"latest"]} << {"jsonrpc":"2.0","id":1,"result":{"accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0x13a08e3cd39a1bc7bf9103f63f83273cced2beada9f723945176d6b983c65bd2"]}],"gasUsed":"0xca3c"}} diff --git a/tests/eth_createAccessList/create-al-contract.io b/tests/eth_createAccessList/create-al-contract.io index d9de6ffb5..3ae1c3e51 100644 --- a/tests/eth_createAccessList/create-al-contract.io +++ b/tests/eth_createAccessList/create-al-contract.io @@ -1,3 +1,3 @@ // creates an access list for a contract invocation that accesses storage ->> {"jsonrpc":"2.0","id":1,"method":"eth_createAccessList","params":[{"from":"0x0c2c51a0990aee1d73c1228de158688341557508","gas":"0xea60","gasPrice":"0x4426f2b","input":"0x010203040506","nonce":"0x0","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df"},"latest"]} +>> {"jsonrpc":"2.0","id":1,"method":"eth_createAccessList","params":[{"from":"0x0c2c51a0990aee1d73c1228de158688341557508","gas":"0xea60","gasPrice":"0x5763d64","input":"0x010203040506","nonce":"0x0","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df"},"latest"]} << {"jsonrpc":"2.0","id":1,"result":{"accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0x13a08e3cd39a1bc7bf9103f63f83273cced2beada9f723945176d6b983c65bd2"]}],"gasUsed":"0xca3c"}} diff --git a/tests/eth_feeHistory/fee-history.io b/tests/eth_feeHistory/fee-history.io index decb4af70..82c53a6a2 100644 --- a/tests/eth_feeHistory/fee-history.io +++ b/tests/eth_feeHistory/fee-history.io @@ -1,3 +1,3 @@ // gets fee history information ->> {"jsonrpc":"2.0","id":1,"method":"eth_feeHistory","params":["0x1","0x2",[95,99]]} -<< {"jsonrpc":"2.0","id":1,"result":{"oldestBlock":"0x2","reward":[["0x1","0x1"]],"baseFeePerGas":["0x2dbf1f99","0x2824151f"],"gasUsedRatio":[0.009853708990006765],"baseFeePerBlobGas":["0x1","0x1"],"blobGasUsedRatio":[0]}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_feeHistory","params":["0x1","0x1b",[95,99]]} +<< {"jsonrpc":"2.0","id":1,"result":{"oldestBlock":"0x1b","reward":[["0x1","0x1"]],"baseFeePerGas":["0x3b9aca00","0x342dc057"],"gasUsedRatio":[0.0016543629259729885],"baseFeePerBlobGas":["0x0","0x0"],"blobGasUsedRatio":[0]}} diff --git a/tests/eth_getBalance/get-balance-blockhash.io b/tests/eth_getBalance/get-balance-blockhash.io index b03cbd1d0..3e46a5b37 100644 --- a/tests/eth_getBalance/get-balance-blockhash.io +++ b/tests/eth_getBalance/get-balance-blockhash.io @@ -1,3 +1,3 @@ // retrieves the an account's balance at a specific blockhash ->> {"jsonrpc":"2.0","id":1,"method":"eth_getBalance","params":["0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","0xbf78c0ebb57c36a4dec8d755d5053a30e67ca87dd5f7c370ea0012d287fe77f2"]} -<< {"jsonrpc":"2.0","id":1,"result":"0x1b"} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBalance","params":["0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","0x773d84fb93989e09f270685b34a4e4cccbec3763a1e7f130648468441c4ae877"]} +<< {"jsonrpc":"2.0","id":1,"result":"0x3c"} diff --git a/tests/eth_getBalance/get-balance.io b/tests/eth_getBalance/get-balance.io index 31c664e29..f7004fb4d 100644 --- a/tests/eth_getBalance/get-balance.io +++ b/tests/eth_getBalance/get-balance.io @@ -1,3 +1,3 @@ // retrieves the an account balance >> {"jsonrpc":"2.0","id":1,"method":"eth_getBalance","params":["0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","latest"]} -<< {"jsonrpc":"2.0","id":1,"result":"0x3f"} +<< {"jsonrpc":"2.0","id":1,"result":"0x56"} diff --git a/tests/eth_getBlockByHash/get-block-by-hash.io b/tests/eth_getBlockByHash/get-block-by-hash.io index 502fc6d42..7ef2d6428 100644 --- a/tests/eth_getBlockByHash/get-block-by-hash.io +++ b/tests/eth_getBlockByHash/get-block-by-hash.io @@ -1,3 +1,3 @@ // gets block 1 ->> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByHash","params":["0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f",true]} -<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x342770c0","blobGasUsed":"0x0","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x23f3e20","gasUsed":"0x4ee5f","hash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x1","parentBeaconBlockRoot":"0x83472eda6eb475906aeeb7f09e757ba9f6663b9f6a5bf8611d6306f677f67ebd","parentHash":"0x91aacf1b423949b99951aeb913b57e486981540c274403252d276bee048a8e02","receiptsRoot":"0x061f3f6edb0780e654014c901221182d4818a7bcdc83d2bee4346808ba112d6d","requestsHash":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x534","stateRoot":"0xf60525ed304d6a8bf3f460fe5b4a5b1fd065317d99ea20b5a35da08a33e4c1a6","timestamp":"0xa","transactions":[{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x13134","gasPrice":"0x342770c1","hash":"0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b","input":"0x600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f3","nonce":"0x0","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd109f","r":"0x4bbfb315c19415b5e39df54c30c5a0c8d5e8100fc5e245e67623ff20dd839027","s":"0xa29f1401eec72972b601f590b17c904db69e9ccf3e10384e4da572788269b"},{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x14f7e","gasPrice":"0x342770c1","hash":"0x1732167826154d3d414236a60c6e22cf99e3fc2542752e164b595473117612f9","input":"0x600d380380600d6000396000f3366002146022577177726f6e672d63616c6c6461746173697a656000526012600efd5b60003560f01c61ff01146047576d77726f6e672d63616c6c64617461600052600e6012fd5b61ffee6000526002601ef3","nonce":"0x1","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0x705f2b3623a84545c92eaf588f84817657395bc43f6e1167de9613090c3743d","s":"0x27fa18a9c90e62aefe3110e08183897252de0295edaaee489966d0b65d006479"},{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x17d96","gasPrice":"0x342770c1","hash":"0x7a6572aeb5f2825d5e243c7b1be4173abbe711d8fa0f692b1ee8ce859922cdb9","input":"0x600d380380600d6000396000f360003515156036577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f08c379a0000000000000000000000000000000000000000000000000000000006000526020600452600a6024527f75736572206572726f7200000000000000000000000000000000000000000000604452604e6000fd","nonce":"0x2","to":null,"transactionIndex":"0x2","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd109f","r":"0x583a345eede64b0f8b15732be69bbb432766b326ef4c4e735e2a25ce569c2d9a","s":"0x592f759ae2cb9a5bd3e489c5a1efd46d73ebfdf16c13dc195ae1b43b6f22e34"},{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x1bc1c","gasPrice":"0x342770c1","hash":"0x97cb777e677baaddaf9d5c1c2f2d8efe8db65f7cc29a8baf78a427f92504bc47","input":"0x43600052600060205260405b604060002060208051600101905281526020016101408110600b57506101006040f3","nonce":"0x3","to":null,"transactionIndex":"0x3","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0xcdf976a093022e24e498e02cd505a09307321d11f6f3f8b9e5456153b912631a","s":"0x3aecc24af018c1188130f7032aacca3f5cde8958937d2bcdf2b037e917cd70a5"}],"transactionsRoot":"0xfff3461a7e0f5d44052dc052f6dfbff287d500e8db3460e22e331d80a2a31353","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByHash","params":["0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b",true]} +<< {"jsonrpc":"2.0","id":1,"result":{"difficulty":"0x20000","extraData":"0x","gasLimit":"0x23f3e20","gasUsed":"0x522af","hash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x1","parentHash":"0x79e0f5ffb6a0c9f54d507dbbadc935603ac1db86d32f7857472180a75ec11f90","receiptsRoot":"0x7fd027fbdd13c7da8b6d21029df4b94a56bed7422604bcb66e6f95c7e5ddb4a0","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x4a1","stateRoot":"0x7fe25a8900f903f7c795f0604c2a3751e3dfdf51c5f687c2a8dcfbb6b8bafb55","timestamp":"0xa","transactions":[{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x13a54","gasPrice":"0x1","hash":"0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e","input":"0x600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f3","nonce":"0x0","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","v":"0x1c","r":"0xd642ba4d1f9388c5fd312bb9fb42d189a0b3c796de55093c85f30802a85147c8","s":"0x37aa8680923f811a6988c03dd414ca00cd25d6876ba5925c7ca8ac6aad21669d"},{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x15f84","gasPrice":"0x1","hash":"0x1999fb436409e9c2464bd9efc3aa914b2e8a843144fdcc17132fa9da0f15641e","input":"0x600d380380600d6000396000f3366002146022577177726f6e672d63616c6c6461746173697a656000526012600efd5b60003560f01c61ff01146047576d77726f6e672d63616c6c64617461600052600e6012fd5b61ffee6000526002601ef3","nonce":"0x1","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x0","v":"0x1b","r":"0x218687e18ef90972e218a9f60e6dc21f865608e129c81c491c0c0132f0293de3","s":"0x5d32b06bda00fab156cc3f078ef8687ccfafe2f2ae583af5f5d02e8904b6e09"},{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x18988","gasPrice":"0x1","hash":"0x956484bbcfabb9218d9084f9d707b6171e226095729dc2ba40294e0b065948a4","input":"0x600d380380600d6000396000f360003515156036577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f08c379a0000000000000000000000000000000000000000000000000000000006000526020600452600a6024527f75736572206572726f7200000000000000000000000000000000000000000000604452604e6000fd","nonce":"0x2","to":null,"transactionIndex":"0x2","value":"0x0","type":"0x0","v":"0x1b","r":"0x6fd592565af3974cf3281c7f2d22a5c0f060cecd0db48cd0e2c18a16f59edc89","s":"0x3f5c03f8b9021e73dc8dda9ee71379db81ef8484b2c7d64084ef52d54c6b7254"},{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x1c4a0","gasPrice":"0x1","hash":"0x709f12649d057e2ad0a0a41176cc405f80af735df8cf2b89782eb3ab1699e549","input":"0x43600052600060205260405b604060002060208051600101905281526020016101408110600b57506101006040f3","nonce":"0x3","to":null,"transactionIndex":"0x3","value":"0x0","type":"0x0","v":"0x1c","r":"0xa377752cecd876db9e137f922fc400b586954cf02ad8cc1c61091274831bf933","s":"0x1ed3e8efc91ff4868b3f2c1490bd771119db03e8830ba7fa9482258a918211f5"}],"transactionsRoot":"0x540ab43838385fb5bc998c271926c0501f807504747ea3654c6b5de58f40c2e0","uncles":[]}} diff --git a/tests/eth_getBlockByNumber/get-block-cancun-fork.io b/tests/eth_getBlockByNumber/get-block-cancun-fork.io new file mode 100644 index 000000000..ea0079f20 --- /dev/null +++ b/tests/eth_getBlockByNumber/get-block-cancun-fork.io @@ -0,0 +1,3 @@ +// requests a block at the Cancun fork +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["0x2a",false]} +<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x822595b","blobGasUsed":"0x20000","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x3b27a","hash":"0x262ac656edd583ae8645d6a48fc6ba5638b606326ebd5b71e13e97cee46f672d","logsBloom":"0x00000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000200000000080000000000080000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000100000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x2a","parentBeaconBlockRoot":"0x83472eda6eb475906aeeb7f09e757ba9f6663b9f6a5bf8611d6306f677f67ebd","parentHash":"0x72783c72fec1f3157cde08d9ded971d0edb04c7a6bb912882e6bbff569d7b0f0","receiptsRoot":"0xd986dfa6b469d59e2b16338ad9b4e757dd3d29deda9676d4d1dde8ec7721ea54","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x49f","stateRoot":"0xf845922caa3f2b8b5e45968b5d6edd7c19cfa1f2347d2e5c0eeb0a3625962bb0","timestamp":"0x1a4","transactions":["0x6bcea0da8e703d3283c8f1124377a63023290cd188de3274d12441e15dc14794","0x7fd4c1e424cac12b7021fb66aa47489aebe7ba7abcb52cdcac74785d60713d37","0xeab876a89925871050e77b5308413b0aea26e51cee250bba53adef60c9fa9a64","0x652a99ca41abd4b63a191bd05a6fc185926256fec07fe491cce1f9b558c41c80"],"transactionsRoot":"0xa16f5ce410d10f0b13a7b35739d5b877b7b02a0e01e46a2915c194cd5bec3380","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} diff --git a/tests/eth_getBlockByNumber/get-block-eip7685-requests.io b/tests/eth_getBlockByNumber/get-block-eip7685-requests.io deleted file mode 100644 index 30aeedb12..000000000 --- a/tests/eth_getBlockByNumber/get-block-eip7685-requests.io +++ /dev/null @@ -1,3 +0,0 @@ -// retrieves a block containing non-empty EIP-7685 requests ->> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["0x3",true]} -<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x2824151f","blobGasUsed":"0x20000","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x23f3e20","gasUsed":"0x469f9","hash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logsBloom":"0x00000000008000000000000000000040000000000000000000000000800000000000000000000000000000400000000000000000000000200000000000000000000000000000000000004000000000020200000000000000004000000000002000000000000000000000000000000000000000000000000000000010000000000000000000002000000000000000000000000000000000400000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000200000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x3","parentBeaconBlockRoot":"0x756e335a8778f6aadb2cc18c5bc68892da05a4d8b458eee5ce3335a024000c67","parentHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","receiptsRoot":"0xfabab479cc31ee73250392c92cc91b1aa203be1a58fd5127cf8130729fa5c85f","requestsHash":"0x57cac3e52cdcd73e52bd9e54956e0eae370f00ed41f68edc78266bdb46c3a543","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x570","stateRoot":"0x0063081b4aa2b453eb33c052514850c2e6d4f15a6e65656949b4401a2bde9912","timestamp":"0x1e","transactions":[{"blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","blockNumber":"0x3","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x28241520","hash":"0x2b027b6ede385a5dd48c9463fb91fd0d099c8919ed3bc83b3565293579f30e88","input":"0xdc4c8669df128318656d6974","nonce":"0xa","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x0","value":"0x2","type":"0x1","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0x462708a3c1cd03b21605715d090136df64e227f7e7792f74bb1bd7a8288f8801"]}],"chainId":"0xc72dd9d5e883e","v":"0x0","r":"0x7a7f245868fa64371563b5e3923fcb3d921305876fa1f36f4781445367d5c75c","s":"0x11175e17e8a2d7ebb47c50539d89017e13561232f6e85b15c6761318693b9d99","yParity":"0x0"},{"blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","blockNumber":"0x3","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x28241520","maxFeePerGas":"0x28241520","maxPriorityFeePerGas":"0x1","maxFeePerBlobGas":"0x20000","hash":"0x77ec9478917c59826176c8ab8380e6e5daa996148796b7bb21340dcd4db0b65e","input":"0x3f446a7c4145b1f0656d6974","nonce":"0xb","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x1","value":"0x3","type":"0x3","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0xb52248fb459b43720abbf1d5218c4ede9036a623653b31c2077991e04da9a456"]}],"chainId":"0xc72dd9d5e883e","blobVersionedHashes":["0x015a4cab4911426699ed34483de6640cf55a568afc5c5edffdcbd8bcd4452f68"],"v":"0x1","r":"0x5031618ccd7e8caa0a9e9dd30311c8d96e0a7a27c8b3ecbe5126c76ac04f5db1","s":"0x44998503d1b38c4c648327d1fbab12cdeec9819da16e6d2847f087db4a15affc","yParity":"0x1"},{"blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","blockNumber":"0x3","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x28241520","hash":"0x03b5c2bfdf18ad7ca821efaa6101e1be9eec8c649c60294d512d2f1ad37f1a04","input":"0x96fd14b8fdcbd4a9656d6974","nonce":"0xc","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x2","value":"0x2","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0xbd3bcd89c42a1f459558b78a08a2f43b8e86b5fb1d4c395501fd7fcd22c09336","s":"0xfc9787e18e8c0e6f1bef1f72b9fe3fe1242ebb68570b2556f855b441bf6bdad"},{"blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","blockNumber":"0x3","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x249f0","gasPrice":"0x28241520","maxFeePerGas":"0x28241520","maxPriorityFeePerGas":"0x2","hash":"0x4db08351723a1e9d110b73fac0d8c2cd4d088c5c7c91be3754dcabe450deaa82","input":"0xb917cfdc0d25b72d55cf94db328e1629b7f4fde2c30cdacf873b664416f76a0c7f7cc50c9f72a3cb84be88144cde91250000000000000d80","nonce":"0xd","to":"0x00000961ef480eb55e80d19ad83579a64c007002","transactionIndex":"0x3","value":"0x3b9aca00","type":"0x2","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0x2095a18be428ecd716bc26d8f72e835235dd65c9d644cbeba6e626526af643cf","s":"0x391fc24d1156b2af9c41497a83f801f7a0affe8d88d49c2481b74aac040020ee","yParity":"0x1"}],"transactionsRoot":"0xe0bae590798c39a939334042095dbe647e7629bebe254a66a674f19cf763cedb","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} diff --git a/tests/eth_getBlockByNumber/get-block-london-fork.io b/tests/eth_getBlockByNumber/get-block-london-fork.io new file mode 100644 index 000000000..ab7790e12 --- /dev/null +++ b/tests/eth_getBlockByNumber/get-block-london-fork.io @@ -0,0 +1,3 @@ +// requests a block at the London fork +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["0x1b",false]} +<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x3b9aca00","difficulty":"0x202c0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x1e740","hash":"0x86452d315e7f7e4a0b74d87fe121f1df95dc24850c8edeb228dce8f8c7bcbd75","logsBloom":"0x00000000000000000000000000000000000008000000000010000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000080000004000000000000200000000000000000000000000002000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000200000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x1b","parentHash":"0x4020f8789cd9efb0ac5b8be63ad15b730470fb92d15ada9a4bde19bf0201ebe5","receiptsRoot":"0xb14c6a4874e93edbe48c9bd16177b9ebcf0ca4d50eb263d895bbd67de1dbdb2f","sha3Uncles":"0x5f055d466e717ea783e969bb0704c57efeab590ebc76adc0b4ddae969acc616e","size":"0x63c","stateRoot":"0x2522f9dcc32b15f91822bf74ad1f95dbd7359749ca8924997e40def45c2f8235","timestamp":"0x10e","transactions":["0xc7dba25cdd5aee6ff7d27fe5422a4179f5913c664c3339c8e0440bd1c9cd8de9","0xee7a54703e4bb9cea154b8c14dd9a3233af9120f76730abf21af6f1e1620fc41","0xf804c0984af03a8fb0948a95bef19996d7cafdb098891ff65f126795b597064a"],"transactionsRoot":"0xb3edba3be2bce9594477ee53a18ce14c3bb8c1db93380a6796e56fbca25c295f","uncles":["0x635b404d75a5f2e0cbe29202854db61b9fcaacab7e1e6647071011ee356b1e86"]}} diff --git a/tests/eth_getBlockByNumber/get-block-merge-fork.io b/tests/eth_getBlockByNumber/get-block-merge-fork.io new file mode 100644 index 000000000..76374ccc1 --- /dev/null +++ b/tests/eth_getBlockByNumber/get-block-merge-fork.io @@ -0,0 +1,3 @@ +// requests a block at the merge (Paris) fork +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["0x24",false]} +<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x12099cd9","difficulty":"0x0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x4bf07","hash":"0x712277ec925617edc2b003c296a79ce580ed45119956bca87c861b6887850629","logsBloom":"0x000000000000000000000040000000000000000000000400000000000000000000000000000010000000000000100000000000000000000000000000000000010000000000000000000000000000000001000000000000000000000000000000000000000a0000000008008000000000000200000000000000200000000004000000000000100000000000000000000000800000000010000000000000000000000000000000000c00800000000100048000000000000000008000000002800000400040000000000000000000000000000000000000000000000000001001000000200000000000000000000000000000000000000020008000000000000001","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x24","parentHash":"0x773d84fb93989e09f270685b34a4e4cccbec3763a1e7f130648468441c4ae877","receiptsRoot":"0x1e3ec40e95c98fd0f99092bbac08d9d1969d3db223592e7ef3a2b40d743d7ca5","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x3e5","stateRoot":"0x889ffe1b9a6d193ad93473d37f890fa8cc6f82059fa4076ded79e7d9fda4ffc8","timestamp":"0x168","transactions":["0x66e36fd24946b76e66ed41d0ea03871bd2bdaf1fd6ae375b4cd71515ef5abaae","0x7d97e95f289b9d7ff25eb49bb8f527186b660f57af49e808a99602549d6c99ed","0xcec818d348249f5fd7c80495c7281fbfa7e537ee6dce24fee0a8d79314d01920","0x070ec9be8b3e2d091e9e0416e2dfbb4e087fa419656272825a3e0e3fdd56fdd1"],"transactionsRoot":"0x0919f8e1fd9c36eb3cd6d0942cde2da8008220b63d39d1f35bf62758a7c26de7","uncles":[]}} diff --git a/tests/eth_getBlockByNumber/get-block-n.io b/tests/eth_getBlockByNumber/get-block-n.io deleted file mode 100644 index 58aec25ee..000000000 --- a/tests/eth_getBlockByNumber/get-block-n.io +++ /dev/null @@ -1,3 +0,0 @@ -// gets block 2 ->> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["0x2",true]} -<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x2dbf1f99","blobGasUsed":"0x0","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x23f3e20","gasUsed":"0x5ab14","hash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logsBloom":"0x00001000000000000000000010000000000010000000000000004000800000800000000040000200000000000000000000000a00000000004000000081000000000000000000000000004000000000000204000000000000001000000000022000000000002000200000000000004000400000000000880000000000000000000004000000000000000000000000000000000000000000000000000000000000000000020400009000000000000000000000000108010000000000000010000000002000010000100020000000080000000000000000000000000000000000000000000000000000000000000000000002008000000000010000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x2","parentBeaconBlockRoot":"0x2c809fbc7e3991c8ab560d1431fa8b6f25be4ab50977f0294dfeca9677866b6e","parentHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","receiptsRoot":"0x5f7edef8292ef286bb85e3b4b016f1717dd75fa6434e6b2aad33faa4713ca6e9","requestsHash":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x5f2","stateRoot":"0x9168225648e5647ff229e73cf614a28d1678c422e41c0a6f480700926088870e","timestamp":"0x14","transactions":[{"blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","blockNumber":"0x2","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x11f58","gasPrice":"0x2dbf1f9a","hash":"0x51a7c013ddcc27a750952d2e07e2a36cbf311f5f7ddc5f4c308ed7f9e73b1c8f","input":"0x4360005260006020525b604060002060208051600101905260206020a15a61271010600957","nonce":"0x4","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0xf69b5bccffed490be6ab9b289262ac6147bb6a23f3b061e7356d5d9bc77ceefa","s":"0x101b956c4a93ffbf89484e68ca23763d045293b2df67c75c2a1c4349b3df0880"},{"blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","blockNumber":"0x2","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x2088a","gasPrice":"0x2dbf1f9a","hash":"0x9c59ab4e3d9e2e06c778e270db5e8dab71586ae519b4bbfd0e4a88d5e7213292","input":"0x435b8080556001015a6161a810600157","nonce":"0x5","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0x5934bc3388ea75269767783e0ee816deba22e297b596df122299ac92ea674c0f","s":"0x633b50dc84f67caf787dc5d4d96ea9a31eb98db10f92fb90a71865bb7d06f337"},{"blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","blockNumber":"0x2","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x11c32","gasPrice":"0x2dbf1f9a","hash":"0x4de0d7c7c5146a1d213247952c7dcc0e1fd1a960090e34bf28cda9f491be7de7","input":"0x600d380380600d6000396000f336156009575f355f555b305f525f5460205260405ff3","nonce":"0x6","to":null,"transactionIndex":"0x2","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd109f","r":"0x19263b22bed61a96c9032234a1d13e9fda40224dffb5575d7113ad6b6c212461","s":"0x28b5dfd42ef936ee5827a05f19cf9679b66aadb18061169a107da297fed3badf"},{"blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","blockNumber":"0x2","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0xb3b0","gasPrice":"0x2dbf1f9a","maxFeePerGas":"0x2dbf1f9a","maxPriorityFeePerGas":"0x1","hash":"0xabb412d6230ef50141b0a530ed8b57dda282fbce24acd48810ef2b4d34cd9104","input":"0x","nonce":"0x7","to":"0x0000000000000000000000000000000000000000","transactionIndex":"0x3","value":"0x0","type":"0x4","accessList":[],"chainId":"0xc72dd9d5e883e","authorizationList":[{"chainId":"0xc72dd9d5e883e","address":"0x6cad054757f422066e2e474e5e81ed495bdcc979","nonce":"0x0","yParity":"0x1","r":"0x1a63d81054d08d92118b33115b5a515817e50a3828fd96939f979ac93694751e","s":"0x306a64ef2eb532805f1f5079af7591704b1623e82e56bb0c6b18342b48958b06"}],"v":"0x0","r":"0xfc169339eea66ef47f1cfea0fd18797b91853d0977c3d360bafae7e3c0f7ca3d","s":"0x445cf1b2b73d6457b9324c4351024bb406b0111e7ea038713dac4968a625e43","yParity":"0x0"},{"blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","blockNumber":"0x2","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x11170","gasPrice":"0x2dbf1f9a","hash":"0xea09deb1fec8d86d396ed7912b82d9b619c271df482aee77ea55f8217c06fbc3","input":"0x696e766f6b6564","nonce":"0x8","to":"0xeda8645ba6948855e3b3cd596bbb07596d59c603","transactionIndex":"0x4","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0x9ffe039795b25e0fc3e54cb0c9405ebab7320501349392c8bfae5b87bb5950ba","s":"0x4296ef413b2db4dfc37be62b76931866139ba090516d110d5ae0322a6b2e02f5"},{"blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","blockNumber":"0x2","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x2dbf1f9a","maxFeePerGas":"0x2dbf1f9a","maxPriorityFeePerGas":"0x1","hash":"0x5f30eb02ff7845668f4787fca3a549c6632fbeb3d282cddbc95001a3252acf28","input":"0xcd4a1f0815150453656d6974","nonce":"0x9","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x5","value":"0x2","type":"0x2","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0xcafb6bca825986d957afdb8dae2d222b938677129730cb59744012d0477b5b69"]}],"chainId":"0xc72dd9d5e883e","v":"0x0","r":"0xdb642586ab80271c8da5852da58846f2f3dcf42547a671e86e25cb04d25fa59a","s":"0x62d1e2f9284ccf46e66c54c8e0598e983a56a3f401975053f7c244c4d540b6d9","yParity":"0x0"}],"transactionsRoot":"0x3a5d8a77d7d2ae28b1e1c5cbede4140c03683d9819ac892a9a4d4424ebae3bbb","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} diff --git a/tests/eth_getBlockByNumber/get-block-notfound.io b/tests/eth_getBlockByNumber/get-block-notfound.io index e253e2648..f2158948e 100644 --- a/tests/eth_getBlockByNumber/get-block-notfound.io +++ b/tests/eth_getBlockByNumber/get-block-notfound.io @@ -1,3 +1,3 @@ -// gets block notfound +// requests a block number that does not exist >> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["0x3e8",true]} << {"jsonrpc":"2.0","id":1,"result":null} diff --git a/tests/eth_getBlockByNumber/get-block-prague-fork.io b/tests/eth_getBlockByNumber/get-block-prague-fork.io new file mode 100644 index 000000000..d64c256aa --- /dev/null +++ b/tests/eth_getBlockByNumber/get-block-prague-fork.io @@ -0,0 +1,3 @@ +// requests a block at the Prague fork +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["0x2d",false]} +<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x5763d64","blobGasUsed":"0x0","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x54a92","hash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","logsBloom":"0x00000000008000000000000000000040000000000000000000000000800000000000000008000000000000000000000000000000000000000000000000000000000000000000000000004000000000020200000000000000000000000000002000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x2d","parentBeaconBlockRoot":"0x4b118bd31ed2c4eeb81dc9e3919e9989994333fe36f147c2930f12c53f0d3c78","parentHash":"0xab97b6b403066d2f4b270171bd532cc489510c1e07df609718dfc875cace60f1","receiptsRoot":"0x2c86b2791cdd088d3c3e9d6225f71724d3e8c67bdd13cd6208831058cee1043f","requestsHash":"0x57cac3e52cdcd73e52bd9e54956e0eae370f00ed41f68edc78266bdb46c3a543","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x633","stateRoot":"0x67b58d6bd3c58396b464d3ae8f8a7e2e8ebf912b203ece9bf8a89063a79265bd","timestamp":"0x1c2","transactions":["0x2fbbd036996c7487316c92b9e5798edb98fd57f32a6c1075e904a734821e1cd2","0x16f6724ad864e7664c367893cae3e176d362bea3a47495cec3b246555a7228da","0xddf234c5f149d2d1a4d01276d42e38a6234bfa7b987c49ba889b028b429aac8f","0x3d3d02e1bdc39a6eab20f7b44ed299ca61eb1d642806bfa07e3a7ee8edd700e5","0x195a09414344f56e7a202d1493b258b2394b9b93811ce4ee96212a7d34ffb04f","0xdf66bea01c5cf47b48ec11453822d751a5daaf1d16959772c2196c5ab8cf8438"],"transactionsRoot":"0xc541c333ff4a96a17d3601f7d628ea27ecf4597a11077e5d9d1c4dbed6c7f401","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} diff --git a/tests/eth_getBlockByNumber/get-block-shanghai-fork.io b/tests/eth_getBlockByNumber/get-block-shanghai-fork.io new file mode 100644 index 000000000..e11bfdb1a --- /dev/null +++ b/tests/eth_getBlockByNumber/get-block-shanghai-fork.io @@ -0,0 +1,3 @@ +// requests a block at the Shanghai fork +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["0x27",false]} +<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0xc1da0cc","difficulty":"0x0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x3923b","hash":"0x55402d4f6844009ce23e3e2c5f8f7d951b4bc8999d5d7fd420e19fc4c9375a0d","logsBloom":"0x00000008000000000000100000000000010000000000000000010000800000000000000000000000000000004004000000004810000000000000000000004000000080000010000000004000200000000200000000000000000000000000002000010000400000080000000000000000000020000010000000000000080000000100000000000080200000000000000010000000000100020000000000000000000008000000009100000000022000000000000000000000000000040000000000000000000000100000000000004000000080000000200000000000000000000000000000000000000000000000000000000000000000000000010000000100","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x27","parentHash":"0x448bec829458995182b7375d8910e224ed7602d8c4a5c659a09dcb27ab422672","receiptsRoot":"0xd8b031b7eaf79c70b378523ef39d37bcae47cab5e8d93e080d7b124f0504f1aa","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x3a3","stateRoot":"0x3c14ac9ffc0940c4ed900dc319ef629bef8fa51fb5f434633048240d85568311","timestamp":"0x186","transactions":["0xd993e8d4819e82e76026349059de8739c6a7a95db40954d85f81f639404f6a45","0xb3ab7b7c10f909ac2d177207cdde0b0d355a768c8ab124a6f2b6e19097771151","0xb8d49ba18112a81983371e9e43378e9593f17163fd46d3c1cedeecf3c38b972a"],"transactionsRoot":"0x61f14f64f79c6725b52ed6a95015a3820fd2100ac11d82a59e45275607b294a8","uncles":[],"withdrawals":[{"index":"0x0","validatorIndex":"0x5","address":"0x3ae75c08b4c907eb63a8960c45b86e1e9ab6123c","amount":"0x64"}],"withdrawalsRoot":"0x0cbd4206b2131f21f541589e2bb2ad8cfceb1875f04acde910ea91933245f92b"}} diff --git a/tests/eth_getBlockByNumber/get-finalized.io b/tests/eth_getBlockByNumber/get-finalized.io index f0d6d8469..33996c5ed 100644 --- a/tests/eth_getBlockByNumber/get-finalized.io +++ b/tests/eth_getBlockByNumber/get-finalized.io @@ -1,3 +1,3 @@ -// gets block finalized +// get the block with tag "finalized" >> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["finalized",true]} -<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x4426f2b","blobGasUsed":"0x20000","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x23f3e20","gasUsed":"0x23114","hash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","logsBloom":"0x00000000000000000000000000000000000000000000000000000100800000000000000000000000000000000000000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000040000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x14","parentBeaconBlockRoot":"0x3cc9f65fc1f46927eb46fbf6d14bc94af078fe8ff982a984bdd117152cd1549f","parentHash":"0x1d7b5a43a5084f39e0f614441d89745e1ed57a3806df1b11808b3a07dea93eec","receiptsRoot":"0x352a1ceb0040f363d3be40a62c347548c4737a2264a8dc42295d014d29c7c7a2","requestsHash":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x4c9","stateRoot":"0x5cb67082ed7f1c0f4afac419e964d07fb57207e503db479dd102c82a159e922c","timestamp":"0xc8","transactions":[{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x4426f2c","maxFeePerGas":"0x4426f2c","maxPriorityFeePerGas":"0x1","maxFeePerBlobGas":"0x20000","hash":"0xc8ec61d6406272bcfb78eff3144c78bd0c3e01a8c768f9372daa9009d985b405","input":"0x7346f7df2f4852bf656d6974","nonce":"0x48","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x0","value":"0x3","type":"0x3","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0xcb55d89f2ee070d017b426876d6072d91c2a7311ade9a1bed2f8200127ec380e"]}],"chainId":"0xc72dd9d5e883e","blobVersionedHashes":["0x015a4cab4911426699ed34483de6640cf55a568afc5c5edffdcbd8bcd4452f68"],"v":"0x0","r":"0x6f6b6702501bb7057ee089bab9db3a0b1263038b710c4e24b830c5a4301a4f13","s":"0x4bd3f5760b5bc55557b925b8c826ac87908d7f033191d322d934d5dda15d6e58","yParity":"0x0"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x4426f2c","hash":"0x05cbab94521c939eea4addcd4701ac90d80d532451f2de90e64ea9a90ed9cf34","input":"0x4520339faf61a8c6656d6974","nonce":"0x49","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x1","value":"0x2","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0xd5f990e30221242a0a08347a697a6645cf9167f80b4826943d01e5c61533948a","s":"0x9427d0bf15f14e41463e3d15fadbd2fde9bb57d8aae816f7b8681607d78df6"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x5208","gasPrice":"0x4426f2c","maxFeePerGas":"0x4426f2c","maxPriorityFeePerGas":"0x1","hash":"0x95e395eead6ad1b1491ce5e3be473c9a91c8dee68901046d89ce1830c8743560","input":"0x","nonce":"0x4a","to":"0x4a0f1452281bcec5bd90c3dce6162a5995bfe9df","transactionIndex":"0x2","value":"0x1","type":"0x2","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0x3473618eea298f71398cf7843636a3235d8d57fb53fb7eaab536e91c1b1742b4","s":"0x36e3f786c001ac910d7cf7b3c1bb5df6bdaa34c35025749d379c283178fea254","yParity":"0x1"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x5208","gasPrice":"0x4426f2c","hash":"0x1db344636ee1281c26b9ccef2a9636b5bed070c6b1b794a5e8854de6b0856ac2","input":"0x","nonce":"0x4b","to":"0x1f5bde34b4afc686f136c7a3cb6ec376f7357759","transactionIndex":"0x3","value":"0x1","type":"0x1","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0x2d21ed3cafa3e4fc9b84edfbc8ab98a693f0c498ca90f20fbb9ebce07ac08b71","s":"0x346da39f6b72e36b6758055d5700d0ca2223b14e799cb8e7899e6d3769ba8b98","yParity":"0x1"}],"transactionsRoot":"0xaef5ff32adb53bc5cc0dac8d00b552e0b4166f0ed2eb54dbe532012afb7d4d43","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} +<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x5763d64","blobGasUsed":"0x0","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x54a92","hash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","logsBloom":"0x00000000008000000000000000000040000000000000000000000000800000000000000008000000000000000000000000000000000000000000000000000000000000000000000000004000000000020200000000000000000000000000002000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x2d","parentBeaconBlockRoot":"0x4b118bd31ed2c4eeb81dc9e3919e9989994333fe36f147c2930f12c53f0d3c78","parentHash":"0xab97b6b403066d2f4b270171bd532cc489510c1e07df609718dfc875cace60f1","receiptsRoot":"0x2c86b2791cdd088d3c3e9d6225f71724d3e8c67bdd13cd6208831058cee1043f","requestsHash":"0x57cac3e52cdcd73e52bd9e54956e0eae370f00ed41f68edc78266bdb46c3a543","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x633","stateRoot":"0x67b58d6bd3c58396b464d3ae8f8a7e2e8ebf912b203ece9bf8a89063a79265bd","timestamp":"0x1c2","transactions":[{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x11c32","gasPrice":"0x5763d65","hash":"0x2fbbd036996c7487316c92b9e5798edb98fd57f32a6c1075e904a734821e1cd2","input":"0x600d380380600d6000396000f336156009575f355f555b305f525f5460205260405ff3","nonce":"0x9a","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd109f","r":"0x551fe45ccebb0318196e31dbc60da87c43dc60b8fb01afb3286693fa09878730","s":"0x40d33e9afecfe1516b045d61a3272bddbc83f482a7f2c749311248b50fe62e81"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0xb3b0","gasPrice":"0x5763d65","maxFeePerGas":"0x5763d65","maxPriorityFeePerGas":"0x1","hash":"0x16f6724ad864e7664c367893cae3e176d362bea3a47495cec3b246555a7228da","input":"0x","nonce":"0x9b","to":"0x0000000000000000000000000000000000000000","transactionIndex":"0x1","value":"0x0","type":"0x4","accessList":[],"chainId":"0xc72dd9d5e883e","authorizationList":[{"chainId":"0xc72dd9d5e883e","address":"0x58f8fe237b593c19546e1e758a2544561d04bfe0","nonce":"0x0","yParity":"0x1","r":"0xec6caeb1b7071f1b3ae36aeaa7bf0eaecb8e006e83b3e50d792870ea95af4c59","s":"0x1d1225f76d6faac3d904c0635193e83d3867c101b2e6f6c9bb7b1fdeeed923ab"}],"v":"0x1","r":"0x8ae3402e4f63751c895532b94aee0f7b6b8ff5d0b0a689f6d63b3dbd19d69059","s":"0x2e63e4d140b0d282d56289b34f3df82cbcb2f3aa385f5438a423584fe0c2b467","yParity":"0x1"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x11170","gasPrice":"0x5763d65","hash":"0xddf234c5f149d2d1a4d01276d42e38a6234bfa7b987c49ba889b028b429aac8f","input":"0x696e766f6b6564","nonce":"0x9c","to":"0xeda8645ba6948855e3b3cd596bbb07596d59c603","transactionIndex":"0x2","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0xfea7e18c82a1270f142572533bc2e6e33d6d41a3f1303403dd0a90dd7a4f35d","s":"0x4a4ab6c5bb4c31c3a5f8991ae45bad2303c45923404571f7b4c66adbd03b7936"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x249f0","gasPrice":"0x5763d65","maxFeePerGas":"0x5763d65","maxPriorityFeePerGas":"0x2","hash":"0x3d3d02e1bdc39a6eab20f7b44ed299ca61eb1d642806bfa07e3a7ee8edd700e5","input":"0xb917cfdc0d25b72d55cf94db328e1629b7f4fde2c30cdacf873b664416f76a0c7f7cc50c9f72a3cb84be88144cde91250000000000000d80","nonce":"0x9d","to":"0x00000961ef480eb55e80d19ad83579a64c007002","transactionIndex":"0x3","value":"0x3b9aca00","type":"0x2","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0x5f8b300cf80f7fb7e511460fa1a803278b47223f2c0a82857c5c0e5f7c900d23","s":"0x290bf2495235a106352786403ed937df8385a2356472569020fd952913690ec9","yParity":"0x1"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x5763d65","hash":"0x195a09414344f56e7a202d1493b258b2394b9b93811ce4ee96212a7d34ffb04f","input":"0x6b3b937565afc29f656d6974","nonce":"0x9e","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x4","value":"0x2","type":"0x1","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0xe8481f0a1ea7b2528784efff1d1b33cbd66ac97ebe2ae35c7997cacb2863430b"]}],"chainId":"0xc72dd9d5e883e","v":"0x0","r":"0x84f8b48ac6fbf39054c7794e6ff4e16a3bacbd0964b53d4d03ff668e7eda365","s":"0x2e4e86f2f5fbb8dad4ee8907eee4488f70c75bb646522b5197c4dcdc29ea31bf","yParity":"0x0"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x5208","gasPrice":"0x5763d65","hash":"0xdf66bea01c5cf47b48ec11453822d751a5daaf1d16959772c2196c5ab8cf8438","input":"0x","nonce":"0x9f","to":"0x4340ee1b812acb40a1eb561c019c327b243b92df","transactionIndex":"0x5","value":"0x1","type":"0x1","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0xec839e20a6f8ff0fb1043022e5816454191436ba7f6607bf6efe6517fdd1e2dd","s":"0x7903b3dd48963c0404f99807fd89cde2b66091c32178f66920120cb10981019","yParity":"0x1"}],"transactionsRoot":"0xc541c333ff4a96a17d3601f7d628ea27ecf4597a11077e5d9d1c4dbed6c7f401","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} diff --git a/tests/eth_getBlockByNumber/get-genesis.io b/tests/eth_getBlockByNumber/get-genesis.io index 431682db6..199aaae18 100644 --- a/tests/eth_getBlockByNumber/get-genesis.io +++ b/tests/eth_getBlockByNumber/get-genesis.io @@ -1,3 +1,3 @@ -// gets block 0 +// gets block number zero >> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["0x0",true]} -<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x3b9aca00","blobGasUsed":"0x0","difficulty":"0x20000","excessBlobGas":"0x0","extraData":"0x68697665636861696e","gasLimit":"0x23f3e20","gasUsed":"0x0","hash":"0x91aacf1b423949b99951aeb913b57e486981540c274403252d276bee048a8e02","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x0","parentBeaconBlockRoot":"0x0000000000000000000000000000000000000000000000000000000000000000","parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","requestsHash":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x270","stateRoot":"0xe5d8b049a78427be8c23ebd6811ed436b3a36cc117954b496848b90f0c654844","timestamp":"0x0","transactions":[],"transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} +<< {"jsonrpc":"2.0","id":1,"result":{"difficulty":"0x20000","extraData":"0x68697665636861696e","gasLimit":"0x23f3e20","gasUsed":"0x0","hash":"0x79e0f5ffb6a0c9f54d507dbbadc935603ac1db86d32f7857472180a75ec11f90","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x0","parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x205","stateRoot":"0xe5d8b049a78427be8c23ebd6811ed436b3a36cc117954b496848b90f0c654844","timestamp":"0x0","transactions":[],"transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","uncles":[]}} diff --git a/tests/eth_getBlockByNumber/get-latest.io b/tests/eth_getBlockByNumber/get-latest.io index f7cc7ef9d..6e9b97cbd 100644 --- a/tests/eth_getBlockByNumber/get-latest.io +++ b/tests/eth_getBlockByNumber/get-latest.io @@ -1,3 +1,3 @@ -// gets block latest +// gets the block with tag "latest" >> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["latest",true]} -<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x4426f2b","blobGasUsed":"0x20000","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x23f3e20","gasUsed":"0x23114","hash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","logsBloom":"0x00000000000000000000000000000000000000000000000000000100800000000000000000000000000000000000000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000040000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x14","parentBeaconBlockRoot":"0x3cc9f65fc1f46927eb46fbf6d14bc94af078fe8ff982a984bdd117152cd1549f","parentHash":"0x1d7b5a43a5084f39e0f614441d89745e1ed57a3806df1b11808b3a07dea93eec","receiptsRoot":"0x352a1ceb0040f363d3be40a62c347548c4737a2264a8dc42295d014d29c7c7a2","requestsHash":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x4c9","stateRoot":"0x5cb67082ed7f1c0f4afac419e964d07fb57207e503db479dd102c82a159e922c","timestamp":"0xc8","transactions":[{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x4426f2c","maxFeePerGas":"0x4426f2c","maxPriorityFeePerGas":"0x1","maxFeePerBlobGas":"0x20000","hash":"0xc8ec61d6406272bcfb78eff3144c78bd0c3e01a8c768f9372daa9009d985b405","input":"0x7346f7df2f4852bf656d6974","nonce":"0x48","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x0","value":"0x3","type":"0x3","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0xcb55d89f2ee070d017b426876d6072d91c2a7311ade9a1bed2f8200127ec380e"]}],"chainId":"0xc72dd9d5e883e","blobVersionedHashes":["0x015a4cab4911426699ed34483de6640cf55a568afc5c5edffdcbd8bcd4452f68"],"v":"0x0","r":"0x6f6b6702501bb7057ee089bab9db3a0b1263038b710c4e24b830c5a4301a4f13","s":"0x4bd3f5760b5bc55557b925b8c826ac87908d7f033191d322d934d5dda15d6e58","yParity":"0x0"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x4426f2c","hash":"0x05cbab94521c939eea4addcd4701ac90d80d532451f2de90e64ea9a90ed9cf34","input":"0x4520339faf61a8c6656d6974","nonce":"0x49","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x1","value":"0x2","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0xd5f990e30221242a0a08347a697a6645cf9167f80b4826943d01e5c61533948a","s":"0x9427d0bf15f14e41463e3d15fadbd2fde9bb57d8aae816f7b8681607d78df6"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x5208","gasPrice":"0x4426f2c","maxFeePerGas":"0x4426f2c","maxPriorityFeePerGas":"0x1","hash":"0x95e395eead6ad1b1491ce5e3be473c9a91c8dee68901046d89ce1830c8743560","input":"0x","nonce":"0x4a","to":"0x4a0f1452281bcec5bd90c3dce6162a5995bfe9df","transactionIndex":"0x2","value":"0x1","type":"0x2","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0x3473618eea298f71398cf7843636a3235d8d57fb53fb7eaab536e91c1b1742b4","s":"0x36e3f786c001ac910d7cf7b3c1bb5df6bdaa34c35025749d379c283178fea254","yParity":"0x1"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x5208","gasPrice":"0x4426f2c","hash":"0x1db344636ee1281c26b9ccef2a9636b5bed070c6b1b794a5e8854de6b0856ac2","input":"0x","nonce":"0x4b","to":"0x1f5bde34b4afc686f136c7a3cb6ec376f7357759","transactionIndex":"0x3","value":"0x1","type":"0x1","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0x2d21ed3cafa3e4fc9b84edfbc8ab98a693f0c498ca90f20fbb9ebce07ac08b71","s":"0x346da39f6b72e36b6758055d5700d0ca2223b14e799cb8e7899e6d3769ba8b98","yParity":"0x1"}],"transactionsRoot":"0xaef5ff32adb53bc5cc0dac8d00b552e0b4166f0ed2eb54dbe532012afb7d4d43","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} +<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x5763d64","blobGasUsed":"0x0","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x54a92","hash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","logsBloom":"0x00000000008000000000000000000040000000000000000000000000800000000000000008000000000000000000000000000000000000000000000000000000000000000000000000004000000000020200000000000000000000000000002000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x2d","parentBeaconBlockRoot":"0x4b118bd31ed2c4eeb81dc9e3919e9989994333fe36f147c2930f12c53f0d3c78","parentHash":"0xab97b6b403066d2f4b270171bd532cc489510c1e07df609718dfc875cace60f1","receiptsRoot":"0x2c86b2791cdd088d3c3e9d6225f71724d3e8c67bdd13cd6208831058cee1043f","requestsHash":"0x57cac3e52cdcd73e52bd9e54956e0eae370f00ed41f68edc78266bdb46c3a543","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x633","stateRoot":"0x67b58d6bd3c58396b464d3ae8f8a7e2e8ebf912b203ece9bf8a89063a79265bd","timestamp":"0x1c2","transactions":[{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x11c32","gasPrice":"0x5763d65","hash":"0x2fbbd036996c7487316c92b9e5798edb98fd57f32a6c1075e904a734821e1cd2","input":"0x600d380380600d6000396000f336156009575f355f555b305f525f5460205260405ff3","nonce":"0x9a","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd109f","r":"0x551fe45ccebb0318196e31dbc60da87c43dc60b8fb01afb3286693fa09878730","s":"0x40d33e9afecfe1516b045d61a3272bddbc83f482a7f2c749311248b50fe62e81"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0xb3b0","gasPrice":"0x5763d65","maxFeePerGas":"0x5763d65","maxPriorityFeePerGas":"0x1","hash":"0x16f6724ad864e7664c367893cae3e176d362bea3a47495cec3b246555a7228da","input":"0x","nonce":"0x9b","to":"0x0000000000000000000000000000000000000000","transactionIndex":"0x1","value":"0x0","type":"0x4","accessList":[],"chainId":"0xc72dd9d5e883e","authorizationList":[{"chainId":"0xc72dd9d5e883e","address":"0x58f8fe237b593c19546e1e758a2544561d04bfe0","nonce":"0x0","yParity":"0x1","r":"0xec6caeb1b7071f1b3ae36aeaa7bf0eaecb8e006e83b3e50d792870ea95af4c59","s":"0x1d1225f76d6faac3d904c0635193e83d3867c101b2e6f6c9bb7b1fdeeed923ab"}],"v":"0x1","r":"0x8ae3402e4f63751c895532b94aee0f7b6b8ff5d0b0a689f6d63b3dbd19d69059","s":"0x2e63e4d140b0d282d56289b34f3df82cbcb2f3aa385f5438a423584fe0c2b467","yParity":"0x1"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x11170","gasPrice":"0x5763d65","hash":"0xddf234c5f149d2d1a4d01276d42e38a6234bfa7b987c49ba889b028b429aac8f","input":"0x696e766f6b6564","nonce":"0x9c","to":"0xeda8645ba6948855e3b3cd596bbb07596d59c603","transactionIndex":"0x2","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0xfea7e18c82a1270f142572533bc2e6e33d6d41a3f1303403dd0a90dd7a4f35d","s":"0x4a4ab6c5bb4c31c3a5f8991ae45bad2303c45923404571f7b4c66adbd03b7936"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x249f0","gasPrice":"0x5763d65","maxFeePerGas":"0x5763d65","maxPriorityFeePerGas":"0x2","hash":"0x3d3d02e1bdc39a6eab20f7b44ed299ca61eb1d642806bfa07e3a7ee8edd700e5","input":"0xb917cfdc0d25b72d55cf94db328e1629b7f4fde2c30cdacf873b664416f76a0c7f7cc50c9f72a3cb84be88144cde91250000000000000d80","nonce":"0x9d","to":"0x00000961ef480eb55e80d19ad83579a64c007002","transactionIndex":"0x3","value":"0x3b9aca00","type":"0x2","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0x5f8b300cf80f7fb7e511460fa1a803278b47223f2c0a82857c5c0e5f7c900d23","s":"0x290bf2495235a106352786403ed937df8385a2356472569020fd952913690ec9","yParity":"0x1"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x5763d65","hash":"0x195a09414344f56e7a202d1493b258b2394b9b93811ce4ee96212a7d34ffb04f","input":"0x6b3b937565afc29f656d6974","nonce":"0x9e","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x4","value":"0x2","type":"0x1","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0xe8481f0a1ea7b2528784efff1d1b33cbd66ac97ebe2ae35c7997cacb2863430b"]}],"chainId":"0xc72dd9d5e883e","v":"0x0","r":"0x84f8b48ac6fbf39054c7794e6ff4e16a3bacbd0964b53d4d03ff668e7eda365","s":"0x2e4e86f2f5fbb8dad4ee8907eee4488f70c75bb646522b5197c4dcdc29ea31bf","yParity":"0x0"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x5208","gasPrice":"0x5763d65","hash":"0xdf66bea01c5cf47b48ec11453822d751a5daaf1d16959772c2196c5ab8cf8438","input":"0x","nonce":"0x9f","to":"0x4340ee1b812acb40a1eb561c019c327b243b92df","transactionIndex":"0x5","value":"0x1","type":"0x1","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0xec839e20a6f8ff0fb1043022e5816454191436ba7f6607bf6efe6517fdd1e2dd","s":"0x7903b3dd48963c0404f99807fd89cde2b66091c32178f66920120cb10981019","yParity":"0x1"}],"transactionsRoot":"0xc541c333ff4a96a17d3601f7d628ea27ecf4597a11077e5d9d1c4dbed6c7f401","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} diff --git a/tests/eth_getBlockByNumber/get-safe.io b/tests/eth_getBlockByNumber/get-safe.io index d037fd994..64a7afc64 100644 --- a/tests/eth_getBlockByNumber/get-safe.io +++ b/tests/eth_getBlockByNumber/get-safe.io @@ -1,3 +1,3 @@ -// gets block safe +// get the block with tag "safe" >> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["safe",true]} -<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x4426f2b","blobGasUsed":"0x20000","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x23f3e20","gasUsed":"0x23114","hash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","logsBloom":"0x00000000000000000000000000000000000000000000000000000100800000000000000000000000000000000000000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000040000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x14","parentBeaconBlockRoot":"0x3cc9f65fc1f46927eb46fbf6d14bc94af078fe8ff982a984bdd117152cd1549f","parentHash":"0x1d7b5a43a5084f39e0f614441d89745e1ed57a3806df1b11808b3a07dea93eec","receiptsRoot":"0x352a1ceb0040f363d3be40a62c347548c4737a2264a8dc42295d014d29c7c7a2","requestsHash":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x4c9","stateRoot":"0x5cb67082ed7f1c0f4afac419e964d07fb57207e503db479dd102c82a159e922c","timestamp":"0xc8","transactions":[{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x4426f2c","maxFeePerGas":"0x4426f2c","maxPriorityFeePerGas":"0x1","maxFeePerBlobGas":"0x20000","hash":"0xc8ec61d6406272bcfb78eff3144c78bd0c3e01a8c768f9372daa9009d985b405","input":"0x7346f7df2f4852bf656d6974","nonce":"0x48","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x0","value":"0x3","type":"0x3","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0xcb55d89f2ee070d017b426876d6072d91c2a7311ade9a1bed2f8200127ec380e"]}],"chainId":"0xc72dd9d5e883e","blobVersionedHashes":["0x015a4cab4911426699ed34483de6640cf55a568afc5c5edffdcbd8bcd4452f68"],"v":"0x0","r":"0x6f6b6702501bb7057ee089bab9db3a0b1263038b710c4e24b830c5a4301a4f13","s":"0x4bd3f5760b5bc55557b925b8c826ac87908d7f033191d322d934d5dda15d6e58","yParity":"0x0"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x4426f2c","hash":"0x05cbab94521c939eea4addcd4701ac90d80d532451f2de90e64ea9a90ed9cf34","input":"0x4520339faf61a8c6656d6974","nonce":"0x49","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x1","value":"0x2","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0xd5f990e30221242a0a08347a697a6645cf9167f80b4826943d01e5c61533948a","s":"0x9427d0bf15f14e41463e3d15fadbd2fde9bb57d8aae816f7b8681607d78df6"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x5208","gasPrice":"0x4426f2c","maxFeePerGas":"0x4426f2c","maxPriorityFeePerGas":"0x1","hash":"0x95e395eead6ad1b1491ce5e3be473c9a91c8dee68901046d89ce1830c8743560","input":"0x","nonce":"0x4a","to":"0x4a0f1452281bcec5bd90c3dce6162a5995bfe9df","transactionIndex":"0x2","value":"0x1","type":"0x2","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0x3473618eea298f71398cf7843636a3235d8d57fb53fb7eaab536e91c1b1742b4","s":"0x36e3f786c001ac910d7cf7b3c1bb5df6bdaa34c35025749d379c283178fea254","yParity":"0x1"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x5208","gasPrice":"0x4426f2c","hash":"0x1db344636ee1281c26b9ccef2a9636b5bed070c6b1b794a5e8854de6b0856ac2","input":"0x","nonce":"0x4b","to":"0x1f5bde34b4afc686f136c7a3cb6ec376f7357759","transactionIndex":"0x3","value":"0x1","type":"0x1","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0x2d21ed3cafa3e4fc9b84edfbc8ab98a693f0c498ca90f20fbb9ebce07ac08b71","s":"0x346da39f6b72e36b6758055d5700d0ca2223b14e799cb8e7899e6d3769ba8b98","yParity":"0x1"}],"transactionsRoot":"0xaef5ff32adb53bc5cc0dac8d00b552e0b4166f0ed2eb54dbe532012afb7d4d43","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} +<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x5763d64","blobGasUsed":"0x0","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x54a92","hash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","logsBloom":"0x00000000008000000000000000000040000000000000000000000000800000000000000008000000000000000000000000000000000000000000000000000000000000000000000000004000000000020200000000000000000000000000002000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x2d","parentBeaconBlockRoot":"0x4b118bd31ed2c4eeb81dc9e3919e9989994333fe36f147c2930f12c53f0d3c78","parentHash":"0xab97b6b403066d2f4b270171bd532cc489510c1e07df609718dfc875cace60f1","receiptsRoot":"0x2c86b2791cdd088d3c3e9d6225f71724d3e8c67bdd13cd6208831058cee1043f","requestsHash":"0x57cac3e52cdcd73e52bd9e54956e0eae370f00ed41f68edc78266bdb46c3a543","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x633","stateRoot":"0x67b58d6bd3c58396b464d3ae8f8a7e2e8ebf912b203ece9bf8a89063a79265bd","timestamp":"0x1c2","transactions":[{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x11c32","gasPrice":"0x5763d65","hash":"0x2fbbd036996c7487316c92b9e5798edb98fd57f32a6c1075e904a734821e1cd2","input":"0x600d380380600d6000396000f336156009575f355f555b305f525f5460205260405ff3","nonce":"0x9a","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd109f","r":"0x551fe45ccebb0318196e31dbc60da87c43dc60b8fb01afb3286693fa09878730","s":"0x40d33e9afecfe1516b045d61a3272bddbc83f482a7f2c749311248b50fe62e81"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0xb3b0","gasPrice":"0x5763d65","maxFeePerGas":"0x5763d65","maxPriorityFeePerGas":"0x1","hash":"0x16f6724ad864e7664c367893cae3e176d362bea3a47495cec3b246555a7228da","input":"0x","nonce":"0x9b","to":"0x0000000000000000000000000000000000000000","transactionIndex":"0x1","value":"0x0","type":"0x4","accessList":[],"chainId":"0xc72dd9d5e883e","authorizationList":[{"chainId":"0xc72dd9d5e883e","address":"0x58f8fe237b593c19546e1e758a2544561d04bfe0","nonce":"0x0","yParity":"0x1","r":"0xec6caeb1b7071f1b3ae36aeaa7bf0eaecb8e006e83b3e50d792870ea95af4c59","s":"0x1d1225f76d6faac3d904c0635193e83d3867c101b2e6f6c9bb7b1fdeeed923ab"}],"v":"0x1","r":"0x8ae3402e4f63751c895532b94aee0f7b6b8ff5d0b0a689f6d63b3dbd19d69059","s":"0x2e63e4d140b0d282d56289b34f3df82cbcb2f3aa385f5438a423584fe0c2b467","yParity":"0x1"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x11170","gasPrice":"0x5763d65","hash":"0xddf234c5f149d2d1a4d01276d42e38a6234bfa7b987c49ba889b028b429aac8f","input":"0x696e766f6b6564","nonce":"0x9c","to":"0xeda8645ba6948855e3b3cd596bbb07596d59c603","transactionIndex":"0x2","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0xfea7e18c82a1270f142572533bc2e6e33d6d41a3f1303403dd0a90dd7a4f35d","s":"0x4a4ab6c5bb4c31c3a5f8991ae45bad2303c45923404571f7b4c66adbd03b7936"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x249f0","gasPrice":"0x5763d65","maxFeePerGas":"0x5763d65","maxPriorityFeePerGas":"0x2","hash":"0x3d3d02e1bdc39a6eab20f7b44ed299ca61eb1d642806bfa07e3a7ee8edd700e5","input":"0xb917cfdc0d25b72d55cf94db328e1629b7f4fde2c30cdacf873b664416f76a0c7f7cc50c9f72a3cb84be88144cde91250000000000000d80","nonce":"0x9d","to":"0x00000961ef480eb55e80d19ad83579a64c007002","transactionIndex":"0x3","value":"0x3b9aca00","type":"0x2","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0x5f8b300cf80f7fb7e511460fa1a803278b47223f2c0a82857c5c0e5f7c900d23","s":"0x290bf2495235a106352786403ed937df8385a2356472569020fd952913690ec9","yParity":"0x1"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x5763d65","hash":"0x195a09414344f56e7a202d1493b258b2394b9b93811ce4ee96212a7d34ffb04f","input":"0x6b3b937565afc29f656d6974","nonce":"0x9e","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x4","value":"0x2","type":"0x1","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0xe8481f0a1ea7b2528784efff1d1b33cbd66ac97ebe2ae35c7997cacb2863430b"]}],"chainId":"0xc72dd9d5e883e","v":"0x0","r":"0x84f8b48ac6fbf39054c7794e6ff4e16a3bacbd0964b53d4d03ff668e7eda365","s":"0x2e4e86f2f5fbb8dad4ee8907eee4488f70c75bb646522b5197c4dcdc29ea31bf","yParity":"0x0"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x5208","gasPrice":"0x5763d65","hash":"0xdf66bea01c5cf47b48ec11453822d751a5daaf1d16959772c2196c5ab8cf8438","input":"0x","nonce":"0x9f","to":"0x4340ee1b812acb40a1eb561c019c327b243b92df","transactionIndex":"0x5","value":"0x1","type":"0x1","accessList":[],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0xec839e20a6f8ff0fb1043022e5816454191436ba7f6607bf6efe6517fdd1e2dd","s":"0x7903b3dd48963c0404f99807fd89cde2b66091c32178f66920120cb10981019","yParity":"0x1"}],"transactionsRoot":"0xc541c333ff4a96a17d3601f7d628ea27ecf4597a11077e5d9d1c4dbed6c7f401","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}} diff --git a/tests/eth_getBlockReceipts/get-block-receipts-by-hash.io b/tests/eth_getBlockReceipts/get-block-receipts-by-hash.io index 200b7ac6a..9af4744dd 100644 --- a/tests/eth_getBlockReceipts/get-block-receipts-by-hash.io +++ b/tests/eth_getBlockReceipts/get-block-receipts-by-hash.io @@ -1,3 +1,3 @@ // gets receipts for normal block hash ->> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f"]} -<< {"jsonrpc":"2.0","id":1,"result":[{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","contractAddress":"0x9344b07175800259691961298ca11c824e65032d","cumulativeGasUsed":"0xf777","effectiveGasPrice":"0x342770c1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xf777","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b","transactionIndex":"0x0","type":"0x0"},{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","contractAddress":"0x17e7eedce4ac02ef114a7ed9fe6e2f33feba1667","cumulativeGasUsed":"0x20d3e","effectiveGasPrice":"0x342770c1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x115c7","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0x1732167826154d3d414236a60c6e22cf99e3fc2542752e164b595473117612f9","transactionIndex":"0x1","type":"0x0"},{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","contractAddress":"0x0ee3ab1371c93e7c0c281cc0c2107cdebc8b1930","cumulativeGasUsed":"0x35129","effectiveGasPrice":"0x342770c1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x143eb","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0x7a6572aeb5f2825d5e243c7b1be4173abbe711d8fa0f692b1ee8ce859922cdb9","transactionIndex":"0x2","type":"0x0"},{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","contractAddress":"0x2c1287779024c3a2f0924b54816d79b7e378907d","cumulativeGasUsed":"0x4ee5f","effectiveGasPrice":"0x342770c1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x19d36","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0x97cb777e677baaddaf9d5c1c2f2d8efe8db65f7cc29a8baf78a427f92504bc47","transactionIndex":"0x3","type":"0x0"}]} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b"]} +<< {"jsonrpc":"2.0","id":1,"result":[{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","contractAddress":"0x9344b07175800259691961298ca11c824e65032d","cumulativeGasUsed":"0x102d3","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x102d3","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","root":"0x19fb42ec665b1940ad4b603066bb6efef7d0b97172806da958d1ada7094db01f","to":null,"transactionHash":"0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e","transactionIndex":"0x0","type":"0x0"},{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","contractAddress":"0x17e7eedce4ac02ef114a7ed9fe6e2f33feba1667","cumulativeGasUsed":"0x22adc","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x12809","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","root":"0x524da38c9b9e010d2c87c43afd7d1058aa3a5f06dbdbf94b9407ed3b1d3fdbb9","to":null,"transactionHash":"0x1999fb436409e9c2464bd9efc3aa914b2e8a843144fdcc17132fa9da0f15641e","transactionIndex":"0x1","type":"0x0"},{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","contractAddress":"0x0ee3ab1371c93e7c0c281cc0c2107cdebc8b1930","cumulativeGasUsed":"0x37cf5","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x15219","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","root":"0xf3535d252e57546f8a99295d058c78eb387edc17fa281aa96138a2c05e99c4bd","to":null,"transactionHash":"0x956484bbcfabb9218d9084f9d707b6171e226095729dc2ba40294e0b065948a4","transactionIndex":"0x2","type":"0x0"},{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","contractAddress":"0x2c1287779024c3a2f0924b54816d79b7e378907d","cumulativeGasUsed":"0x522af","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x1a5ba","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","root":"0xb7ef58b21edafbb00ab55e0ceb1f75d8249ce5e9cf499942f240028dae6eb8b8","to":null,"transactionHash":"0x709f12649d057e2ad0a0a41176cc405f80af735df8cf2b89782eb3ab1699e549","transactionIndex":"0x3","type":"0x0"}]} diff --git a/tests/eth_getBlockReceipts/get-block-receipts-future.io b/tests/eth_getBlockReceipts/get-block-receipts-future.io index 8a7657569..2fdc1262c 100644 --- a/tests/eth_getBlockReceipts/get-block-receipts-future.io +++ b/tests/eth_getBlockReceipts/get-block-receipts-future.io @@ -1,3 +1,3 @@ // gets receipts of future block ->> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["0x15"]} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["0x2e"]} << {"jsonrpc":"2.0","id":1,"result":null} diff --git a/tests/eth_getBlockReceipts/get-block-receipts-latest.io b/tests/eth_getBlockReceipts/get-block-receipts-latest.io index 632c78c29..79842c023 100644 --- a/tests/eth_getBlockReceipts/get-block-receipts-latest.io +++ b/tests/eth_getBlockReceipts/get-block-receipts-latest.io @@ -1,3 +1,3 @@ // gets receipts for block latest >> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["latest"]} -<< {"jsonrpc":"2.0","id":1,"result":[{"blobGasPrice":"0x1","blobGasUsed":"0x20000","blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","contractAddress":null,"cumulativeGasUsed":"0xca9c","effectiveGasPrice":"0x4426f2c","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xca9c","logs":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0xcb55d89f2ee070d017b426876d6072d91c2a7311ade9a1bed2f8200127ec380e"],"data":"0x000000000000000000000000000000000000000000000000000000000000001a","blockNumber":"0x14","transactionHash":"0xc8ec61d6406272bcfb78eff3144c78bd0c3e01a8c768f9372daa9009d985b405","transactionIndex":"0x0","blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","logIndex":"0x0","removed":false}],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionHash":"0xc8ec61d6406272bcfb78eff3144c78bd0c3e01a8c768f9372daa9009d985b405","transactionIndex":"0x0","type":"0x3"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","contractAddress":null,"cumulativeGasUsed":"0x18d04","effectiveGasPrice":"0x4426f2c","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xc268","logs":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x5a4c04b22b95f8645e99d4092111005b4d94518f8a4b70c933dff5500b085a5c"],"data":"0x000000000000000000000000000000000000000000000000000000000000001b","blockNumber":"0x14","transactionHash":"0x05cbab94521c939eea4addcd4701ac90d80d532451f2de90e64ea9a90ed9cf34","transactionIndex":"0x1","blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","logIndex":"0x1","removed":false}],"logsBloom":"0x00000000000000000000000000000000000000000000000000000100800000000000000000000000000000000000000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionHash":"0x05cbab94521c939eea4addcd4701ac90d80d532451f2de90e64ea9a90ed9cf34","transactionIndex":"0x1","type":"0x0"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","contractAddress":null,"cumulativeGasUsed":"0x1df0c","effectiveGasPrice":"0x4426f2c","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x5208","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x4a0f1452281bcec5bd90c3dce6162a5995bfe9df","transactionHash":"0x95e395eead6ad1b1491ce5e3be473c9a91c8dee68901046d89ce1830c8743560","transactionIndex":"0x2","type":"0x2"},{"blockHash":"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635","blockNumber":"0x14","contractAddress":null,"cumulativeGasUsed":"0x23114","effectiveGasPrice":"0x4426f2c","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x5208","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x1f5bde34b4afc686f136c7a3cb6ec376f7357759","transactionHash":"0x1db344636ee1281c26b9ccef2a9636b5bed070c6b1b794a5e8854de6b0856ac2","transactionIndex":"0x3","type":"0x1"}]} +<< {"jsonrpc":"2.0","id":1,"result":[{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","contractAddress":"0x58f8fe237b593c19546e1e758a2544561d04bfe0","cumulativeGasUsed":"0xe271","effectiveGasPrice":"0x5763d65","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xe271","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0x2fbbd036996c7487316c92b9e5798edb98fd57f32a6c1075e904a734821e1cd2","transactionIndex":"0x0","type":"0x0"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","contractAddress":null,"cumulativeGasUsed":"0x17231","effectiveGasPrice":"0x5763d65","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x8fc0","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x0000000000000000000000000000000000000000","transactionHash":"0x16f6724ad864e7664c367893cae3e176d362bea3a47495cec3b246555a7228da","transactionIndex":"0x1","type":"0x4"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","contractAddress":null,"cumulativeGasUsed":"0x21b95","effectiveGasPrice":"0x5763d65","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xa964","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0xeda8645ba6948855e3b3cd596bbb07596d59c603","transactionHash":"0xddf234c5f149d2d1a4d01276d42e38a6234bfa7b987c49ba889b028b429aac8f","transactionIndex":"0x2","type":"0x0"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","contractAddress":null,"cumulativeGasUsed":"0x42dee","effectiveGasPrice":"0x5763d65","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x21259","logs":[{"address":"0x00000961ef480eb55e80d19ad83579a64c007002","topics":[],"data":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865fb917cfdc0d25b72d55cf94db328e1629b7f4fde2c30cdacf873b664416f76a0c7f7cc50c9f72a3cb84be88144cde91250000000000000d80","blockNumber":"0x2d","transactionHash":"0x3d3d02e1bdc39a6eab20f7b44ed299ca61eb1d642806bfa07e3a7ee8edd700e5","transactionIndex":"0x3","blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","logIndex":"0x0","removed":false}],"logsBloom":"0x00000000008000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x00000961ef480eb55e80d19ad83579a64c007002","transactionHash":"0x3d3d02e1bdc39a6eab20f7b44ed299ca61eb1d642806bfa07e3a7ee8edd700e5","transactionIndex":"0x3","type":"0x2"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","contractAddress":null,"cumulativeGasUsed":"0x4f88a","effectiveGasPrice":"0x5763d65","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xca9c","logs":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0xe8481f0a1ea7b2528784efff1d1b33cbd66ac97ebe2ae35c7997cacb2863430b"],"data":"0x0000000000000000000000000000000000000000000000000000000000000029","blockNumber":"0x2d","transactionHash":"0x195a09414344f56e7a202d1493b258b2394b9b93811ce4ee96212a7d34ffb04f","transactionIndex":"0x4","blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","logIndex":"0x1","removed":false}],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000800000000000000008000000000000000000000000000000000000000000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionHash":"0x195a09414344f56e7a202d1493b258b2394b9b93811ce4ee96212a7d34ffb04f","transactionIndex":"0x4","type":"0x1"},{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","contractAddress":null,"cumulativeGasUsed":"0x54a92","effectiveGasPrice":"0x5763d65","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x5208","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x4340ee1b812acb40a1eb561c019c327b243b92df","transactionHash":"0xdf66bea01c5cf47b48ec11453822d751a5daaf1d16959772c2196c5ab8cf8438","transactionIndex":"0x5","type":"0x1"}]} diff --git a/tests/eth_getBlockReceipts/get-block-receipts-n.io b/tests/eth_getBlockReceipts/get-block-receipts-n.io index e1fb847d6..f7577234e 100644 --- a/tests/eth_getBlockReceipts/get-block-receipts-n.io +++ b/tests/eth_getBlockReceipts/get-block-receipts-n.io @@ -1,3 +1,3 @@ // gets receipts non-zero block >> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["0x1"]} -<< {"jsonrpc":"2.0","id":1,"result":[{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","contractAddress":"0x9344b07175800259691961298ca11c824e65032d","cumulativeGasUsed":"0xf777","effectiveGasPrice":"0x342770c1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xf777","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b","transactionIndex":"0x0","type":"0x0"},{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","contractAddress":"0x17e7eedce4ac02ef114a7ed9fe6e2f33feba1667","cumulativeGasUsed":"0x20d3e","effectiveGasPrice":"0x342770c1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x115c7","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0x1732167826154d3d414236a60c6e22cf99e3fc2542752e164b595473117612f9","transactionIndex":"0x1","type":"0x0"},{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","contractAddress":"0x0ee3ab1371c93e7c0c281cc0c2107cdebc8b1930","cumulativeGasUsed":"0x35129","effectiveGasPrice":"0x342770c1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x143eb","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0x7a6572aeb5f2825d5e243c7b1be4173abbe711d8fa0f692b1ee8ce859922cdb9","transactionIndex":"0x2","type":"0x0"},{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","contractAddress":"0x2c1287779024c3a2f0924b54816d79b7e378907d","cumulativeGasUsed":"0x4ee5f","effectiveGasPrice":"0x342770c1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x19d36","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0x97cb777e677baaddaf9d5c1c2f2d8efe8db65f7cc29a8baf78a427f92504bc47","transactionIndex":"0x3","type":"0x0"}]} +<< {"jsonrpc":"2.0","id":1,"result":[{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","contractAddress":"0x9344b07175800259691961298ca11c824e65032d","cumulativeGasUsed":"0x102d3","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x102d3","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","root":"0x19fb42ec665b1940ad4b603066bb6efef7d0b97172806da958d1ada7094db01f","to":null,"transactionHash":"0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e","transactionIndex":"0x0","type":"0x0"},{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","contractAddress":"0x17e7eedce4ac02ef114a7ed9fe6e2f33feba1667","cumulativeGasUsed":"0x22adc","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x12809","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","root":"0x524da38c9b9e010d2c87c43afd7d1058aa3a5f06dbdbf94b9407ed3b1d3fdbb9","to":null,"transactionHash":"0x1999fb436409e9c2464bd9efc3aa914b2e8a843144fdcc17132fa9da0f15641e","transactionIndex":"0x1","type":"0x0"},{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","contractAddress":"0x0ee3ab1371c93e7c0c281cc0c2107cdebc8b1930","cumulativeGasUsed":"0x37cf5","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x15219","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","root":"0xf3535d252e57546f8a99295d058c78eb387edc17fa281aa96138a2c05e99c4bd","to":null,"transactionHash":"0x956484bbcfabb9218d9084f9d707b6171e226095729dc2ba40294e0b065948a4","transactionIndex":"0x2","type":"0x0"},{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","contractAddress":"0x2c1287779024c3a2f0924b54816d79b7e378907d","cumulativeGasUsed":"0x522af","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x1a5ba","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","root":"0xb7ef58b21edafbb00ab55e0ceb1f75d8249ce5e9cf499942f240028dae6eb8b8","to":null,"transactionHash":"0x709f12649d057e2ad0a0a41176cc405f80af735df8cf2b89782eb3ab1699e549","transactionIndex":"0x3","type":"0x0"}]} diff --git a/tests/eth_getBlockTransactionCountByHash/get-block-n.io b/tests/eth_getBlockTransactionCountByHash/get-block-n.io index 8d6a63394..c50a1536b 100644 --- a/tests/eth_getBlockTransactionCountByHash/get-block-n.io +++ b/tests/eth_getBlockTransactionCountByHash/get-block-n.io @@ -1,3 +1,3 @@ // gets tx count in a non-empty block ->> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockTransactionCountByHash","params":["0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f"]} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockTransactionCountByHash","params":["0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b"]} << {"jsonrpc":"2.0","id":1,"result":"0x4"} diff --git a/tests/eth_getBlockTransactionCountByHash/get-genesis.io b/tests/eth_getBlockTransactionCountByHash/get-genesis.io index 6b2145b45..b8f78e0fe 100644 --- a/tests/eth_getBlockTransactionCountByHash/get-genesis.io +++ b/tests/eth_getBlockTransactionCountByHash/get-genesis.io @@ -1,3 +1,3 @@ // gets tx count in block 0 ->> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockTransactionCountByHash","params":["0x91aacf1b423949b99951aeb913b57e486981540c274403252d276bee048a8e02"]} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockTransactionCountByHash","params":["0x79e0f5ffb6a0c9f54d507dbbadc935603ac1db86d32f7857472180a75ec11f90"]} << {"jsonrpc":"2.0","id":1,"result":"0x0"} diff --git a/tests/eth_getCode/get-code-eip7702-delegation.io b/tests/eth_getCode/get-code-eip7702-delegation.io index f429c05d4..e46b2529b 100644 --- a/tests/eth_getCode/get-code-eip7702-delegation.io +++ b/tests/eth_getCode/get-code-eip7702-delegation.io @@ -1,4 +1,4 @@ // requests code of an account that has an EIP-7702 delegation. the server is expected to return // the delegation designator. >> {"jsonrpc":"2.0","id":1,"method":"eth_getCode","params":["0xeda8645ba6948855e3b3cd596bbb07596d59c603","latest"]} -<< {"jsonrpc":"2.0","id":1,"result":"0xef01006cad054757f422066e2e474e5e81ed495bdcc979"} +<< {"jsonrpc":"2.0","id":1,"result":"0xef010058f8fe237b593c19546e1e758a2544561d04bfe0"} diff --git a/tests/eth_getLogs/contract-addr.io b/tests/eth_getLogs/contract-addr.io index 09916e765..674a7eb4f 100644 --- a/tests/eth_getLogs/contract-addr.io +++ b/tests/eth_getLogs/contract-addr.io @@ -1,3 +1,3 @@ // queries for logs from a specific contract across a range of blocks >> {"jsonrpc":"2.0","id":1,"method":"eth_getLogs","params":[{"address":["0x7dcd17433742f4c0ca53122ab541d0ba67fc27df"],"fromBlock":"0x1","toBlock":"0x4","topics":null}]} -<< {"jsonrpc":"2.0","id":1,"result":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0xcafb6bca825986d957afdb8dae2d222b938677129730cb59744012d0477b5b69"],"data":"0x0000000000000000000000000000000000000000000000000000000000000000","blockNumber":"0x2","transactionHash":"0x5f30eb02ff7845668f4787fca3a549c6632fbeb3d282cddbc95001a3252acf28","transactionIndex":"0x5","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0xa","removed":false},{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x462708a3c1cd03b21605715d090136df64e227f7e7792f74bb1bd7a8288f8801"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001","blockNumber":"0x3","transactionHash":"0x2b027b6ede385a5dd48c9463fb91fd0d099c8919ed3bc83b3565293579f30e88","transactionIndex":"0x0","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logIndex":"0x0","removed":false},{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0xb52248fb459b43720abbf1d5218c4ede9036a623653b31c2077991e04da9a456"],"data":"0x0000000000000000000000000000000000000000000000000000000000000002","blockNumber":"0x3","transactionHash":"0x77ec9478917c59826176c8ab8380e6e5daa996148796b7bb21340dcd4db0b65e","transactionIndex":"0x1","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logIndex":"0x1","removed":false},{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x16c82ec8f9ca85b24056a511f7cf791544abe2afe8e59f0d08d17bc2cdc99f81"],"data":"0x0000000000000000000000000000000000000000000000000000000000000003","blockNumber":"0x3","transactionHash":"0x03b5c2bfdf18ad7ca821efaa6101e1be9eec8c649c60294d512d2f1ad37f1a04","transactionIndex":"0x2","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logIndex":"0x2","removed":false}]} +<< {"jsonrpc":"2.0","id":1,"result":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0xf4da19d6c17928e683661a52829cf391d3dc26d581152b81ce595a1207944f09"],"data":"0x0000000000000000000000000000000000000000000000000000000000000000","blockNumber":"0x2","transactionHash":"0x5bc704d4eb4ce7fe319705d2f888516961426a177f2799c9f934b5df7466dd33","transactionIndex":"0x2","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0xa","removed":false},{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x4238ace0bf7e66fd40fea01bdf43f4f30423f48432efd0da3af5fcb17a977fd4"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001","blockNumber":"0x4","transactionHash":"0xf047c5133c96c405a79d01038b4ccf8208c03e296dd9f6bea083727c9513f805","transactionIndex":"0x0","blockHash":"0x94540b21748e45497c41518ed68b2a0c16d728e917b665ae50d51f6895242e53","logIndex":"0x0","removed":false}]} diff --git a/tests/eth_getLogs/no-topics.io b/tests/eth_getLogs/no-topics.io index 317e9e65d..89ec5bcd0 100644 --- a/tests/eth_getLogs/no-topics.io +++ b/tests/eth_getLogs/no-topics.io @@ -1,3 +1,3 @@ // queries for all logs across a range of blocks >> {"jsonrpc":"2.0","id":1,"method":"eth_getLogs","params":[{"address":null,"fromBlock":"0x1","toBlock":"0x3","topics":null}]} -<< {"jsonrpc":"2.0","id":1,"result":[{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0xabbb5caa7dda850e60932de0934eb1f9d0f59695050f761dc64e443e5030a569"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001","blockNumber":"0x2","transactionHash":"0x51a7c013ddcc27a750952d2e07e2a36cbf311f5f7ddc5f4c308ed7f9e73b1c8f","transactionIndex":"0x0","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0x0","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0xd9d16d34ffb15ba3a3d852f0d403e2ce1d691fb54de27ac87cd2f993f3ec330f"],"data":"0x0000000000000000000000000000000000000000000000000000000000000002","blockNumber":"0x2","transactionHash":"0x51a7c013ddcc27a750952d2e07e2a36cbf311f5f7ddc5f4c308ed7f9e73b1c8f","transactionIndex":"0x0","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0x1","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28c"],"data":"0x0000000000000000000000000000000000000000000000000000000000000003","blockNumber":"0x2","transactionHash":"0x51a7c013ddcc27a750952d2e07e2a36cbf311f5f7ddc5f4c308ed7f9e73b1c8f","transactionIndex":"0x0","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0x2","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0xc3a24b0501bd2c13a7e57f2db4369ec4c223447539fc0724a9d55ac4a06ebd4d"],"data":"0x0000000000000000000000000000000000000000000000000000000000000004","blockNumber":"0x2","transactionHash":"0x51a7c013ddcc27a750952d2e07e2a36cbf311f5f7ddc5f4c308ed7f9e73b1c8f","transactionIndex":"0x0","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0x3","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x91da3fd0782e51c6b3986e9e672fd566868e71f3dbc2d6c2cd6fbb3e361af2a7"],"data":"0x0000000000000000000000000000000000000000000000000000000000000005","blockNumber":"0x2","transactionHash":"0x51a7c013ddcc27a750952d2e07e2a36cbf311f5f7ddc5f4c308ed7f9e73b1c8f","transactionIndex":"0x0","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0x4","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a"],"data":"0x0000000000000000000000000000000000000000000000000000000000000006","blockNumber":"0x2","transactionHash":"0x51a7c013ddcc27a750952d2e07e2a36cbf311f5f7ddc5f4c308ed7f9e73b1c8f","transactionIndex":"0x0","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0x5","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x8819ef417987f8ae7a81f42cdfb18815282fe989326fbff903d13cf0e03ace29"],"data":"0x0000000000000000000000000000000000000000000000000000000000000007","blockNumber":"0x2","transactionHash":"0x51a7c013ddcc27a750952d2e07e2a36cbf311f5f7ddc5f4c308ed7f9e73b1c8f","transactionIndex":"0x0","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0x6","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0xb7c774451310d1be4108bc180d1b52823cb0ee0274a6c0081bcaf94f115fb96d"],"data":"0x0000000000000000000000000000000000000000000000000000000000000008","blockNumber":"0x2","transactionHash":"0x51a7c013ddcc27a750952d2e07e2a36cbf311f5f7ddc5f4c308ed7f9e73b1c8f","transactionIndex":"0x0","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0x7","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x6add646517a5b0f6793cd5891b7937d28a5b2981a5d88ebc7cd776088fea9041"],"data":"0x0000000000000000000000000000000000000000000000000000000000000009","blockNumber":"0x2","transactionHash":"0x51a7c013ddcc27a750952d2e07e2a36cbf311f5f7ddc5f4c308ed7f9e73b1c8f","transactionIndex":"0x0","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0x8","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c3"],"data":"0x000000000000000000000000000000000000000000000000000000000000000a","blockNumber":"0x2","transactionHash":"0x51a7c013ddcc27a750952d2e07e2a36cbf311f5f7ddc5f4c308ed7f9e73b1c8f","transactionIndex":"0x0","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0x9","removed":false},{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0xcafb6bca825986d957afdb8dae2d222b938677129730cb59744012d0477b5b69"],"data":"0x0000000000000000000000000000000000000000000000000000000000000000","blockNumber":"0x2","transactionHash":"0x5f30eb02ff7845668f4787fca3a549c6632fbeb3d282cddbc95001a3252acf28","transactionIndex":"0x5","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0xa","removed":false},{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x462708a3c1cd03b21605715d090136df64e227f7e7792f74bb1bd7a8288f8801"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001","blockNumber":"0x3","transactionHash":"0x2b027b6ede385a5dd48c9463fb91fd0d099c8919ed3bc83b3565293579f30e88","transactionIndex":"0x0","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logIndex":"0x0","removed":false},{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0xb52248fb459b43720abbf1d5218c4ede9036a623653b31c2077991e04da9a456"],"data":"0x0000000000000000000000000000000000000000000000000000000000000002","blockNumber":"0x3","transactionHash":"0x77ec9478917c59826176c8ab8380e6e5daa996148796b7bb21340dcd4db0b65e","transactionIndex":"0x1","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logIndex":"0x1","removed":false},{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x16c82ec8f9ca85b24056a511f7cf791544abe2afe8e59f0d08d17bc2cdc99f81"],"data":"0x0000000000000000000000000000000000000000000000000000000000000003","blockNumber":"0x3","transactionHash":"0x03b5c2bfdf18ad7ca821efaa6101e1be9eec8c649c60294d512d2f1ad37f1a04","transactionIndex":"0x2","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logIndex":"0x2","removed":false},{"address":"0x00000961ef480eb55e80d19ad83579a64c007002","topics":[],"data":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865fb917cfdc0d25b72d55cf94db328e1629b7f4fde2c30cdacf873b664416f76a0c7f7cc50c9f72a3cb84be88144cde91250000000000000d80","blockNumber":"0x3","transactionHash":"0x4db08351723a1e9d110b73fac0d8c2cd4d088c5c7c91be3754dcabe450deaa82","transactionIndex":"0x3","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logIndex":"0x3","removed":false}]} +<< {"jsonrpc":"2.0","id":1,"result":[{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0xabbb5caa7dda850e60932de0934eb1f9d0f59695050f761dc64e443e5030a569"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001","blockNumber":"0x2","transactionHash":"0x25d8b4a27c4578e5de6441f98881cf050ab2d9f28ceb28559ece0b65f555e9d8","transactionIndex":"0x0","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0x0","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0xd9d16d34ffb15ba3a3d852f0d403e2ce1d691fb54de27ac87cd2f993f3ec330f"],"data":"0x0000000000000000000000000000000000000000000000000000000000000002","blockNumber":"0x2","transactionHash":"0x25d8b4a27c4578e5de6441f98881cf050ab2d9f28ceb28559ece0b65f555e9d8","transactionIndex":"0x0","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0x1","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28c"],"data":"0x0000000000000000000000000000000000000000000000000000000000000003","blockNumber":"0x2","transactionHash":"0x25d8b4a27c4578e5de6441f98881cf050ab2d9f28ceb28559ece0b65f555e9d8","transactionIndex":"0x0","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0x2","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0xc3a24b0501bd2c13a7e57f2db4369ec4c223447539fc0724a9d55ac4a06ebd4d"],"data":"0x0000000000000000000000000000000000000000000000000000000000000004","blockNumber":"0x2","transactionHash":"0x25d8b4a27c4578e5de6441f98881cf050ab2d9f28ceb28559ece0b65f555e9d8","transactionIndex":"0x0","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0x3","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x91da3fd0782e51c6b3986e9e672fd566868e71f3dbc2d6c2cd6fbb3e361af2a7"],"data":"0x0000000000000000000000000000000000000000000000000000000000000005","blockNumber":"0x2","transactionHash":"0x25d8b4a27c4578e5de6441f98881cf050ab2d9f28ceb28559ece0b65f555e9d8","transactionIndex":"0x0","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0x4","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a"],"data":"0x0000000000000000000000000000000000000000000000000000000000000006","blockNumber":"0x2","transactionHash":"0x25d8b4a27c4578e5de6441f98881cf050ab2d9f28ceb28559ece0b65f555e9d8","transactionIndex":"0x0","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0x5","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x8819ef417987f8ae7a81f42cdfb18815282fe989326fbff903d13cf0e03ace29"],"data":"0x0000000000000000000000000000000000000000000000000000000000000007","blockNumber":"0x2","transactionHash":"0x25d8b4a27c4578e5de6441f98881cf050ab2d9f28ceb28559ece0b65f555e9d8","transactionIndex":"0x0","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0x6","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0xb7c774451310d1be4108bc180d1b52823cb0ee0274a6c0081bcaf94f115fb96d"],"data":"0x0000000000000000000000000000000000000000000000000000000000000008","blockNumber":"0x2","transactionHash":"0x25d8b4a27c4578e5de6441f98881cf050ab2d9f28ceb28559ece0b65f555e9d8","transactionIndex":"0x0","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0x7","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x6add646517a5b0f6793cd5891b7937d28a5b2981a5d88ebc7cd776088fea9041"],"data":"0x0000000000000000000000000000000000000000000000000000000000000009","blockNumber":"0x2","transactionHash":"0x25d8b4a27c4578e5de6441f98881cf050ab2d9f28ceb28559ece0b65f555e9d8","transactionIndex":"0x0","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0x8","removed":false},{"address":"0x882e7e5d12617c267a72948e716f231fa79e6d51","topics":["0x6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c3"],"data":"0x000000000000000000000000000000000000000000000000000000000000000a","blockNumber":"0x2","transactionHash":"0x25d8b4a27c4578e5de6441f98881cf050ab2d9f28ceb28559ece0b65f555e9d8","transactionIndex":"0x0","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0x9","removed":false},{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0xf4da19d6c17928e683661a52829cf391d3dc26d581152b81ce595a1207944f09"],"data":"0x0000000000000000000000000000000000000000000000000000000000000000","blockNumber":"0x2","transactionHash":"0x5bc704d4eb4ce7fe319705d2f888516961426a177f2799c9f934b5df7466dd33","transactionIndex":"0x2","blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","logIndex":"0xa","removed":false},{"address":"0xa788ca96a910bac854f95b794776c1ad847dcdd5","topics":["0x101e368776582e57ab3d116ffe2517c0a585cd5b23174b01e275c2d8329c3d83"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001","blockNumber":"0x3","transactionHash":"0xfecc4d4439d77962b8c27e7e652294717fcd75379cab400bbefb2975a960344c","transactionIndex":"0x1","blockHash":"0x30adf30837c967524cbcf881c024c194eee010b3750feef2e45a674979b2cd36","logIndex":"0x0","removed":false},{"address":"0xa788ca96a910bac854f95b794776c1ad847dcdd5","topics":["0x7dfe757ecd65cbd7922a9c0161e935dd7fdbcc0e999689c7d31633896b1fc60b"],"data":"0x0000000000000000000000000000000000000000000000000000000000000002","blockNumber":"0x3","transactionHash":"0xfecc4d4439d77962b8c27e7e652294717fcd75379cab400bbefb2975a960344c","transactionIndex":"0x1","blockHash":"0x30adf30837c967524cbcf881c024c194eee010b3750feef2e45a674979b2cd36","logIndex":"0x1","removed":false},{"address":"0xa788ca96a910bac854f95b794776c1ad847dcdd5","topics":["0x88601476d11616a71c5be67555bd1dff4b1cbf21533d2669b768b61518cfe1c3"],"data":"0x0000000000000000000000000000000000000000000000000000000000000003","blockNumber":"0x3","transactionHash":"0xfecc4d4439d77962b8c27e7e652294717fcd75379cab400bbefb2975a960344c","transactionIndex":"0x1","blockHash":"0x30adf30837c967524cbcf881c024c194eee010b3750feef2e45a674979b2cd36","logIndex":"0x2","removed":false},{"address":"0xa788ca96a910bac854f95b794776c1ad847dcdd5","topics":["0xcbc4e5fb02c3d1de23a9f1e014b4d2ee5aeaea9505df5e855c9210bf472495af"],"data":"0x0000000000000000000000000000000000000000000000000000000000000004","blockNumber":"0x3","transactionHash":"0xfecc4d4439d77962b8c27e7e652294717fcd75379cab400bbefb2975a960344c","transactionIndex":"0x1","blockHash":"0x30adf30837c967524cbcf881c024c194eee010b3750feef2e45a674979b2cd36","logIndex":"0x3","removed":false},{"address":"0xa788ca96a910bac854f95b794776c1ad847dcdd5","topics":["0x2e174c10e159ea99b867ce3205125c24a42d128804e4070ed6fcc8cc98166aa0"],"data":"0x0000000000000000000000000000000000000000000000000000000000000005","blockNumber":"0x3","transactionHash":"0xfecc4d4439d77962b8c27e7e652294717fcd75379cab400bbefb2975a960344c","transactionIndex":"0x1","blockHash":"0x30adf30837c967524cbcf881c024c194eee010b3750feef2e45a674979b2cd36","logIndex":"0x4","removed":false},{"address":"0xa788ca96a910bac854f95b794776c1ad847dcdd5","topics":["0xa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc0"],"data":"0x0000000000000000000000000000000000000000000000000000000000000006","blockNumber":"0x3","transactionHash":"0xfecc4d4439d77962b8c27e7e652294717fcd75379cab400bbefb2975a960344c","transactionIndex":"0x1","blockHash":"0x30adf30837c967524cbcf881c024c194eee010b3750feef2e45a674979b2cd36","logIndex":"0x5","removed":false},{"address":"0xa788ca96a910bac854f95b794776c1ad847dcdd5","topics":["0x75f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d2"],"data":"0x0000000000000000000000000000000000000000000000000000000000000007","blockNumber":"0x3","transactionHash":"0xfecc4d4439d77962b8c27e7e652294717fcd75379cab400bbefb2975a960344c","transactionIndex":"0x1","blockHash":"0x30adf30837c967524cbcf881c024c194eee010b3750feef2e45a674979b2cd36","logIndex":"0x6","removed":false},{"address":"0xa788ca96a910bac854f95b794776c1ad847dcdd5","topics":["0x3be6fd20d5acfde5b873b48692cd31f4d3c7e8ee8a813af4696af8859e5ca6c6"],"data":"0x0000000000000000000000000000000000000000000000000000000000000008","blockNumber":"0x3","transactionHash":"0xfecc4d4439d77962b8c27e7e652294717fcd75379cab400bbefb2975a960344c","transactionIndex":"0x1","blockHash":"0x30adf30837c967524cbcf881c024c194eee010b3750feef2e45a674979b2cd36","logIndex":"0x7","removed":false},{"address":"0xa788ca96a910bac854f95b794776c1ad847dcdd5","topics":["0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455"],"data":"0x0000000000000000000000000000000000000000000000000000000000000009","blockNumber":"0x3","transactionHash":"0xfecc4d4439d77962b8c27e7e652294717fcd75379cab400bbefb2975a960344c","transactionIndex":"0x1","blockHash":"0x30adf30837c967524cbcf881c024c194eee010b3750feef2e45a674979b2cd36","logIndex":"0x8","removed":false},{"address":"0xa788ca96a910bac854f95b794776c1ad847dcdd5","topics":["0xc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e7"],"data":"0x000000000000000000000000000000000000000000000000000000000000000a","blockNumber":"0x3","transactionHash":"0xfecc4d4439d77962b8c27e7e652294717fcd75379cab400bbefb2975a960344c","transactionIndex":"0x1","blockHash":"0x30adf30837c967524cbcf881c024c194eee010b3750feef2e45a674979b2cd36","logIndex":"0x9","removed":false}]} diff --git a/tests/eth_getLogs/topic-exact-match.io b/tests/eth_getLogs/topic-exact-match.io index fa00cfd44..4795cc411 100644 --- a/tests/eth_getLogs/topic-exact-match.io +++ b/tests/eth_getLogs/topic-exact-match.io @@ -1,3 +1,3 @@ // queries for logs with two topics, with both topics set explictly ->> {"jsonrpc":"2.0","id":1,"method":"eth_getLogs","params":[{"address":null,"fromBlock":"0x2","toBlock":"0x5","topics":[["0x00000000000000000000000000000000000000000000000000000000656d6974"],["0x16c82ec8f9ca85b24056a511f7cf791544abe2afe8e59f0d08d17bc2cdc99f81"]]}]} -<< {"jsonrpc":"2.0","id":1,"result":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x16c82ec8f9ca85b24056a511f7cf791544abe2afe8e59f0d08d17bc2cdc99f81"],"data":"0x0000000000000000000000000000000000000000000000000000000000000003","blockNumber":"0x3","transactionHash":"0x03b5c2bfdf18ad7ca821efaa6101e1be9eec8c649c60294d512d2f1ad37f1a04","transactionIndex":"0x2","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logIndex":"0x2","removed":false}]} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getLogs","params":[{"address":null,"fromBlock":"0x3","toBlock":"0x6","topics":[["0x00000000000000000000000000000000000000000000000000000000656d6974"],["0x4238ace0bf7e66fd40fea01bdf43f4f30423f48432efd0da3af5fcb17a977fd4"]]}]} +<< {"jsonrpc":"2.0","id":1,"result":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x4238ace0bf7e66fd40fea01bdf43f4f30423f48432efd0da3af5fcb17a977fd4"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001","blockNumber":"0x4","transactionHash":"0xf047c5133c96c405a79d01038b4ccf8208c03e296dd9f6bea083727c9513f805","transactionIndex":"0x0","blockHash":"0x94540b21748e45497c41518ed68b2a0c16d728e917b665ae50d51f6895242e53","logIndex":"0x0","removed":false}]} diff --git a/tests/eth_getLogs/topic-wildcard.io b/tests/eth_getLogs/topic-wildcard.io index 2ee24af48..9a798698c 100644 --- a/tests/eth_getLogs/topic-wildcard.io +++ b/tests/eth_getLogs/topic-wildcard.io @@ -1,3 +1,3 @@ // queries for logs with two topics, performing a wildcard match in topic position zero ->> {"jsonrpc":"2.0","id":1,"method":"eth_getLogs","params":[{"address":null,"fromBlock":"0x2","toBlock":"0x5","topics":[[],["0x16c82ec8f9ca85b24056a511f7cf791544abe2afe8e59f0d08d17bc2cdc99f81"]]}]} -<< {"jsonrpc":"2.0","id":1,"result":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x16c82ec8f9ca85b24056a511f7cf791544abe2afe8e59f0d08d17bc2cdc99f81"],"data":"0x0000000000000000000000000000000000000000000000000000000000000003","blockNumber":"0x3","transactionHash":"0x03b5c2bfdf18ad7ca821efaa6101e1be9eec8c649c60294d512d2f1ad37f1a04","transactionIndex":"0x2","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logIndex":"0x2","removed":false}]} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getLogs","params":[{"address":null,"fromBlock":"0x3","toBlock":"0x6","topics":[[],["0x4238ace0bf7e66fd40fea01bdf43f4f30423f48432efd0da3af5fcb17a977fd4"]]}]} +<< {"jsonrpc":"2.0","id":1,"result":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x4238ace0bf7e66fd40fea01bdf43f4f30423f48432efd0da3af5fcb17a977fd4"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001","blockNumber":"0x4","transactionHash":"0xf047c5133c96c405a79d01038b4ccf8208c03e296dd9f6bea083727c9513f805","transactionIndex":"0x0","blockHash":"0x94540b21748e45497c41518ed68b2a0c16d728e917b665ae50d51f6895242e53","logIndex":"0x0","removed":false}]} diff --git a/tests/eth_getProof/get-account-proof-blockhash.io b/tests/eth_getProof/get-account-proof-blockhash.io index 03ae2ef11..df0c7f809 100644 --- a/tests/eth_getProof/get-account-proof-blockhash.io +++ b/tests/eth_getProof/get-account-proof-blockhash.io @@ -1,3 +1,3 @@ // gets proof for a certain account at the specified blockhash ->> {"jsonrpc":"2.0","id":1,"method":"eth_getProof","params":["0x7dcd17433742f4c0ca53122ab541d0ba67fc27df",[],"0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635"]} -<< {"jsonrpc":"2.0","id":1,"result":{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","accountProof":["0xf90211a06dd8ace21c31320d94ac9092aa0006fe58a659bbd0b4cb4ae2d302cbb3f78f1aa0d64cca2a44674fe8eee215be82974fa85f69681f02238478daf78548dcaf0b9da05277d5479048ffd4849f746eae1c277ab6778950d19def8f56535eedf2eb00aca05e427744bb6faab86a9748f83ea5ef0232f6a79d30681f3dde3d38c6b3fe09a4a082ecfb821321736c70198cd5bc3651fae03d1dea62339e3a6da102b1c3e078c6a06f2a5a036355c81e8beeafca34523161f7f2cecfc62d84604e99f6e440b6d261a0886bdcb450752caa56d103e308ce61344aae9fd8a5c67e08936875ce1ae6b935a029ad7803f0618c5cc3cddf9482ebf8b0600108d65de43274ebaa41d2eef8ac58a04d606369546c0554199d0724243bf4738d0a48e0e53250f4292da2c53512db58a04598bd2e0756e3bafa8cd16d943e84e0f5cdbb6ae4864a3bc6ffd5ebb6fe7e5aa0ecc32d42721fb1406193af6adefe63b689122ba945cfe9f6fc68b679daedd719a0041cd6a6c02907104ea1887b32cdc6e7cb5c99bffe0e4784a131eb86f2165b8ba0ed9602b2aa2169894864a446141cf4a6a50973ccc690965c6759ad69459c3053a073d5ebfc0cc0c788710c7a1098c6ee394c55640e03df65afa3ff967f585e1298a0aa9b2dc98f718c60582a6caf907c038d01ee5a2260d59b051b61a041bdcf382ca0a08e6bab71f325426d28b00310670752292f5e46cc9cbc8a2b08ea3835f8cbf580","0xf85180a0ffb1c33d039a128c812601451d15f11d6e8e77a47eac965fa7752c964fa0d55780808080808080808080808080a066f0ea34b785d7feb8e7a4cba368c8903685fa2c3b5469b04f0fe0736294b06780","0xf869a0201f52c702c40589735c4b038bd94e04268a58c35afad63bb16c071d62d2e23db846f844803fa00c06d6e8fd3cf8d5f764250fd46b5aaebff3a698f20b7813ed0ebe3715c7c3afa0a3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2"],"balance":"0x3f","codeHash":"0xa3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2","nonce":"0x0","storageHash":"0x0c06d6e8fd3cf8d5f764250fd46b5aaebff3a698f20b7813ed0ebe3715c7c3af","storageProof":[]}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getProof","params":["0x7dcd17433742f4c0ca53122ab541d0ba67fc27df",[],"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1"]} +<< {"jsonrpc":"2.0","id":1,"result":{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","accountProof":["0xf90211a0c1ec0ebf911208cfe3eb68d6005b3e83c8fa3446b42f60fca3c6e67df126066aa062eddfd4f3121af0cca8b1a80cc0aeeef27da44fa1d57bc459309b14e663376aa0a5ca83efc5562f922e920d8617a5424ab9e76f140e59322b2b58fe23d899154aa0a569c3cece07d30f89a0c26b07f26a8587a472eec47ef8e4cc4565906b7cbfcda046e0146cd8bea61832767a51f351a4a3b0e7805ecec8d37d34deaf55e2358727a0c8a026b35da2c52f23e648041664219a0fae9350133416181dd47364e72129fda016affcf49452d6d3890875100f28314aa3422d8d8e089e504685b016b2365193a0d5af301540181bdcd204a91043b7fcd12b82e9d822ac387b8b162afc78bfba44a01e9eaae8fd500f4fcd414445cc0655fd0441a27a60265038f9a931991b20560ea0260ad345164f9d71fff585d8bb1dcff50a0263024176f48f2f2c9eefbf6bd429a0dd9dec9944b0a9f99002efc2e646a46464324020fa1cc4b1e2190e957126f637a0aaff546e530961eb05171154f83e391d56b8a555b94275aced4fd66630d75871a04a67aa8ecba3084a66962b45e056e12842925af61302e8525bd3fe6a0b15b509a089be1200c01a32cd74d93139db15642514353607bc748d17edffe2be33117587a056461cdbabb61606d146fefa28cc3c3079dfa6a8185e20bb907008a747fd3585a0ab222e04aba14634b1e7df14a1501e39532099c1438029a48141ed23ed695f8180","0xf89180a04ac1ba639ed12834273b97e887172fc715caa3be0ffeab1c1ac6e2b8abd787ac808080808080808080a092ae670bd6f4c589e1ae40d5ceee9fb91ae0dbbd3c037daa07e0a56978e143d08080a03cf15545ea6e26226b9c7f2d18d9dc9ea7b034edb507b7704104c65d4dbdc825a004511c6377a766accc6ebb201edd01f8a7d246118ad7bf231aaddf788b82de3680","0xf869a0201f52c702c40589735c4b038bd94e04268a58c35afad63bb16c071d62d2e23db846f8448056a0de3dbb656325fb05cd75718441171cba6371529f1761f6649dd29b97557e0585a0a3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2"],"balance":"0x56","codeHash":"0xa3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2","nonce":"0x0","storageHash":"0xde3dbb656325fb05cd75718441171cba6371529f1761f6649dd29b97557e0585","storageProof":[]}} diff --git a/tests/eth_getProof/get-account-proof-latest.io b/tests/eth_getProof/get-account-proof-latest.io index 286db3664..dca11cfb2 100644 --- a/tests/eth_getProof/get-account-proof-latest.io +++ b/tests/eth_getProof/get-account-proof-latest.io @@ -1,3 +1,3 @@ // requests the account proof for a known account >> {"jsonrpc":"2.0","id":1,"method":"eth_getProof","params":["0x7dcd17433742f4c0ca53122ab541d0ba67fc27df",[],"latest"]} -<< {"jsonrpc":"2.0","id":1,"result":{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","accountProof":["0xf90211a06dd8ace21c31320d94ac9092aa0006fe58a659bbd0b4cb4ae2d302cbb3f78f1aa0d64cca2a44674fe8eee215be82974fa85f69681f02238478daf78548dcaf0b9da05277d5479048ffd4849f746eae1c277ab6778950d19def8f56535eedf2eb00aca05e427744bb6faab86a9748f83ea5ef0232f6a79d30681f3dde3d38c6b3fe09a4a082ecfb821321736c70198cd5bc3651fae03d1dea62339e3a6da102b1c3e078c6a06f2a5a036355c81e8beeafca34523161f7f2cecfc62d84604e99f6e440b6d261a0886bdcb450752caa56d103e308ce61344aae9fd8a5c67e08936875ce1ae6b935a029ad7803f0618c5cc3cddf9482ebf8b0600108d65de43274ebaa41d2eef8ac58a04d606369546c0554199d0724243bf4738d0a48e0e53250f4292da2c53512db58a04598bd2e0756e3bafa8cd16d943e84e0f5cdbb6ae4864a3bc6ffd5ebb6fe7e5aa0ecc32d42721fb1406193af6adefe63b689122ba945cfe9f6fc68b679daedd719a0041cd6a6c02907104ea1887b32cdc6e7cb5c99bffe0e4784a131eb86f2165b8ba0ed9602b2aa2169894864a446141cf4a6a50973ccc690965c6759ad69459c3053a073d5ebfc0cc0c788710c7a1098c6ee394c55640e03df65afa3ff967f585e1298a0aa9b2dc98f718c60582a6caf907c038d01ee5a2260d59b051b61a041bdcf382ca0a08e6bab71f325426d28b00310670752292f5e46cc9cbc8a2b08ea3835f8cbf580","0xf85180a0ffb1c33d039a128c812601451d15f11d6e8e77a47eac965fa7752c964fa0d55780808080808080808080808080a066f0ea34b785d7feb8e7a4cba368c8903685fa2c3b5469b04f0fe0736294b06780","0xf869a0201f52c702c40589735c4b038bd94e04268a58c35afad63bb16c071d62d2e23db846f844803fa00c06d6e8fd3cf8d5f764250fd46b5aaebff3a698f20b7813ed0ebe3715c7c3afa0a3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2"],"balance":"0x3f","codeHash":"0xa3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2","nonce":"0x0","storageHash":"0x0c06d6e8fd3cf8d5f764250fd46b5aaebff3a698f20b7813ed0ebe3715c7c3af","storageProof":[]}} +<< {"jsonrpc":"2.0","id":1,"result":{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","accountProof":["0xf90211a0c1ec0ebf911208cfe3eb68d6005b3e83c8fa3446b42f60fca3c6e67df126066aa062eddfd4f3121af0cca8b1a80cc0aeeef27da44fa1d57bc459309b14e663376aa0a5ca83efc5562f922e920d8617a5424ab9e76f140e59322b2b58fe23d899154aa0a569c3cece07d30f89a0c26b07f26a8587a472eec47ef8e4cc4565906b7cbfcda046e0146cd8bea61832767a51f351a4a3b0e7805ecec8d37d34deaf55e2358727a0c8a026b35da2c52f23e648041664219a0fae9350133416181dd47364e72129fda016affcf49452d6d3890875100f28314aa3422d8d8e089e504685b016b2365193a0d5af301540181bdcd204a91043b7fcd12b82e9d822ac387b8b162afc78bfba44a01e9eaae8fd500f4fcd414445cc0655fd0441a27a60265038f9a931991b20560ea0260ad345164f9d71fff585d8bb1dcff50a0263024176f48f2f2c9eefbf6bd429a0dd9dec9944b0a9f99002efc2e646a46464324020fa1cc4b1e2190e957126f637a0aaff546e530961eb05171154f83e391d56b8a555b94275aced4fd66630d75871a04a67aa8ecba3084a66962b45e056e12842925af61302e8525bd3fe6a0b15b509a089be1200c01a32cd74d93139db15642514353607bc748d17edffe2be33117587a056461cdbabb61606d146fefa28cc3c3079dfa6a8185e20bb907008a747fd3585a0ab222e04aba14634b1e7df14a1501e39532099c1438029a48141ed23ed695f8180","0xf89180a04ac1ba639ed12834273b97e887172fc715caa3be0ffeab1c1ac6e2b8abd787ac808080808080808080a092ae670bd6f4c589e1ae40d5ceee9fb91ae0dbbd3c037daa07e0a56978e143d08080a03cf15545ea6e26226b9c7f2d18d9dc9ea7b034edb507b7704104c65d4dbdc825a004511c6377a766accc6ebb201edd01f8a7d246118ad7bf231aaddf788b82de3680","0xf869a0201f52c702c40589735c4b038bd94e04268a58c35afad63bb16c071d62d2e23db846f8448056a0de3dbb656325fb05cd75718441171cba6371529f1761f6649dd29b97557e0585a0a3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2"],"balance":"0x56","codeHash":"0xa3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2","nonce":"0x0","storageHash":"0xde3dbb656325fb05cd75718441171cba6371529f1761f6649dd29b97557e0585","storageProof":[]}} diff --git a/tests/eth_getProof/get-account-proof-with-storage.io b/tests/eth_getProof/get-account-proof-with-storage.io index 4c9186739..6b2c4ce80 100644 --- a/tests/eth_getProof/get-account-proof-with-storage.io +++ b/tests/eth_getProof/get-account-proof-with-storage.io @@ -1,3 +1,3 @@ // gets proof for a certain account >> {"jsonrpc":"2.0","id":1,"method":"eth_getProof","params":["0x7dcd17433742f4c0ca53122ab541d0ba67fc27df",["0x00"],"latest"]} -<< {"jsonrpc":"2.0","id":1,"result":{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","accountProof":["0xf90211a06dd8ace21c31320d94ac9092aa0006fe58a659bbd0b4cb4ae2d302cbb3f78f1aa0d64cca2a44674fe8eee215be82974fa85f69681f02238478daf78548dcaf0b9da05277d5479048ffd4849f746eae1c277ab6778950d19def8f56535eedf2eb00aca05e427744bb6faab86a9748f83ea5ef0232f6a79d30681f3dde3d38c6b3fe09a4a082ecfb821321736c70198cd5bc3651fae03d1dea62339e3a6da102b1c3e078c6a06f2a5a036355c81e8beeafca34523161f7f2cecfc62d84604e99f6e440b6d261a0886bdcb450752caa56d103e308ce61344aae9fd8a5c67e08936875ce1ae6b935a029ad7803f0618c5cc3cddf9482ebf8b0600108d65de43274ebaa41d2eef8ac58a04d606369546c0554199d0724243bf4738d0a48e0e53250f4292da2c53512db58a04598bd2e0756e3bafa8cd16d943e84e0f5cdbb6ae4864a3bc6ffd5ebb6fe7e5aa0ecc32d42721fb1406193af6adefe63b689122ba945cfe9f6fc68b679daedd719a0041cd6a6c02907104ea1887b32cdc6e7cb5c99bffe0e4784a131eb86f2165b8ba0ed9602b2aa2169894864a446141cf4a6a50973ccc690965c6759ad69459c3053a073d5ebfc0cc0c788710c7a1098c6ee394c55640e03df65afa3ff967f585e1298a0aa9b2dc98f718c60582a6caf907c038d01ee5a2260d59b051b61a041bdcf382ca0a08e6bab71f325426d28b00310670752292f5e46cc9cbc8a2b08ea3835f8cbf580","0xf85180a0ffb1c33d039a128c812601451d15f11d6e8e77a47eac965fa7752c964fa0d55780808080808080808080808080a066f0ea34b785d7feb8e7a4cba368c8903685fa2c3b5469b04f0fe0736294b06780","0xf869a0201f52c702c40589735c4b038bd94e04268a58c35afad63bb16c071d62d2e23db846f844803fa00c06d6e8fd3cf8d5f764250fd46b5aaebff3a698f20b7813ed0ebe3715c7c3afa0a3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2"],"balance":"0x3f","codeHash":"0xa3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2","nonce":"0x0","storageHash":"0x0c06d6e8fd3cf8d5f764250fd46b5aaebff3a698f20b7813ed0ebe3715c7c3af","storageProof":[{"key":"0x0","value":"0x1c","proof":["0xf901d1a0c213124b9222692adadf1623505aede960c0931c033366d6b4e1832e9face0e4a04db2f6100702bd6edc3449d1af73d7fc89bd58ecb89419211cc9cea9d5e36a47a08c881030f3b37c0c65eb2e1d2afe94297a35c3c8ea5e946be436ec7b982dd864a00bf22d43e93c96fd47a33eda1dba34de46b338d448bce60a1fc5027ed0c1cee5a03e16690e5a15ffc0eb9afe168acaf1c36f2d97815fd8516c6fb9b1ec0548f754a0f128939c9145c4c1cbd7a69f94fb9a8904f91d54caf50974e708480a61be5d638080a0bc8c4cfbb85a4ace5b484be6d0c5bbdfc75368aaf83986f75b10bdee9f34f2d3a01016bc220459c1c77d0f322f308590e368785635e811f9df9e39e83c72d95565a053e6ec15db6d941bb632aa9a12012afb7a27e29cfcb02139e5017617acaec2f0a0b21742954aa8562494e843bde2df4cc511696680b9020aa62b6105ac9a7aab37a0d53c7900e9b0068fe26d77db78e2edb43dc5b52bfbcd50cd27ff045b4cc6d1fca028aa7b11cd4a7cc7b31b82ea25be30fd674b2bae3580b7bd0dc4e7c17c538354a0263786b1dbd8a47b563244323a8d2286ace6da5e8be56ffef647922d5d4276eda030d23bfc90fa78c278c1047e670efe64f347a466b0aa217c782ebba19145b73380","0xf871808080808080808080a0a12a729c8a5250933e249fedb116df8ebd29e72d260cab050f4ec5b34223d8e1a08bdf6c8dc0fdac64d727272bebe1af5fd9b8fbe702068df758366cfd167017f680808080a0b2b53be089701eb239463766f4394ac86a0b9aea72db682a1928c0fac8194deb80","0xe2a0200decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5631c"]}]}} +<< {"jsonrpc":"2.0","id":1,"result":{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","accountProof":["0xf90211a0c1ec0ebf911208cfe3eb68d6005b3e83c8fa3446b42f60fca3c6e67df126066aa062eddfd4f3121af0cca8b1a80cc0aeeef27da44fa1d57bc459309b14e663376aa0a5ca83efc5562f922e920d8617a5424ab9e76f140e59322b2b58fe23d899154aa0a569c3cece07d30f89a0c26b07f26a8587a472eec47ef8e4cc4565906b7cbfcda046e0146cd8bea61832767a51f351a4a3b0e7805ecec8d37d34deaf55e2358727a0c8a026b35da2c52f23e648041664219a0fae9350133416181dd47364e72129fda016affcf49452d6d3890875100f28314aa3422d8d8e089e504685b016b2365193a0d5af301540181bdcd204a91043b7fcd12b82e9d822ac387b8b162afc78bfba44a01e9eaae8fd500f4fcd414445cc0655fd0441a27a60265038f9a931991b20560ea0260ad345164f9d71fff585d8bb1dcff50a0263024176f48f2f2c9eefbf6bd429a0dd9dec9944b0a9f99002efc2e646a46464324020fa1cc4b1e2190e957126f637a0aaff546e530961eb05171154f83e391d56b8a555b94275aced4fd66630d75871a04a67aa8ecba3084a66962b45e056e12842925af61302e8525bd3fe6a0b15b509a089be1200c01a32cd74d93139db15642514353607bc748d17edffe2be33117587a056461cdbabb61606d146fefa28cc3c3079dfa6a8185e20bb907008a747fd3585a0ab222e04aba14634b1e7df14a1501e39532099c1438029a48141ed23ed695f8180","0xf89180a04ac1ba639ed12834273b97e887172fc715caa3be0ffeab1c1ac6e2b8abd787ac808080808080808080a092ae670bd6f4c589e1ae40d5ceee9fb91ae0dbbd3c037daa07e0a56978e143d08080a03cf15545ea6e26226b9c7f2d18d9dc9ea7b034edb507b7704104c65d4dbdc825a004511c6377a766accc6ebb201edd01f8a7d246118ad7bf231aaddf788b82de3680","0xf869a0201f52c702c40589735c4b038bd94e04268a58c35afad63bb16c071d62d2e23db846f8448056a0de3dbb656325fb05cd75718441171cba6371529f1761f6649dd29b97557e0585a0a3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2"],"balance":"0x56","codeHash":"0xa3216dd3ef46a63d518ef54e482cecac68a077f70fca0e5fb900be63f41d54a2","nonce":"0x0","storageHash":"0xde3dbb656325fb05cd75718441171cba6371529f1761f6649dd29b97557e0585","storageProof":[{"key":"0x0","value":"0x2a","proof":["0xf901f1a08af0fc58296cfacfe6572865e2ee4529c5f8a0698b73d5efce69cc2641e0b99b80a0bcf160052e846720791453975f03e2c4f565dfc7826ae0f77bde44a2ecbf3d5ea02e94c8cd2c8e21474d293816fff83033ad626905219ffb331197d71ef1290025a0983688c1eb1e5f0a4690af3ff315d1d8b7fd1af20c7e2d2b03c840e9f52a32d5a033edc29ce482ee405a0ea96750d41b65ec438f17d1d40ebe8958d04f35dbb57ea0b9a1ff85e67683c889e4c56f5e2d27732b97dbf90f21a5155b06a6925feae369a0710ccb6126afa0613d08306ebae1bfcff2633b27577006d28b842de16969a345a00259bde6b092ea130669f0e8f211e7bcd877b572243c008b188598828ce4f569a0d357c73631e12c5087b4c17ba5585cde197539a2f81478c8da0eabf85edfae3da0a7a1e3adc7d00306a581cc4ac34c4f16550eb7c2e84c38d4bfde63d75065718ea0a58976cad0fcae8c2a912087a044288cfa2048d6f0384825b73fad8c4d08fc93a0b3cc3e190e7f8c3962803360055b6ed86caf467f2c0525713e168edcd83d0562a0396f0ac82f12889120036a4ab6d104cced7758613c9e41984f5eafd4391d1125a018d9840245bd3ff4d5e4349e2b3f2df21e7ba2c0e6b2fdf5b5601cfa44e256c4a0c9d830b51f1a60a0cee9df3fc86be16a04a1190b4185d593b43057a3290560c980","0xf851808080a08f7de8a82727a40833bf2db9070e03d4bb0cd3d55dea4ac8beb870d2c3de21918080808080a05562d4c69fcaf7778df616351f2996b02b6b9b11df787de5f96da97af2968a7380808080808080","0xe2a0200decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5632a"]}]}} diff --git a/tests/eth_getStorageAt/get-storage.io b/tests/eth_getStorageAt/get-storage.io index ac4c5959d..c50846d4c 100644 --- a/tests/eth_getStorageAt/get-storage.io +++ b/tests/eth_getStorageAt/get-storage.io @@ -1,3 +1,3 @@ // gets storage of a contract >> {"jsonrpc":"2.0","id":1,"method":"eth_getStorageAt","params":["0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","0x0000000000000000000000000000000000000000000000000000000000000000","latest"]} -<< {"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000001c"} +<< {"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000002a"} diff --git a/tests/eth_getTransactionByBlockHashAndIndex/get-block-n.io b/tests/eth_getTransactionByBlockHashAndIndex/get-block-n.io index a844fce2b..7a57db2ad 100644 --- a/tests/eth_getTransactionByBlockHashAndIndex/get-block-n.io +++ b/tests/eth_getTransactionByBlockHashAndIndex/get-block-n.io @@ -1,3 +1,3 @@ // gets tx 0 in a non-empty block ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByBlockHashAndIndex","params":["0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","0x0"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x13134","gasPrice":"0x342770c1","hash":"0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b","input":"0x600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f3","nonce":"0x0","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd109f","r":"0x4bbfb315c19415b5e39df54c30c5a0c8d5e8100fc5e245e67623ff20dd839027","s":"0xa29f1401eec72972b601f590b17c904db69e9ccf3e10384e4da572788269b"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByBlockHashAndIndex","params":["0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","0x0"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x13a54","gasPrice":"0x1","hash":"0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e","input":"0x600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f3","nonce":"0x0","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","v":"0x1c","r":"0xd642ba4d1f9388c5fd312bb9fb42d189a0b3c796de55093c85f30802a85147c8","s":"0x37aa8680923f811a6988c03dd414ca00cd25d6876ba5925c7ca8ac6aad21669d"}} diff --git a/tests/eth_getTransactionByBlockNumberAndIndex/get-block-n.io b/tests/eth_getTransactionByBlockNumberAndIndex/get-block-n.io index 4f5e95043..e4c7d6b4f 100644 --- a/tests/eth_getTransactionByBlockNumberAndIndex/get-block-n.io +++ b/tests/eth_getTransactionByBlockNumberAndIndex/get-block-n.io @@ -1,3 +1,3 @@ // gets tx 0 in a non-empty block >> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByBlockNumberAndIndex","params":["0x1","0x0"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x13134","gasPrice":"0x342770c1","hash":"0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b","input":"0x600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f3","nonce":"0x0","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd109f","r":"0x4bbfb315c19415b5e39df54c30c5a0c8d5e8100fc5e245e67623ff20dd839027","s":"0xa29f1401eec72972b601f590b17c904db69e9ccf3e10384e4da572788269b"}} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x13a54","gasPrice":"0x1","hash":"0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e","input":"0x600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f3","nonce":"0x0","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","v":"0x1c","r":"0xd642ba4d1f9388c5fd312bb9fb42d189a0b3c796de55093c85f30802a85147c8","s":"0x37aa8680923f811a6988c03dd414ca00cd25d6876ba5925c7ca8ac6aad21669d"}} diff --git a/tests/eth_getTransactionByHash/get-access-list.io b/tests/eth_getTransactionByHash/get-access-list.io index 88fdf99ef..5010ca082 100644 --- a/tests/eth_getTransactionByHash/get-access-list.io +++ b/tests/eth_getTransactionByHash/get-access-list.io @@ -1,3 +1,3 @@ // gets an access list transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0x2b027b6ede385a5dd48c9463fb91fd0d099c8919ed3bc83b3565293579f30e88"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","blockNumber":"0x3","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x28241520","hash":"0x2b027b6ede385a5dd48c9463fb91fd0d099c8919ed3bc83b3565293579f30e88","input":"0xdc4c8669df128318656d6974","nonce":"0xa","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x0","value":"0x2","type":"0x1","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0x462708a3c1cd03b21605715d090136df64e227f7e7792f74bb1bd7a8288f8801"]}],"chainId":"0xc72dd9d5e883e","v":"0x0","r":"0x7a7f245868fa64371563b5e3923fcb3d921305876fa1f36f4781445367d5c75c","s":"0x11175e17e8a2d7ebb47c50539d89017e13561232f6e85b15c6761318693b9d99","yParity":"0x0"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0xd82374da698cfacbf4bb58d7ab8444621517e2137c08b859c66e50e8927c7af6"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xf1d48fb01ecfce3c862bcc39faea057e767511c0640402bac2c4d3ec61080018","blockNumber":"0x18","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x1","hash":"0xd82374da698cfacbf4bb58d7ab8444621517e2137c08b859c66e50e8927c7af6","input":"0x0e394e7c8a2b32c9656d6974","nonce":"0x4e","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x0","value":"0x2","type":"0x1","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0x95104e47e1982aba633477f377b1511396c3fe83600224bcb0c78949be705b33"]}],"chainId":"0xc72dd9d5e883e","v":"0x1","r":"0x6ecd9ea7e1958288a3a822eb9c22662c30a7696e364d5b219a164bafd9bc58d8","s":"0x3fc5322f888fabe456b29bb2b0e829482d728500678627f564ee3aff184428c2","yParity":"0x1"}} diff --git a/tests/eth_getTransactionByHash/get-blob-tx.io b/tests/eth_getTransactionByHash/get-blob-tx.io index a39290ea7..61d084890 100644 --- a/tests/eth_getTransactionByHash/get-blob-tx.io +++ b/tests/eth_getTransactionByHash/get-blob-tx.io @@ -1,3 +1,3 @@ // gets a blob transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0x77ec9478917c59826176c8ab8380e6e5daa996148796b7bb21340dcd4db0b65e"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","blockNumber":"0x3","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x28241520","maxFeePerGas":"0x28241520","maxPriorityFeePerGas":"0x1","maxFeePerBlobGas":"0x20000","hash":"0x77ec9478917c59826176c8ab8380e6e5daa996148796b7bb21340dcd4db0b65e","input":"0x3f446a7c4145b1f0656d6974","nonce":"0xb","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x1","value":"0x3","type":"0x3","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0xb52248fb459b43720abbf1d5218c4ede9036a623653b31c2077991e04da9a456"]}],"chainId":"0xc72dd9d5e883e","blobVersionedHashes":["0x015a4cab4911426699ed34483de6640cf55a568afc5c5edffdcbd8bcd4452f68"],"v":"0x1","r":"0x5031618ccd7e8caa0a9e9dd30311c8d96e0a7a27c8b3ecbe5126c76ac04f5db1","s":"0x44998503d1b38c4c648327d1fbab12cdeec9819da16e6d2847f087db4a15affc","yParity":"0x1"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0x6bcea0da8e703d3283c8f1124377a63023290cd188de3274d12441e15dc14794"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x262ac656edd583ae8645d6a48fc6ba5638b606326ebd5b71e13e97cee46f672d","blockNumber":"0x2a","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x822595c","maxFeePerGas":"0x822595c","maxPriorityFeePerGas":"0x1","maxFeePerBlobGas":"0x20000","hash":"0x6bcea0da8e703d3283c8f1124377a63023290cd188de3274d12441e15dc14794","input":"0x29db68258899c2fe656d6974","nonce":"0x8f","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x0","value":"0x3","type":"0x3","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0x35f96bc70aa62a539fa99d9153b0f8aaa4594abf70cc8a8d9018e04e39a17982"]}],"chainId":"0xc72dd9d5e883e","blobVersionedHashes":["0x015a4cab4911426699ed34483de6640cf55a568afc5c5edffdcbd8bcd4452f68"],"v":"0x1","r":"0xf8bd74114d425aa9825f381764b78b6dedce7dadc0b4e6582c457edcddc87e","s":"0x346f1eee39493bd5876b2cd2fa2f5661c7a35e50a7d1754d514d1b0a66ad6cc9","yParity":"0x1"}} diff --git a/tests/eth_getTransactionByHash/get-dynamic-fee.io b/tests/eth_getTransactionByHash/get-dynamic-fee.io index 4ec0037c1..1c3a8852d 100644 --- a/tests/eth_getTransactionByHash/get-dynamic-fee.io +++ b/tests/eth_getTransactionByHash/get-dynamic-fee.io @@ -1,3 +1,3 @@ // gets a dynamic fee transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0x5f30eb02ff7845668f4787fca3a549c6632fbeb3d282cddbc95001a3252acf28"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","blockNumber":"0x2","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x2dbf1f9a","maxFeePerGas":"0x2dbf1f9a","maxPriorityFeePerGas":"0x1","hash":"0x5f30eb02ff7845668f4787fca3a549c6632fbeb3d282cddbc95001a3252acf28","input":"0xcd4a1f0815150453656d6974","nonce":"0x9","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x5","value":"0x2","type":"0x2","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0xcafb6bca825986d957afdb8dae2d222b938677129730cb59744012d0477b5b69"]}],"chainId":"0xc72dd9d5e883e","v":"0x0","r":"0xdb642586ab80271c8da5852da58846f2f3dcf42547a671e86e25cb04d25fa59a","s":"0x62d1e2f9284ccf46e66c54c8e0598e983a56a3f401975053f7c244c4d540b6d9","yParity":"0x0"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0xc7dba25cdd5aee6ff7d27fe5422a4179f5913c664c3339c8e0440bd1c9cd8de9"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x86452d315e7f7e4a0b74d87fe121f1df95dc24850c8edeb228dce8f8c7bcbd75","blockNumber":"0x1b","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x186a0","gasPrice":"0x3b9aca01","maxFeePerGas":"0x3b9aca01","maxPriorityFeePerGas":"0x1","hash":"0xc7dba25cdd5aee6ff7d27fe5422a4179f5913c664c3339c8e0440bd1c9cd8de9","input":"0x1ee8f6decf498faf656d6974","nonce":"0x59","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionIndex":"0x0","value":"0x2","type":"0x2","accessList":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000","0x13bd2394f758553be374ffa4a9455cdf5e6ef3d905acd02746df2d12361e1ace"]}],"chainId":"0xc72dd9d5e883e","v":"0x0","r":"0x421e22ef528d5c7b9c173f90f8d7a1f4d08e34b25d1f3a7b386aa9a3314c2887","s":"0x43248bd7636b5d440cc18a1aa930d50d53960189fc0f966666635b0ffe3e3df1","yParity":"0x0"}} diff --git a/tests/eth_getTransactionByHash/get-legacy-create.io b/tests/eth_getTransactionByHash/get-legacy-create.io index 2f480b433..3ef7ee185 100644 --- a/tests/eth_getTransactionByHash/get-legacy-create.io +++ b/tests/eth_getTransactionByHash/get-legacy-create.io @@ -1,3 +1,3 @@ // gets a legacy contract create transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x13134","gasPrice":"0x342770c1","hash":"0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b","input":"0x600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f3","nonce":"0x0","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd109f","r":"0x4bbfb315c19415b5e39df54c30c5a0c8d5e8100fc5e245e67623ff20dd839027","s":"0xa29f1401eec72972b601f590b17c904db69e9ccf3e10384e4da572788269b"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x13a54","gasPrice":"0x1","hash":"0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e","input":"0x600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f3","nonce":"0x0","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","v":"0x1c","r":"0xd642ba4d1f9388c5fd312bb9fb42d189a0b3c796de55093c85f30802a85147c8","s":"0x37aa8680923f811a6988c03dd414ca00cd25d6876ba5925c7ca8ac6aad21669d"}} diff --git a/tests/eth_getTransactionByHash/get-legacy-input.io b/tests/eth_getTransactionByHash/get-legacy-input.io index a8fad0744..fce6ec5c8 100644 --- a/tests/eth_getTransactionByHash/get-legacy-input.io +++ b/tests/eth_getTransactionByHash/get-legacy-input.io @@ -1,3 +1,3 @@ // gets a legacy transaction with input data ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x13134","gasPrice":"0x342770c1","hash":"0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b","input":"0x600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f3","nonce":"0x0","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd109f","r":"0x4bbfb315c19415b5e39df54c30c5a0c8d5e8100fc5e245e67623ff20dd839027","s":"0xa29f1401eec72972b601f590b17c904db69e9ccf3e10384e4da572788269b"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x13a54","gasPrice":"0x1","hash":"0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e","input":"0x600d380380600d6000396000f360004381526020014681526020014181526020014881526020014481526020013281526020013481526020016000f3","nonce":"0x0","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","v":"0x1c","r":"0xd642ba4d1f9388c5fd312bb9fb42d189a0b3c796de55093c85f30802a85147c8","s":"0x37aa8680923f811a6988c03dd414ca00cd25d6876ba5925c7ca8ac6aad21669d"}} diff --git a/tests/eth_getTransactionByHash/get-legacy-tx.io b/tests/eth_getTransactionByHash/get-legacy-tx.io index 3054204cc..54882a9a0 100644 --- a/tests/eth_getTransactionByHash/get-legacy-tx.io +++ b/tests/eth_getTransactionByHash/get-legacy-tx.io @@ -1,3 +1,3 @@ // gets a legacy transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0xe3cc6357c69459d9c13193d5b12585acb27ae224054cb3b9056f4f91759edb00"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xa2128f9b012f6b7830f56a189ce7f355e39a4be7c8715543cb547c9162b13904","blockNumber":"0x4","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x5208","gasPrice":"0x233348eb","hash":"0xe3cc6357c69459d9c13193d5b12585acb27ae224054cb3b9056f4f91759edb00","input":"0x","nonce":"0x10","to":"0x2d389075be5be9f2246ad654ce152cf05990b209","transactionIndex":"0x2","value":"0x1","type":"0x0","chainId":"0xc72dd9d5e883e","v":"0x18e5bb3abd10a0","r":"0xf26003be987b7fbcdb774767b70fce27f8706114c578329fd11ce64f27e3a76c","s":"0x6264b2c9ef4e664ebabbf46304b909020efd09eaf3ce7e5c0965887f6e8e110d"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0x0d6999c0e9e4bec347945593e97bdcdf7c25be08ca1a1efdc520dbe75be985f3"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","blockNumber":"0x2","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0x5208","gasPrice":"0x1","hash":"0x0d6999c0e9e4bec347945593e97bdcdf7c25be08ca1a1efdc520dbe75be985f3","input":"0x","nonce":"0x7","to":"0xeda8645ba6948855e3b3cd596bbb07596d59c603","transactionIndex":"0x3","value":"0x1","type":"0x0","v":"0x1b","r":"0xfad01b9a15db73d59b0a74b3d85718dfebb7cde80f916840a006ef5f2a85769e","s":"0x60b08e6b12604d91c6e2c514f2c020562b61f97973ada18a1701937d3302e5f3"}} diff --git a/tests/eth_getTransactionByHash/get-setcode-tx.io b/tests/eth_getTransactionByHash/get-setcode-tx.io index 203afee25..5df85cbcb 100644 --- a/tests/eth_getTransactionByHash/get-setcode-tx.io +++ b/tests/eth_getTransactionByHash/get-setcode-tx.io @@ -1,3 +1,3 @@ // retrieves an EIP-7702 transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0xabb412d6230ef50141b0a530ed8b57dda282fbce24acd48810ef2b4d34cd9104"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","blockNumber":"0x2","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0xb3b0","gasPrice":"0x2dbf1f9a","maxFeePerGas":"0x2dbf1f9a","maxPriorityFeePerGas":"0x1","hash":"0xabb412d6230ef50141b0a530ed8b57dda282fbce24acd48810ef2b4d34cd9104","input":"0x","nonce":"0x7","to":"0x0000000000000000000000000000000000000000","transactionIndex":"0x3","value":"0x0","type":"0x4","accessList":[],"chainId":"0xc72dd9d5e883e","authorizationList":[{"chainId":"0xc72dd9d5e883e","address":"0x6cad054757f422066e2e474e5e81ed495bdcc979","nonce":"0x0","yParity":"0x1","r":"0x1a63d81054d08d92118b33115b5a515817e50a3828fd96939f979ac93694751e","s":"0x306a64ef2eb532805f1f5079af7591704b1623e82e56bb0c6b18342b48958b06"}],"v":"0x0","r":"0xfc169339eea66ef47f1cfea0fd18797b91853d0977c3d360bafae7e3c0f7ca3d","s":"0x445cf1b2b73d6457b9324c4351024bb406b0111e7ea038713dac4968a625e43","yParity":"0x0"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0x16f6724ad864e7664c367893cae3e176d362bea3a47495cec3b246555a7228da"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gas":"0xb3b0","gasPrice":"0x5763d65","maxFeePerGas":"0x5763d65","maxPriorityFeePerGas":"0x1","hash":"0x16f6724ad864e7664c367893cae3e176d362bea3a47495cec3b246555a7228da","input":"0x","nonce":"0x9b","to":"0x0000000000000000000000000000000000000000","transactionIndex":"0x1","value":"0x0","type":"0x4","accessList":[],"chainId":"0xc72dd9d5e883e","authorizationList":[{"chainId":"0xc72dd9d5e883e","address":"0x58f8fe237b593c19546e1e758a2544561d04bfe0","nonce":"0x0","yParity":"0x1","r":"0xec6caeb1b7071f1b3ae36aeaa7bf0eaecb8e006e83b3e50d792870ea95af4c59","s":"0x1d1225f76d6faac3d904c0635193e83d3867c101b2e6f6c9bb7b1fdeeed923ab"}],"v":"0x1","r":"0x8ae3402e4f63751c895532b94aee0f7b6b8ff5d0b0a689f6d63b3dbd19d69059","s":"0x2e63e4d140b0d282d56289b34f3df82cbcb2f3aa385f5438a423584fe0c2b467","yParity":"0x1"}} diff --git a/tests/eth_getTransactionCount/get-nonce.io b/tests/eth_getTransactionCount/get-nonce.io index 86e0bd7a1..12bb8d576 100644 --- a/tests/eth_getTransactionCount/get-nonce.io +++ b/tests/eth_getTransactionCount/get-nonce.io @@ -1,3 +1,3 @@ // gets nonce for a known account ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionCount","params":["0x0ed465f2d38113203793802eafcfe2a302f5141f","latest"]} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionCount","params":["0x04361123c6cbfc38f6ee7b0202ecefdae36efeb4","latest"]} << {"jsonrpc":"2.0","id":1,"result":"0x1"} diff --git a/tests/eth_getTransactionReceipt/get-access-list.io b/tests/eth_getTransactionReceipt/get-access-list.io index 1198f425d..9b528f142 100644 --- a/tests/eth_getTransactionReceipt/get-access-list.io +++ b/tests/eth_getTransactionReceipt/get-access-list.io @@ -1,3 +1,3 @@ // gets an access list transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0x2b027b6ede385a5dd48c9463fb91fd0d099c8919ed3bc83b3565293579f30e88"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","blockNumber":"0x3","contractAddress":null,"cumulativeGasUsed":"0xca9c","effectiveGasPrice":"0x28241520","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xca9c","logs":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x462708a3c1cd03b21605715d090136df64e227f7e7792f74bb1bd7a8288f8801"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001","blockNumber":"0x3","transactionHash":"0x2b027b6ede385a5dd48c9463fb91fd0d099c8919ed3bc83b3565293579f30e88","transactionIndex":"0x0","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logIndex":"0x0","removed":false}],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000800000000000000000000000000000400000000000000000000000200000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionHash":"0x2b027b6ede385a5dd48c9463fb91fd0d099c8919ed3bc83b3565293579f30e88","transactionIndex":"0x0","type":"0x1"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0xd82374da698cfacbf4bb58d7ab8444621517e2137c08b859c66e50e8927c7af6"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xf1d48fb01ecfce3c862bcc39faea057e767511c0640402bac2c4d3ec61080018","blockNumber":"0x18","contractAddress":null,"cumulativeGasUsed":"0xca9c","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xca9c","logs":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x95104e47e1982aba633477f377b1511396c3fe83600224bcb0c78949be705b33"],"data":"0x000000000000000000000000000000000000000000000000000000000000000f","blockNumber":"0x18","transactionHash":"0xd82374da698cfacbf4bb58d7ab8444621517e2137c08b859c66e50e8927c7af6","transactionIndex":"0x0","blockHash":"0xf1d48fb01ecfce3c862bcc39faea057e767511c0640402bac2c4d3ec61080018","logIndex":"0x0","removed":false}],"logsBloom":"0x00000000000000000000000000000000000000000000000000800000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionHash":"0xd82374da698cfacbf4bb58d7ab8444621517e2137c08b859c66e50e8927c7af6","transactionIndex":"0x0","type":"0x1"}} diff --git a/tests/eth_getTransactionReceipt/get-blob-tx.io b/tests/eth_getTransactionReceipt/get-blob-tx.io index 54b859174..98378b919 100644 --- a/tests/eth_getTransactionReceipt/get-blob-tx.io +++ b/tests/eth_getTransactionReceipt/get-blob-tx.io @@ -1,3 +1,3 @@ // gets a blob transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0x77ec9478917c59826176c8ab8380e6e5daa996148796b7bb21340dcd4db0b65e"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blobGasPrice":"0x1","blobGasUsed":"0x20000","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","blockNumber":"0x3","contractAddress":null,"cumulativeGasUsed":"0x19538","effectiveGasPrice":"0x28241520","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xca9c","logs":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0xb52248fb459b43720abbf1d5218c4ede9036a623653b31c2077991e04da9a456"],"data":"0x0000000000000000000000000000000000000000000000000000000000000002","blockNumber":"0x3","transactionHash":"0x77ec9478917c59826176c8ab8380e6e5daa996148796b7bb21340dcd4db0b65e","transactionIndex":"0x1","blockHash":"0x6c23163447ea164333105966aa4c316d56b882f1399706f0dd6c2d4ae35ade91","logIndex":"0x1","removed":false}],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000200000000000000004000000000002000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000","status":"0x1","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionHash":"0x77ec9478917c59826176c8ab8380e6e5daa996148796b7bb21340dcd4db0b65e","transactionIndex":"0x1","type":"0x3"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0x6bcea0da8e703d3283c8f1124377a63023290cd188de3274d12441e15dc14794"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blobGasPrice":"0x1","blobGasUsed":"0x20000","blockHash":"0x262ac656edd583ae8645d6a48fc6ba5638b606326ebd5b71e13e97cee46f672d","blockNumber":"0x2a","contractAddress":null,"cumulativeGasUsed":"0xca9c","effectiveGasPrice":"0x822595c","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xca9c","logs":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x35f96bc70aa62a539fa99d9153b0f8aaa4594abf70cc8a8d9018e04e39a17982"],"data":"0x0000000000000000000000000000000000000000000000000000000000000024","blockNumber":"0x2a","transactionHash":"0x6bcea0da8e703d3283c8f1124377a63023290cd188de3274d12441e15dc14794","transactionIndex":"0x0","blockHash":"0x262ac656edd583ae8645d6a48fc6ba5638b606326ebd5b71e13e97cee46f672d","logIndex":"0x0","removed":false}],"logsBloom":"0x00000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000","status":"0x1","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionHash":"0x6bcea0da8e703d3283c8f1124377a63023290cd188de3274d12441e15dc14794","transactionIndex":"0x0","type":"0x3"}} diff --git a/tests/eth_getTransactionReceipt/get-dynamic-fee.io b/tests/eth_getTransactionReceipt/get-dynamic-fee.io index 67660eca2..6fb4363cd 100644 --- a/tests/eth_getTransactionReceipt/get-dynamic-fee.io +++ b/tests/eth_getTransactionReceipt/get-dynamic-fee.io @@ -1,3 +1,3 @@ // gets a dynamic fee transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0x5f30eb02ff7845668f4787fca3a549c6632fbeb3d282cddbc95001a3252acf28"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","blockNumber":"0x2","contractAddress":null,"cumulativeGasUsed":"0x5ab14","effectiveGasPrice":"0x2dbf1f9a","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xbfac","logs":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0xcafb6bca825986d957afdb8dae2d222b938677129730cb59744012d0477b5b69"],"data":"0x0000000000000000000000000000000000000000000000000000000000000000","blockNumber":"0x2","transactionHash":"0x5f30eb02ff7845668f4787fca3a549c6632fbeb3d282cddbc95001a3252acf28","transactionIndex":"0x5","blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","logIndex":"0xa","removed":false}],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000004000000081000000000000000000000000004000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionHash":"0x5f30eb02ff7845668f4787fca3a549c6632fbeb3d282cddbc95001a3252acf28","transactionIndex":"0x5","type":"0x2"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0xc7dba25cdd5aee6ff7d27fe5422a4179f5913c664c3339c8e0440bd1c9cd8de9"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x86452d315e7f7e4a0b74d87fe121f1df95dc24850c8edeb228dce8f8c7bcbd75","blockNumber":"0x1b","contractAddress":null,"cumulativeGasUsed":"0xca9c","effectiveGasPrice":"0x3b9aca01","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xca9c","logs":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x13bd2394f758553be374ffa4a9455cdf5e6ef3d905acd02746df2d12361e1ace"],"data":"0x0000000000000000000000000000000000000000000000000000000000000012","blockNumber":"0x1b","transactionHash":"0xc7dba25cdd5aee6ff7d27fe5422a4179f5913c664c3339c8e0440bd1c9cd8de9","transactionIndex":"0x0","blockHash":"0x86452d315e7f7e4a0b74d87fe121f1df95dc24850c8edeb228dce8f8c7bcbd75","logIndex":"0x0","removed":false}],"logsBloom":"0x00000000000000000000000000000000000000000000000010000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000200000000000000000000000000002000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","transactionHash":"0xc7dba25cdd5aee6ff7d27fe5422a4179f5913c664c3339c8e0440bd1c9cd8de9","transactionIndex":"0x0","type":"0x2"}} diff --git a/tests/eth_getTransactionReceipt/get-legacy-contract.io b/tests/eth_getTransactionReceipt/get-legacy-contract.io index 1d1215e0f..8bedf33ca 100644 --- a/tests/eth_getTransactionReceipt/get-legacy-contract.io +++ b/tests/eth_getTransactionReceipt/get-legacy-contract.io @@ -1,3 +1,3 @@ // gets a legacy contract create transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","contractAddress":"0x9344b07175800259691961298ca11c824e65032d","cumulativeGasUsed":"0xf777","effectiveGasPrice":"0x342770c1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xf777","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b","transactionIndex":"0x0","type":"0x0"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","contractAddress":"0x9344b07175800259691961298ca11c824e65032d","cumulativeGasUsed":"0x102d3","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x102d3","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","root":"0x19fb42ec665b1940ad4b603066bb6efef7d0b97172806da958d1ada7094db01f","to":null,"transactionHash":"0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e","transactionIndex":"0x0","type":"0x0"}} diff --git a/tests/eth_getTransactionReceipt/get-legacy-input.io b/tests/eth_getTransactionReceipt/get-legacy-input.io index 963a27a82..ce006a335 100644 --- a/tests/eth_getTransactionReceipt/get-legacy-input.io +++ b/tests/eth_getTransactionReceipt/get-legacy-input.io @@ -1,3 +1,3 @@ // gets a legacy transaction with input data ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x500b79381498870c89789354659bb9451f2639ab7cf0514902f3ea0e62d03a4f","blockNumber":"0x1","contractAddress":"0x9344b07175800259691961298ca11c824e65032d","cumulativeGasUsed":"0xf777","effectiveGasPrice":"0x342770c1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0xf777","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0xc6bf0511ae12477efae150fa743992b00867729fbc8dfe8e7b16f5a2596a979b","transactionIndex":"0x0","type":"0x0"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xbb198addc8a129024ed75dbe52a8c89a6baa97980c855241790439db182a210b","blockNumber":"0x1","contractAddress":"0x9344b07175800259691961298ca11c824e65032d","cumulativeGasUsed":"0x102d3","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x102d3","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","root":"0x19fb42ec665b1940ad4b603066bb6efef7d0b97172806da958d1ada7094db01f","to":null,"transactionHash":"0xc1d605c6612a5fe84dc95810030bfe5b1d327652b381bc695e28f50d13b2b09e","transactionIndex":"0x0","type":"0x0"}} diff --git a/tests/eth_getTransactionReceipt/get-legacy-receipt.io b/tests/eth_getTransactionReceipt/get-legacy-receipt.io index 4c6b703e8..5b872c075 100644 --- a/tests/eth_getTransactionReceipt/get-legacy-receipt.io +++ b/tests/eth_getTransactionReceipt/get-legacy-receipt.io @@ -1,3 +1,3 @@ // gets the receipt for a legacy value transfer tx ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0xe3cc6357c69459d9c13193d5b12585acb27ae224054cb3b9056f4f91759edb00"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xa2128f9b012f6b7830f56a189ce7f355e39a4be7c8715543cb547c9162b13904","blockNumber":"0x4","contractAddress":null,"cumulativeGasUsed":"0xf618","effectiveGasPrice":"0x233348eb","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x5208","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x2d389075be5be9f2246ad654ce152cf05990b209","transactionHash":"0xe3cc6357c69459d9c13193d5b12585acb27ae224054cb3b9056f4f91759edb00","transactionIndex":"0x2","type":"0x0"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0x0d6999c0e9e4bec347945593e97bdcdf7c25be08ca1a1efdc520dbe75be985f3"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x28a64e8d846382eb270941251be3a3e1547809e7eb70939c3530faa8f4599570","blockNumber":"0x2","contractAddress":null,"cumulativeGasUsed":"0x3d037","effectiveGasPrice":"0x1","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x5208","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","root":"0x033cafa7df8ef976d54855277cfff7b3706a3ad88f2b55777c47702cd7aadb9a","to":"0xeda8645ba6948855e3b3cd596bbb07596d59c603","transactionHash":"0x0d6999c0e9e4bec347945593e97bdcdf7c25be08ca1a1efdc520dbe75be985f3","transactionIndex":"0x3","type":"0x0"}} diff --git a/tests/eth_getTransactionReceipt/get-setcode-tx.io b/tests/eth_getTransactionReceipt/get-setcode-tx.io index 1a418af6a..09e3121a5 100644 --- a/tests/eth_getTransactionReceipt/get-setcode-tx.io +++ b/tests/eth_getTransactionReceipt/get-setcode-tx.io @@ -1,3 +1,3 @@ // gets the receipt for a EIP-7702 setcode transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0xabb412d6230ef50141b0a530ed8b57dda282fbce24acd48810ef2b4d34cd9104"]} -<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x81db665e538f81087854c642650fa0692a943464924481655f35478f0369d6ee","blockNumber":"0x2","contractAddress":null,"cumulativeGasUsed":"0x44204","effectiveGasPrice":"0x2dbf1f9a","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x8fc0","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x0000000000000000000000000000000000000000","transactionHash":"0xabb412d6230ef50141b0a530ed8b57dda282fbce24acd48810ef2b4d34cd9104","transactionIndex":"0x3","type":"0x4"}} +>> {"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0x16f6724ad864e7664c367893cae3e176d362bea3a47495cec3b246555a7228da"]} +<< {"jsonrpc":"2.0","id":1,"result":{"blockHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","blockNumber":"0x2d","contractAddress":null,"cumulativeGasUsed":"0x17231","effectiveGasPrice":"0x5763d65","from":"0x7435ed30a8b4aeb0877cef0c6e8cffe834eb865f","gasUsed":"0x8fc0","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x0000000000000000000000000000000000000000","transactionHash":"0x16f6724ad864e7664c367893cae3e176d362bea3a47495cec3b246555a7228da","transactionIndex":"0x1","type":"0x4"}} diff --git a/tests/eth_sendRawTransaction/send-access-list-transaction.io b/tests/eth_sendRawTransaction/send-access-list-transaction.io index 69861c8ac..543a43ed8 100644 --- a/tests/eth_sendRawTransaction/send-access-list-transaction.io +++ b/tests/eth_sendRawTransaction/send-access-list-transaction.io @@ -1,3 +1,3 @@ // sends a transaction with access list ->> {"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0x01f8cc870c72dd9d5e883e02840442711f83015f90947dcd17433742f4c0ca53122ab541d0ba67fc27df8083010203f85bf859947dcd17433742f4c0ca53122ab541d0ba67fc27dff842a00000000000000000000000000000000000000000000000000000000000000000a0010000000000000000000000000000000000000000000000000000000000000001a0a7280b1fef57abe2de8659d1eb5ad08b6ad88265ab903f12958d155c4b5a28c5a02f1135d5d81be684c59149726abffdfe8ef16c461c9c6c051ce7934e6d1ec4da"]} -<< {"jsonrpc":"2.0","id":1,"result":"0x01be082f50e82861ce08fdef1b6c72488b672480c8d610f5813fdcbc6f4893e7"} +>> {"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0x01f8cc870c72dd9d5e883e028405763f5883015f90947dcd17433742f4c0ca53122ab541d0ba67fc27df8083010203f85bf859947dcd17433742f4c0ca53122ab541d0ba67fc27dff842a00000000000000000000000000000000000000000000000000000000000000000a0010000000000000000000000000000000000000000000000000000000000000080a0f9dc42e8bab0a70132fb8399cf03cf38e1c12cc47f736d19e6e7728356d97db3a053daf342acd24da15073f5dac02bec0501a0716165984aab2df9694882b91fac"]} +<< {"jsonrpc":"2.0","id":1,"result":"0xd07a55a00aeb93c7825d1ca42238abdc3bc225de097ee1b8b2a4a9240ae55f9c"} diff --git a/tests/eth_sendRawTransaction/send-blob-tx.io b/tests/eth_sendRawTransaction/send-blob-tx.io index 186674fa1..f4d5b06c6 100644 --- a/tests/eth_sendRawTransaction/send-blob-tx.io +++ b/tests/eth_sendRawTransaction/send-blob-tx.io @@ -1,3 +1,3 @@ // sends a blob transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0x03fa0201a6f90137870c72dd9d5e883e808201f4840442711f83013880947dcd17433742f4c0ca53122ab541d0ba67fc27df80b844a9059cbb000000000000000000000000cff33720980c026cc155dcb366861477e988fd870000000000000000000000000000000000000000000000000000000002fd6892f85bf859947dcd17433742f4c0ca53122ab541d0ba67fc27dff842a00000000000000000000000000000000000000000000000000000000000000000a0010000000000000000000000000000000000000000000000000000000000000083020000e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401480a0dd75764a90c64a3c5c5c7961ae857293d439151feef85ea8d0a527c98ad38a1fa07c1c3f835a84cf752a105e8c697e527bb172cd0732e3095f6e16f01cc7e5f5b8fa020004ba0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]} -<< {"jsonrpc":"2.0","id":1,"result":"0x66f9a00df3963ad9ca1fa569ceb82d7c962f458e51e4225cff5d0e2042aa5253"} +>> {"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0x03fa0201a6f90137870c72dd9d5e883e808201f48405763f5883013880947dcd17433742f4c0ca53122ab541d0ba67fc27df80b844a9059cbb000000000000000000000000cff33720980c026cc155dcb366861477e988fd870000000000000000000000000000000000000000000000000000000002fd6892f85bf859947dcd17433742f4c0ca53122ab541d0ba67fc27dff842a00000000000000000000000000000000000000000000000000000000000000000a0010000000000000000000000000000000000000000000000000000000000000083020000e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a057f678827610fe20f06921aded6f2c11bdad535b677c1e644b6cfa74fb4e8a3aa05d74f127213802809f37488e4a176bc5e9627aba8dcfa83c7282c45876397d04fa020004ba0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]} +<< {"jsonrpc":"2.0","id":1,"result":"0x4b00885bde711279e6ddb399edd61825a8a45d331d0545ab55919a1924922693"} diff --git a/tests/eth_sendRawTransaction/send-dynamic-fee-access-list-transaction.io b/tests/eth_sendRawTransaction/send-dynamic-fee-access-list-transaction.io index 434c5bc94..d99bbbc3d 100644 --- a/tests/eth_sendRawTransaction/send-dynamic-fee-access-list-transaction.io +++ b/tests/eth_sendRawTransaction/send-dynamic-fee-access-list-transaction.io @@ -1,3 +1,3 @@ // sends a transaction with dynamic fee and access list ->> {"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0x02f8d0870c72dd9d5e883e038201f4840442711f83013880947dcd17433742f4c0ca53122ab541d0ba67fc27df808401020304f85bf859947dcd17433742f4c0ca53122ab541d0ba67fc27dff842a00000000000000000000000000000000000000000000000000000000000000000a0010000000000000000000000000000000000000000000000000000000000000001a085af143d283a9b58da76d3be3a8919f0926d0452540700a028421871f2d64ba7a03d47f2aa91287d7784ddb94f47fe278b57203359b77f8dacb229c3922bd4f213"]} -<< {"jsonrpc":"2.0","id":1,"result":"0xc85582cac28808688c2e7e19c8486805601b33de131916b123eef029b0fd1452"} +>> {"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0x02f8d0870c72dd9d5e883e038201f48405763f5883013880947dcd17433742f4c0ca53122ab541d0ba67fc27df808401020304f85bf859947dcd17433742f4c0ca53122ab541d0ba67fc27dff842a00000000000000000000000000000000000000000000000000000000000000000a0010000000000000000000000000000000000000000000000000000000000000080a0e56d869d8b32f767582fdcb03d1d9d3bcc47f3c7ae08984feafdcd57f2f205f5a074134e4bf0fb11ff606b47259aff0d01bf7cb9ec68cb179b62576b9dd6631cf0"]} +<< {"jsonrpc":"2.0","id":1,"result":"0x0baf604666cbc4d04263bbc98c048000451b8c188d93ec87ca5a86b044fd956c"} diff --git a/tests/eth_sendRawTransaction/send-dynamic-fee-transaction.io b/tests/eth_sendRawTransaction/send-dynamic-fee-transaction.io index d643d0b38..14bfc1870 100644 --- a/tests/eth_sendRawTransaction/send-dynamic-fee-transaction.io +++ b/tests/eth_sendRawTransaction/send-dynamic-fee-transaction.io @@ -1,3 +1,3 @@ // sends a create transaction with dynamic fee ->> {"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0x02f892870c72dd9d5e883e018201f4840442711f82ea60802ab73d602d80600a3d3981f3363d3d373d3d3d363d734d11c446473105a02b5c1ab9ebe9b03f33902a295af43d82803e903d91602b57fd5bf3c001a09660ec6684ce5fcd259d29a8875c4792ef294a56bce9019d2c9fd350334d4f98a040d0b5528748450fe4e324276d2ac8881a6614bbd8b016b692eaa73ab38257d9"]} -<< {"jsonrpc":"2.0","id":1,"result":"0x3a21be308bce1ac0a76d5311cf70de5c818b313da9a85086c6b919ae2db693b8"} +>> {"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0x02f892870c72dd9d5e883e018201f48405763f5882ea60802ab73d602d80600a3d3981f3363d3d373d3d3d363d734d11c446473105a02b5c1ab9ebe9b03f33902a295af43d82803e903d91602b57fd5bf3c001a0fe6d380224a516b802717755d2f640163e81bae64a4ab5adbcf741267f20ad66a015d9ceb9fecb47b342be00782b2485f42ab53715006d208897cc969d7c05ab67"]} +<< {"jsonrpc":"2.0","id":1,"result":"0xfa245384e9eb7d6a4a40f3bf4bf70f1f44929d8bfcdf75762ce1a015389449e3"} diff --git a/tests/eth_sendRawTransaction/send-legacy-transaction.io b/tests/eth_sendRawTransaction/send-legacy-transaction.io index 35b9b7b6f..48968f18a 100644 --- a/tests/eth_sendRawTransaction/send-legacy-transaction.io +++ b/tests/eth_sendRawTransaction/send-legacy-transaction.io @@ -1,3 +1,3 @@ // sends a raw legacy transaction ->> {"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0xf86c808404426f2c8261a894aa000000000000000000000000000000000000000a8255448718e5bb3abd109fa00ad90b9c4c132da7cb39880cbd972f60c9fd2932ef3cd7ec62e6f51e09c88768a01decfc6209e5065c44c872a616795c9b032c2b192db71a36dcaa2df24f692edc"]} -<< {"jsonrpc":"2.0","id":1,"result":"0x34ed1ee69133eab24f2435400bd8e0df3ecdc32afd0b16449c9201055301ad7e"} +>> {"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0xf86c808405763d658261a894aa000000000000000000000000000000000000000a8255448718e5bb3abd109fa0c8e3b4a0087357bd49d80a0ac24daf0c91191e71086c1e355fc62cfab2218873a074f4636f740fa4d1697b6e736e5982b700be2c8b63031a24fa531ae4814b3af8"]} +<< {"jsonrpc":"2.0","id":1,"result":"0x66734e85ef096167acb887cf445946a1ed57b90b66ffe38af87e11294febbfa9"} diff --git a/tests/forkenv.json b/tests/forkenv.json index eef0c714b..3da235343 100644 --- a/tests/forkenv.json +++ b/tests/forkenv.json @@ -2,26 +2,26 @@ "HIVE_CANCUN_BLOB_BASE_FEE_UPDATE_FRACTION": "3338477", "HIVE_CANCUN_BLOB_MAX": "6", "HIVE_CANCUN_BLOB_TARGET": "3", - "HIVE_CANCUN_TIMESTAMP": "0", + "HIVE_CANCUN_TIMESTAMP": "420", "HIVE_CHAIN_ID": "3503995874084926", - "HIVE_FORK_ARROW_GLACIER": "0", - "HIVE_FORK_BERLIN": "0", - "HIVE_FORK_BYZANTIUM": "0", - "HIVE_FORK_CONSTANTINOPLE": "0", - "HIVE_FORK_GRAY_GLACIER": "0", + "HIVE_FORK_ARROW_GLACIER": "30", + "HIVE_FORK_BERLIN": "24", + "HIVE_FORK_BYZANTIUM": "9", + "HIVE_FORK_CONSTANTINOPLE": "12", + "HIVE_FORK_GRAY_GLACIER": "33", "HIVE_FORK_HOMESTEAD": "0", - "HIVE_FORK_ISTANBUL": "0", - "HIVE_FORK_LONDON": "0", - "HIVE_FORK_MUIR_GLACIER": "0", - "HIVE_FORK_PETERSBURG": "0", - "HIVE_FORK_SPURIOUS": "0", - "HIVE_FORK_TANGERINE": "0", - "HIVE_MERGE_BLOCK_ID": "0", + "HIVE_FORK_ISTANBUL": "18", + "HIVE_FORK_LONDON": "27", + "HIVE_FORK_MUIR_GLACIER": "21", + "HIVE_FORK_PETERSBURG": "15", + "HIVE_FORK_SPURIOUS": "6", + "HIVE_FORK_TANGERINE": "3", + "HIVE_MERGE_BLOCK_ID": "36", "HIVE_NETWORK_ID": "3503995874084926", "HIVE_PRAGUE_BLOB_BASE_FEE_UPDATE_FRACTION": "5007716", "HIVE_PRAGUE_BLOB_MAX": "9", "HIVE_PRAGUE_BLOB_TARGET": "6", - "HIVE_PRAGUE_TIMESTAMP": "0", - "HIVE_SHANGHAI_TIMESTAMP": "0", - "HIVE_TERMINAL_TOTAL_DIFFICULTY": "131072" + "HIVE_PRAGUE_TIMESTAMP": "450", + "HIVE_SHANGHAI_TIMESTAMP": "390", + "HIVE_TERMINAL_TOTAL_DIFFICULTY": "4732736" } \ No newline at end of file diff --git a/tests/genesis.json b/tests/genesis.json index 6a5e4bf71..0c29edcb2 100644 --- a/tests/genesis.json +++ b/tests/genesis.json @@ -2,23 +2,23 @@ "config": { "chainId": 3503995874084926, "homesteadBlock": 0, - "eip150Block": 0, - "eip155Block": 0, - "eip158Block": 0, - "byzantiumBlock": 0, - "constantinopleBlock": 0, - "petersburgBlock": 0, - "istanbulBlock": 0, - "muirGlacierBlock": 0, - "berlinBlock": 0, - "londonBlock": 0, - "arrowGlacierBlock": 0, - "grayGlacierBlock": 0, - "mergeNetsplitBlock": 0, - "shanghaiTime": 0, - "cancunTime": 0, - "pragueTime": 0, - "terminalTotalDifficulty": 131072, + "eip150Block": 3, + "eip155Block": 6, + "eip158Block": 6, + "byzantiumBlock": 9, + "constantinopleBlock": 12, + "petersburgBlock": 15, + "istanbulBlock": 18, + "muirGlacierBlock": 21, + "berlinBlock": 24, + "londonBlock": 27, + "arrowGlacierBlock": 30, + "grayGlacierBlock": 33, + "mergeNetsplitBlock": 36, + "shanghaiTime": 390, + "cancunTime": 420, + "pragueTime": 450, + "terminalTotalDifficulty": 4732736, "depositContractAddress": "0x0000000000000000000000000000000000000000", "ethash": {}, "blobSchedule": { @@ -135,7 +135,7 @@ "number": "0x0", "gasUsed": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "baseFeePerGas": "0x3b9aca00", + "baseFeePerGas": null, "excessBlobGas": null, "blobGasUsed": null } \ No newline at end of file diff --git a/tests/headfcu.json b/tests/headfcu.json index 2c5f59df3..cc39610b4 100644 --- a/tests/headfcu.json +++ b/tests/headfcu.json @@ -1,12 +1,12 @@ { "jsonrpc": "2.0", - "id": "fcu20", + "id": "fcu45", "method": "engine_forkchoiceUpdatedV3", "params": [ { - "headBlockHash": "0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635", - "safeBlockHash": "0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635", - "finalizedBlockHash": "0x514c48e760c62a38f91e011149b1b4a619bb3a7f750ec4430061bf19c3336635" + "headBlockHash": "0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1", + "safeBlockHash": "0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1", + "finalizedBlockHash": "0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1" }, null ]