[PHP-CVS] [php-src] master: ext/random: applied fixers to improve test robustness

[email protected] (NickSdot via Tim Düsterhus) Sat, 1 Aug 2026 15:26:01 +0000
Newsgroups php.cvs
Message-ID <[email protected]>
Author: NickSdot (NickSdot)=0ACommitter: Tim D=C3=BCsterhus (TimWolla)=0ADa=
te: 2026-08-01T17:25:44+02:00=0A=0ACommit: https://github.com/php/php-src/c=
ommit/a5a94766b68d4d1835ddefbc642d1d9566c82f16=0ARaw diff: https://github.c=
om/php/php-src/commit/a5a94766b68d4d1835ddefbc642d1d9566c82f16.diff=0A=0Aex=
t/random: applied fixers to improve test robustness=0A=0AChanged paths:=0A =
 M  ext/random/tests/01_functions/bug46587.phpt=0A  M  ext/random/tests/01_=
functions/mt_rand_basic.phpt=0A  M  ext/random/tests/01_functions/random_by=
tes_error.phpt=0A  M  ext/random/tests/01_functions/random_int_error.phpt=
=0A  M  ext/random/tests/02_engine/all_serialize_error.phpt=0A  M  ext/rand=
om/tests/02_engine/mt19937_error.phpt=0A  M  ext/random/tests/02_engine/pcg=
oneseq128xslrr64_jump_error.phpt=0A  M  ext/random/tests/02_engine/pcgonese=
q128xslrr64_seed.phpt=0A  M  ext/random/tests/02_engine/xoshiro256starstar_=
seed.phpt=0A  M  ext/random/tests/02_engine/xoshiro256starstar_unserialize_=
zero_state.phpt=0A  M  ext/random/tests/03_randomizer/construct_twice.phpt=
=0A  M  ext/random/tests/03_randomizer/engine_unsafe_biased.phpt=0A  M  ext=
/random/tests/03_randomizer/engine_unsafe_empty_string.phpt=0A  M  ext/rand=
om/tests/03_randomizer/engine_unsafe_nul.phpt=0A  M  ext/random/tests/03_ra=
ndomizer/gh_19765_unserialize.phpt=0A  M  ext/random/tests/03_randomizer/gh=
_9186_unserialize.phpt=0A  M  ext/random/tests/03_randomizer/methods/getByt=
esFromString_error.phpt=0A  M  ext/random/tests/03_randomizer/methods/getFl=
oat_error.phpt=0A  M  ext/random/tests/03_randomizer/methods/pickArrayKeys_=
error.phpt=0A  M  ext/random/tests/03_randomizer/readonly.phpt=0A  M  ext/r=
andom/tests/03_randomizer/serialize_disallowed.phpt=0A=0A=0ADiff:=0A=0Adiff=
 --git a/ext/random/tests/01_functions/bug46587.phpt b/ext/random/tests/01_=
functions/bug46587.phpt=0Aindex d9b3044406ff..d6282da5a80c 100644=0A--- a/e=
xt/random/tests/01_functions/bug46587.phpt=0A+++ b/ext/random/tests/01_func=
tions/bug46587.phpt=0A@@ -7,12 +7,12 @@ var_dump(mt_rand(3,8));=0A try {=0A=
     var_dump(mt_rand(8,3));=0A } catch (ValueError $e) {=0A-    echo $e->g=
etMessage(), "\n";=0A+    echo $e::class, ': ', $e->getMessage(), "\n";=0A =
}=0A =0A echo "Done.\n";=0A ?>=0A --EXPECTF--=0A int(%d)=0A-mt_rand(): Argu=
ment #2 ($max) must be greater than or equal to argument #1 ($min)=0A+Value=
Error: mt_rand(): Argument #2 ($max) must be greater than or equal to argum=
ent #1 ($min)=0A Done.=0Adiff --git a/ext/random/tests/01_functions/mt_rand=
_basic.phpt b/ext/random/tests/01_functions/mt_rand_basic.phpt=0Aindex 87a7=
d2bd4b53..7c7eba5a64f9 100644=0A--- a/ext/random/tests/01_functions/mt_rand=
_basic.phpt=0A+++ b/ext/random/tests/01_functions/mt_rand_basic.phpt=0A@@ -=
60,4 +60,3 @@ PASSED: range min =3D 100 max =3D 1000=0A PASSED: range min =
=3D 10500 max =3D 1050000=0A PASSED: range min =3D 16 max =3D 65536=0A PASS=
ED: range min =3D 256 max =3D 448=0A-=0Adiff --git a/ext/random/tests/01_fu=
nctions/random_bytes_error.phpt b/ext/random/tests/01_functions/random_byte=
s_error.phpt=0Aindex bc0c1ccc2048..6b175f8f9cb5 100644=0A--- a/ext/random/t=
ests/01_functions/random_bytes_error.phpt=0A+++ b/ext/random/tests/01_funct=
ions/random_bytes_error.phpt=0A@@ -7,16 +7,16 @@ Test error operation of ra=
ndom_bytes()=0A try {=0A     $bytes =3D random_bytes();=0A } catch (TypeErr=
or $e) {=0A-    echo $e->getMessage().PHP_EOL;=0A+    echo $e::class, ': ',=
 $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     $bytes =3D random_byte=
s(0);=0A } catch (Error $e) {=0A-    echo $e->getMessage().PHP_EOL;=0A+    =
echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A ?>=0A --EXPECT=
--=0A-random_bytes() expects exactly 1 argument, 0 given=0A-random_bytes():=
 Argument #1 ($length) must be greater than 0=0A+ArgumentCountError: random=
_bytes() expects exactly 1 argument, 0 given=0A+ValueError: random_bytes():=
 Argument #1 ($length) must be greater than 0=0Adiff --git a/ext/random/tes=
ts/01_functions/random_int_error.phpt b/ext/random/tests/01_functions/rando=
m_int_error.phpt=0Aindex fe461275c951..79f2d9e7675b 100644=0A--- a/ext/rand=
om/tests/01_functions/random_int_error.phpt=0A+++ b/ext/random/tests/01_fun=
ctions/random_int_error.phpt=0A@@ -7,23 +7,23 @@ Test error operation of ra=
ndom_int()=0A try {=0A     $randomInt =3D random_int();=0A } catch (TypeErr=
or $e) {=0A-    echo $e->getMessage().PHP_EOL;=0A+    echo $e::class, ': ',=
 $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     $randomInt =3D random_=
int(42);=0A } catch (TypeError $e) {=0A-    echo $e->getMessage().PHP_EOL;=
=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=
=0A     $randomInt =3D random_int(42,0);=0A } catch (Error $e) {=0A-    ech=
o $e->getMessage().PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), =
PHP_EOL;=0A }=0A =0A ?>=0A --EXPECT--=0A-random_int() expects exactly 2 arg=
uments, 0 given=0A-random_int() expects exactly 2 arguments, 1 given=0A-ran=
dom_int(): Argument #1 ($min) must be less than or equal to argument #2 ($m=
ax)=0A+ArgumentCountError: random_int() expects exactly 2 arguments, 0 give=
n=0A+ArgumentCountError: random_int() expects exactly 2 arguments, 1 given=
=0A+ValueError: random_int(): Argument #1 ($min) must be less than or equal=
 to argument #2 ($max)=0Adiff --git a/ext/random/tests/02_engine/all_serial=
ize_error.phpt b/ext/random/tests/02_engine/all_serialize_error.phpt=0Ainde=
x 056941514566..eb3f4a57cf0f 100644=0A--- a/ext/random/tests/02_engine/all_=
serialize_error.phpt=0A+++ b/ext/random/tests/02_engine/all_serialize_error=
.phpt=0A@@ -8,28 +8,28 @@ echo \Random\Engine\Mt19937::class, PHP_EOL;=0A t=
ry {=0A     var_dump(unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{=
}i:1;a:626:{i:0;s:7:"5aa6b98";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8=
:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:=
8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11=
;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e"=
;i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7=
926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:=
"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26=
;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a"=
;i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a=
3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:=
"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41=
;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02"=
;i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"6479=
9ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:=
"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56=
;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d"=
;i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58=
facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:=
"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71=
;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f"=
;i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605b=
dc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:=
"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86=
;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c"=
;i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b935=
2af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:=
"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:1=
01;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c08=
2a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;=
s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"1549969=
7";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8=
:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";=
i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f=
7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:1=
26;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4=
cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;=
s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94=
e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8=
:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";=
i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f=
6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:1=
51;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882=
bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;=
s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97=
f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8=
:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";=
i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5=
aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:1=
76;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a=
4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;=
s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278=
e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8=
:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";=
i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"8=
67d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:2=
01;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87=
fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;=
s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f21=
5";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8=
:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";=
i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a=
4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:2=
26;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca=
8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;=
s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916=
b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8=
:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";=
i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"e=
d2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:2=
51;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2=
741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;=
s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd34=
6";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8=
:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";=
i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"2=
3106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:2=
76;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acd=
b850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;=
s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd524=
1";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8=
:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";=
i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"c=
b9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:3=
01;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72=
737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;=
s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81=
b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8=
:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";=
i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"1=
2372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:3=
26;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5=
df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;=
s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d2=
4";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8=
:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";=
i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d=
52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:3=
51;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d9=
49a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;=
s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e=
0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8=
:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";=
i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"9=
3c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:3=
76;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea65=
8830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;=
s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88f=
b";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8=
:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";=
i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1=
fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:4=
01;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f=
33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;=
s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1a=
e";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8=
:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";=
i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0=
686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:4=
26;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1d=
c285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;=
s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd762=
2";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8=
:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";=
i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0=
add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:4=
51;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba7=
9717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;=
s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c8=
5";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8=
:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";=
i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7=
eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:4=
76;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea9=
81ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;=
s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec62368=
2";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8=
:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";=
i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"0=
01c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:5=
01;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba=
25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;=
s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9=
a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8=
:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";=
i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d=
65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:5=
26;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b94=
1ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;=
s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601d=
e";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8=
:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";=
i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"0=
6d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:5=
51;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa0=
68fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;=
s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e=
0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8=
:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";=
i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a=
159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:5=
76;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2=
efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;=
s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85=
c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8=
:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";=
i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"1=
13f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:6=
01;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a166=
5ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;=
s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e=
4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8=
:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";=
i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"0=
4fa51af";i:623;s:8:"dd86eeb1";i:624;i:0;i:625;i:0;}}'));=0A } catch (\Excep=
tion $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ':=
 ', $e->getMessage(), PHP_EOL;=0A }=0A =0A // invalid hex=0A try {=0A     v=
ar_dump(unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i=
:0;s:8:"5aa6b98g";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";=
i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a"=
;i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25=
b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"9=
23dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s=
:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i=
:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54a=
f9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6=
a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s=
:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i=
:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc=
80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6=
f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s=
:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i=
:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92c=
c5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"3=
86c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s=
:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i=
:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e182=
44";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"8=
07a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s=
:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i=
:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce=
47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"2=
89e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s=
:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i=
:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab=
5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;=
s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d965=
5";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8=
:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";=
i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"4=
34c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:1=
23;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be=
324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;=
s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f=
9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8=
:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";=
i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e=
0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:1=
48;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef7=
4251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;=
s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e3=
4";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8=
:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";=
i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"8=
4cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:1=
73;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b9=
5b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;=
s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b17=
7";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8=
:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";=
i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2=
e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:1=
98;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"9309=
03d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;=
s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d7=
0";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8=
:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";=
i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4=
b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:2=
23;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420e=
a4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;=
s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8=
f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8=
:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";=
i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"8=
1e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:2=
48;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"1817=
2abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;=
s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd06=
0";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8=
:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";=
i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e=
19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:2=
73;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369=
a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;=
s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7=
a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8=
:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";=
i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"6=
2e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:2=
98;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb4=
7b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;=
s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb=
1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8=
:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";=
i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"9=
59a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:3=
23;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e=
9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;=
s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0=
d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8=
:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";=
i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"e=
e2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:3=
48;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773=
504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;=
s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb=
2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8=
:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";=
i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7=
a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:3=
73;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d7=
24a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;=
s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee=
9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8=
:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";=
i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e=
70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:3=
98;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3=
f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;=
s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d=
1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8=
:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";=
i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a=
2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:4=
23;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c=
8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;=
s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504=
b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8=
:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";=
i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7=
fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:4=
48;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f5=
9d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;=
s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a96002=
2";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8=
:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";=
i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"2=
4c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:4=
73;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e=
1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;=
s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0=
d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8=
:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";=
i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"7=
4dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:4=
98;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd=
0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;=
s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6c=
d";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8=
:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";=
i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f=
32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:5=
23;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942d=
ee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;=
s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59e=
d";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8=
:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";=
i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"2=
4996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:5=
48;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd=
4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;=
s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e89=
7";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8=
:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";=
i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2=
a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:5=
73;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc=
0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;=
s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad0=
3";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8=
:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";=
i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"c=
cc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:5=
98;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c=
2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;=
s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b=
5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8=
:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";=
i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"b=
fcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:6=
23;s:8:"dd86eeb1";i:624;i:0;i:625;i:0;}}'));=0A } catch (\Exception $e) {=
=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->ge=
tMessage(), PHP_EOL;=0A }=0A =0A // invalid count=0A try {=0A     var_dump(=
unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"=
5aa6b986";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:=
"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8=
:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12=
;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c"=
;i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880=
b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:=
"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27=
;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc"=
;i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27c=
f7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:=
"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42=
;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e"=
;i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3=
bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:=
"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57=
;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9"=
;i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781=
e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:=
"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72=
;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9"=
;i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1=
830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:=
"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87=
;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d"=
;i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"5168=
4d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:=
"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:=
102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06b=
c80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109=
;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e=
3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:=
8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185"=
;i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"=
7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:=
127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a76=
1615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134=
;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3=
de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:=
8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a"=
;i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"=
49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:=
152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49=
f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159=
;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9=
f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:=
8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2"=
;i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"=
e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:=
177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c2=
3e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184=
;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa216=
60";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:=
8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a"=
;i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"=
a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:=
202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d0=
19d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209=
;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46=
e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:=
8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b"=
;i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"=
ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:=
227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224=
d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234=
;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff2424=
39";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:=
8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64"=
;i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"=
00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:=
252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb=
931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259=
;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429a=
fd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:=
8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de"=
;i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"=
a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:=
277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485=
cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284=
;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0=
a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:=
8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a"=
;i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"=
ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:=
302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d=
5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309=
;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"636935=
7b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:=
8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881"=
;i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"=
b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:=
327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f=
06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334=
;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b818=
66";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:=
8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb"=
;i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"=
84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:=
352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d=
24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359=
;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac=
0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:=
8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c"=
;i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"=
11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:=
377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b90=
52af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384=
;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f9=
36";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:=
8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a"=
;i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"=
accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:=
402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"955=
5d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409=
;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a=
10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:=
8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc"=
;i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"=
9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:=
427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e27=
1fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434=
;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9=
c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:=
8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08"=
;i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"=
465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:=
452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39f=
edf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459=
;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae=
9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:=
8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6"=
;i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"=
d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:=
477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"693=
5faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484=
;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8ad=
ba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:=
8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e"=
;i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"=
680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:=
502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16f=
a3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509=
;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297=
eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:=
8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c"=
;i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"=
361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:=
527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c62=
56dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534=
;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da2=
87";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:=
8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e"=
;i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"=
f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:=
552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e=
712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559=
;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b17=
65";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:=
8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390"=
;i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"=
48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:=
577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a=
521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584=
;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f46=
48";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:=
8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd"=
;i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"=
6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:=
602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31=
c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609=
;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"862021=
55";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:=
8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd"=
;i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"=
dd86eeb1";i:624;i:1000;i:625;i:0;}}'));=0A } catch (\Exception $e) {=0A-   =
 echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessag=
e(), PHP_EOL;=0A }=0A =0A // invalid mode=0A try {=0A     var_dump(unserial=
ize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b986=
";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa610=
8";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e=
61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fd=
b352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:=
8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:=
20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f=
8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5=
257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:=
8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:=
35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a8=
2";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"26=
2376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:=
8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:=
50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50=
f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34=
bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:=
8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:=
65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8=
e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4e=
fe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:=
8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:=
80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff76=
4";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c=
3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:=
8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:=
95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e5402=
7";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:=
"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i=
:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"ef=
ce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:11=
3;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc=
4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s=
:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34=
";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:=
"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i=
:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb=
9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:13=
8;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19=
f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s=
:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5=
";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:=
"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i=
:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f=
1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:16=
3;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb98=
38e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s=
:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2=
";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:=
"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i=
:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65=
409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:18=
8;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6=
756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s=
:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e=
";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:=
"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i=
:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"75=
0b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:21=
3;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c=
7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s=
:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77=
";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:=
"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i=
:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71=
793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:23=
8;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2=
a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s=
:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55=
";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:=
"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i=
:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d=
143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:26=
3;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e305=
12e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s=
:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9=
";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:=
"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i=
:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1=
c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:28=
8;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05=
439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s=
:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd=
";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:=
"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i=
:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64=
d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:31=
3;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e=
3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s=
:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89=
";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:=
"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i=
:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2d=
f9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:33=
8;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939=
b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s=
:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d=
";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:=
"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i=
:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac=
14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:36=
3;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc=
65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s=
:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6=
";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:=
"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i=
:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7=
e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:38=
8;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af=
1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s=
:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b=
";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:=
"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i=
:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32=
a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:41=
3;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e=
990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s=
:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4=
";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:=
"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i=
:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f=
7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:43=
8;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8=
db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s=
:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a=
";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:=
"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i=
:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"53=
71af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:46=
3;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b=
179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s=
:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9=
";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:=
"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i=
:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f=
451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:48=
8;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895e=
f4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s=
:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f=
";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:=
"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i=
:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6f=
a90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:51=
3;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0=
a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s=
:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633=
";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:=
"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i=
:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f=
400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:53=
8;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024=
d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s=
:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7=
";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:=
"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i=
:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0=
cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:56=
3;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b=
6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s=
:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6=
";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:=
"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i=
:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58=
902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:58=
8;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b1=
62e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s=
:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a=
";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:=
"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i=
:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a=
4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:61=
3;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c47=
16f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s=
:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1=
";i:624;i:0;i:625;i:2;}}'));=0A } catch (\Exception $e) {=0A-    echo $e->g=
etMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EO=
L;=0A }=0A echo PHP_EOL, PHP_EOL;=0A =0A@@ -38,14 +38,14 @@ echo \Random\En=
gine\PcgOneseq128XslRr64::class, PHP_EOL;=0A try {=0A     var_dump(unserial=
ize('O:33:"Random\Engine\PcgOneseq128XslRr64":2:{i:0;a:0:{}i:1;a:2:{i:0;s:1=
5:"c6d571c37c41a8d";i:1;s:16:"345e7e82265d6e27";}}'));=0A } catch (\Excepti=
on $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': '=
, $e->getMessage(), PHP_EOL;=0A }=0A =0A // invalid hex=0A try {=0A     var=
_dump(unserialize('O:33:"Random\Engine\PcgOneseq128XslRr64":2:{i:0;a:0:{}i:=
1;a:2:{i:0;s:16:"c6d571c37c41a8d1";i:1;s:16:"345e7e82265d6e2g";}}'));=0A } =
catch (\Exception $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo =
$e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A echo PHP_EOL, PHP_EOL;=
=0A =0A@@ -54,46 +54,46 @@ echo \Random\Engine\Xoshiro256StarStar::class, P=
HP_EOL;=0A try {=0A     var_dump(unserialize('O:32:"Random\Engine\Xoshiro25=
6StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:15:"db1c182f1bf60cb";i:1;s:16:"2465f=
04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624e";}}'));=
=0A } catch (\Exception $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+   =
 echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A // invalid he=
x=0A try {=0A     var_dump(unserialize('O:32:"Random\Engine\Xoshiro256StarS=
tar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:16:"db1c182f1bf60cbb";i:1;s:16:"2465f04d36=
a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624g";}}'));=0A }=
 catch (\Exception $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo=
 $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A // additional arra=
y values (1)=0A try {=0A     var_dump(unserialize('O:32:"Random\Engine\Xosh=
iro256StarStar":3:{i:0;a:0:{}i:1;a:4:{i:0;s:16:"db1c182f1bf60cbb";i:1;s:16:=
"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624e";=
}i:2;N;}'));=0A } catch (\Exception $e) {=0A-    echo $e->getMessage(), PHP=
_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A /=
/ additional array values (2)=0A try {=0A     var_dump(unserialize('O:32:"R=
andom\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:5:{i:0;s:16:"db1c182f1b=
f60cbb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"3=
3a0d052f241624e";i:4;N;}}'));=0A } catch (\Exception $e) {=0A-    echo $e->=
getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_E=
OL;=0A }=0A =0A ?>=0A --EXPECT--=0A Random\Engine\Mt19937=0A-Invalid serial=
ization data for Random\Engine\Mt19937 object=0A-Invalid serialization data=
 for Random\Engine\Mt19937 object=0A-Invalid serialization data for Random\=
Engine\Mt19937 object=0A-Invalid serialization data for Random\Engine\Mt199=
37 object=0A+Exception: Invalid serialization data for Random\Engine\Mt1993=
7 object=0A+Exception: Invalid serialization data for Random\Engine\Mt19937=
 object=0A+Exception: Invalid serialization data for Random\Engine\Mt19937 =
object=0A+Exception: Invalid serialization data for Random\Engine\Mt19937 o=
bject=0A =0A =0A Random\Engine\PcgOneseq128XslRr64=0A-Invalid serialization=
 data for Random\Engine\PcgOneseq128XslRr64 object=0A-Invalid serialization=
 data for Random\Engine\PcgOneseq128XslRr64 object=0A+Exception: Invalid se=
rialization data for Random\Engine\PcgOneseq128XslRr64 object=0A+Exception:=
 Invalid serialization data for Random\Engine\PcgOneseq128XslRr64 object=0A=
 =0A =0A Random\Engine\Xoshiro256StarStar=0A-Invalid serialization data for=
 Random\Engine\Xoshiro256StarStar object=0A-Invalid serialization data for =
Random\Engine\Xoshiro256StarStar object=0A-Invalid serialization data for R=
andom\Engine\Xoshiro256StarStar object=0A-Invalid serialization data for Ra=
ndom\Engine\Xoshiro256StarStar object=0A+Exception: Invalid serialization d=
ata for Random\Engine\Xoshiro256StarStar object=0A+Exception: Invalid seria=
lization data for Random\Engine\Xoshiro256StarStar object=0A+Exception: Inv=
alid serialization data for Random\Engine\Xoshiro256StarStar object=0A+Exce=
ption: Invalid serialization data for Random\Engine\Xoshiro256StarStar obje=
ct=0Adiff --git a/ext/random/tests/02_engine/mt19937_error.phpt b/ext/rando=
m/tests/02_engine/mt19937_error.phpt=0Aindex dcbc21aa6bed..adbbe63c27ad 100=
644=0A--- a/ext/random/tests/02_engine/mt19937_error.phpt=0A+++ b/ext/rando=
m/tests/02_engine/mt19937_error.phpt=0A@@ -8,9 +8,9 @@ use Random\Engine\Mt=
19937;=0A try {=0A     new Mt19937(1234, 2);=0A } catch (ValueError $e) {=
=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->ge=
tMessage(), PHP_EOL;=0A }=0A =0A ?>=0A --EXPECT--=0A-Random\Engine\Mt19937:=
:__construct(): Argument #2 ($mode) must be either MT_RAND_MT19937 or MT_RA=
ND_PHP=0A+ValueError: Random\Engine\Mt19937::__construct(): Argument #2 ($m=
ode) must be either MT_RAND_MT19937 or MT_RAND_PHP=0Adiff --git a/ext/rando=
m/tests/02_engine/pcgoneseq128xslrr64_jump_error.phpt b/ext/random/tests/02=
_engine/pcgoneseq128xslrr64_jump_error.phpt=0Aindex cbc6e370b173..e8815d272=
a89 100644=0A--- a/ext/random/tests/02_engine/pcgoneseq128xslrr64_jump_erro=
r.phpt=0A+++ b/ext/random/tests/02_engine/pcgoneseq128xslrr64_jump_error.ph=
pt=0A@@ -11,7 +11,7 @@ $referenceEngine =3D new PcgOneseq128XslRr64(1234);=
=0A try {=0A     $engine->jump(-1);=0A } catch (ValueError $e) {=0A-    ech=
o $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(),=
 PHP_EOL;=0A }=0A =0A for ($i =3D 0; $i < 10_000; $i++) {=0A@@ -24,5 +24,5 =
@@ die('success');=0A =0A ?>=0A --EXPECT--=0A-Random\Engine\PcgOneseq128Xsl=
Rr64::jump(): Argument #1 ($advance) must be greater than or equal to 0=0A+=
ValueError: Random\Engine\PcgOneseq128XslRr64::jump(): Argument #1 ($advanc=
e) must be greater than or equal to 0=0A success=0Adiff --git a/ext/random/=
tests/02_engine/pcgoneseq128xslrr64_seed.phpt b/ext/random/tests/02_engine/=
pcgoneseq128xslrr64_seed.phpt=0Aindex b31177fba017..9e790a162fed 100644=0A-=
-- a/ext/random/tests/02_engine/pcgoneseq128xslrr64_seed.phpt=0A+++ b/ext/r=
andom/tests/02_engine/pcgoneseq128xslrr64_seed.phpt=0A@@ -17,7 +17,7 @@ ech=
o "Invalid data type", PHP_EOL;=0A try {=0A     $engine =3D new PcgOneseq12=
8XslRr64(1.0);=0A } catch (TypeError $e) {=0A-    echo $e->getMessage(), PH=
P_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A echo=
 PHP_EOL, PHP_EOL;=0A =0A@@ -25,7 +25,7 @@ echo "Invalid string seed length=
", PHP_EOL;=0A try {=0A     $engine =3D new PcgOneseq128XslRr64('foobar');=
=0A } catch (ValueError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+   =
 echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A echo PHP_EOL, PHP=
_EOL;=0A =0A@@ -49,11 +49,11 @@ Random string seed=0A =0A =0A Invalid data =
type=0A-Random\Engine\PcgOneseq128XslRr64::__construct(): Argument #1 ($see=
d) must be of type string|int|null, float given=0A+TypeError: Random\Engine=
\PcgOneseq128XslRr64::__construct(): Argument #1 ($seed) must be of type st=
ring|int|null, float given=0A =0A =0A Invalid string seed length=0A-Random\=
Engine\PcgOneseq128XslRr64::__construct(): Argument #1 ($seed) must be a 16=
 byte (128 bit) string=0A+ValueError: Random\Engine\PcgOneseq128XslRr64::__=
construct(): Argument #1 ($seed) must be a 16 byte (128 bit) string=0A =0A =
=0A Valid string seed=0Adiff --git a/ext/random/tests/02_engine/xoshiro256s=
tarstar_seed.phpt b/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt=
=0Aindex ec31c358fd68..ded9a01734d5 100644=0A--- a/ext/random/tests/02_engi=
ne/xoshiro256starstar_seed.phpt=0A+++ b/ext/random/tests/02_engine/xoshiro2=
56starstar_seed.phpt=0A@@ -17,7 +17,7 @@ echo "Invalid data type", PHP_EOL;=
=0A try {=0A     $engine =3D new Xoshiro256StarStar(1.0);=0A } catch (Throw=
able $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ':=
 ', $e->getMessage(), PHP_EOL;=0A }=0A echo PHP_EOL, PHP_EOL;=0A =0A@@ -25,=
7 +25,7 @@ echo "Invalid string seed length", PHP_EOL;=0A try {=0A     $eng=
ine =3D new Xoshiro256StarStar('foobar');=0A } catch (Throwable $e) {=0A-  =
  echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessa=
ge(), PHP_EOL;=0A }=0A echo PHP_EOL, PHP_EOL;=0A =0A@@ -33,7 +33,7 @@ echo =
"Null seed", PHP_EOL;=0A try {=0A     $engine =3D new Xoshiro256StarStar(st=
r_repeat("\x00", 32));=0A } catch (Throwable $e) {=0A-    echo $e->getMessa=
ge(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=
=0A echo PHP_EOL, PHP_EOL;=0A =0A@@ -57,15 +57,15 @@ Random string seed=0A =
=0A =0A Invalid data type=0A-Random\Engine\Xoshiro256StarStar::__construct(=
): Argument #1 ($seed) must be of type string|int|null, float given=0A+Type=
Error: Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed)=
 must be of type string|int|null, float given=0A =0A =0A Invalid string see=
d length=0A-Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($=
seed) must be a 32 byte (256 bit) string=0A+ValueError: Random\Engine\Xoshi=
ro256StarStar::__construct(): Argument #1 ($seed) must be a 32 byte (256 bi=
t) string=0A =0A =0A Null seed=0A-Random\Engine\Xoshiro256StarStar::__const=
ruct(): Argument #1 ($seed) must not consist entirely of NUL bytes=0A+Value=
Error: Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed)=
 must not consist entirely of NUL bytes=0A =0A =0A Valid string seed=0Adiff=
 --git a/ext/random/tests/02_engine/xoshiro256starstar_unserialize_zero_sta=
te.phpt b/ext/random/tests/02_engine/xoshiro256starstar_unserialize_zero_st=
ate.phpt=0Aindex 6ebcd03e8570..22e7ccc737f7 100644=0A--- a/ext/random/tests=
/02_engine/xoshiro256starstar_unserialize_zero_state.phpt=0A+++ b/ext/rando=
m/tests/02_engine/xoshiro256starstar_unserialize_zero_state.phpt=0A@@ -6,9 =
+6,9 @@ GH-21731: Xoshiro256StarStar::__unserialize() must reject the all-z=
ero state=0A try {=0A     var_dump(unserialize('O:32:"Random\Engine\Xoshiro=
256StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:16:"0000000000000000";i:1;s:16:"00=
00000000000000";i:2;s:16:"0000000000000000";i:3;s:16:"0000000000000000";}}'=
));=0A } catch (\Exception $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+=
    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A ?>=0A --EX=
PECT--=0A-Invalid serialization data for Random\Engine\Xoshiro256StarStar o=
bject=0A+Exception: Invalid serialization data for Random\Engine\Xoshiro256=
StarStar object=0Adiff --git a/ext/random/tests/03_randomizer/construct_twi=
ce.phpt b/ext/random/tests/03_randomizer/construct_twice.phpt=0Aindex 71283=
38ade97..ae06a09a403e 100644=0A--- a/ext/random/tests/03_randomizer/constru=
ct_twice.phpt=0A+++ b/ext/random/tests/03_randomizer/construct_twice.phpt=
=0A@@ -14,28 +14,28 @@ require __DIR__ . "/../engines.inc";=0A try {=0A    =
 (new Randomizer())->__construct();=0A } catch (Error $e) {=0A-    echo $e-=
>getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_=
EOL;=0A }=0A =0A try {=0A     $randomizer =3D new Randomizer(new Xoshiro256=
StarStar());=0A     $randomizer->__construct(new PcgOneseq128XslRr64());=0A=
 } catch (Error $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e=
::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     $randomi=
zer =3D new Randomizer(new TestShaEngine("1234"));=0A     $randomizer->__co=
nstruct(new TestShaEngine("1234"));=0A } catch (Error $e) {=0A-    echo $e-=
>getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_=
EOL;=0A }=0A =0A try {=0A     $randomizer =3D new Randomizer(new Xoshiro256=
StarStar());=0A     $randomizer->__construct(new TestShaEngine("1234"));=0A=
 } catch (Error $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e=
::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A var_dump($randomizer-=
>engine::class);=0A@@ -44,9 +44,9 @@ die('success');=0A =0A ?>=0A --EXPECT-=
-=0A-Cannot modify readonly property Random\Randomizer::$engine=0A-Cannot m=
odify readonly property Random\Randomizer::$engine=0A-Cannot modify readonl=
y property Random\Randomizer::$engine=0A-Cannot modify readonly property Ra=
ndom\Randomizer::$engine=0A+Error: Cannot modify readonly property Random\R=
andomizer::$engine=0A+Error: Cannot modify readonly property Random\Randomi=
zer::$engine=0A+Error: Cannot modify readonly property Random\Randomizer::$=
engine=0A+Error: Cannot modify readonly property Random\Randomizer::$engine=
=0A string(32) "Random\Engine\Xoshiro256StarStar"=0A success=0Adiff --git a=
/ext/random/tests/03_randomizer/engine_unsafe_biased.phpt b/ext/random/test=
s/03_randomizer/engine_unsafe_biased.phpt=0Aindex 2cfe68a46789..e8d6e69768b=
2 100644=0A--- a/ext/random/tests/03_randomizer/engine_unsafe_biased.phpt=
=0A+++ b/ext/random/tests/03_randomizer/engine_unsafe_biased.phpt=0A@@ -22,=
65 +22,65 @@ function randomizer(): Randomizer=0A try {=0A     var_dump(ran=
domizer()->getInt(0, 1234));=0A } catch (Random\BrokenRandomEngineError $e)=
 {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->=
getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(randomizer()->next=
Int());=0A } catch (Random\BrokenRandomEngineError $e) {=0A-    echo $e->ge=
tMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL=
;=0A }=0A =0A try {=0A     var_dump(bin2hex(randomizer()->getBytes(1)));=0A=
 } catch (Random\BrokenRandomEngineError $e) {=0A-    echo $e->getMessage()=
, PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =
=0A try {=0A     var_dump(randomizer()->shuffleArray(range(1, 1234)));=0A }=
 catch (Random\BrokenRandomEngineError $e) {=0A-    echo $e->getMessage(), =
PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =
=0A try {=0A     var_dump(randomizer()->pickArrayKeys(range(1, 1234), 1));=
=0A } catch (Random\BrokenRandomEngineError $e) {=0A-    echo $e->getMessag=
e(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=
=0A =0A try {=0A     var_dump(randomizer()->pickArrayKeys(range(1, 1234), 1=
0));=0A } catch (Random\BrokenRandomEngineError $e) {=0A-    echo $e->getMe=
ssage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=
=0A }=0A =0A try {=0A     var_dump(randomizer()->shuffleBytes('foobar'));=
=0A } catch (Random\BrokenRandomEngineError $e) {=0A-    echo $e->getMessag=
e(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=
=0A =0A try {=0A     var_dump(randomizer()->getBytesFromString('123', 10));=
=0A } catch (Random\BrokenRandomEngineError $e) {=0A-    echo $e->getMessag=
e(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=
=0A =0A try {=0A     var_dump(randomizer()->getBytesFromString(str_repeat('=
a', 500), 10));=0A } catch (Random\BrokenRandomEngineError $e) {=0A-    ech=
o $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(),=
 PHP_EOL;=0A }=0A =0A ?>=0A --EXPECTF--=0A-Failed to generate an acceptable=
 random number in 50 attempts=0A+Random\BrokenRandomEngineError: Failed to =
generate an acceptable random number in 50 attempts=0A int(%d)=0A string(2)=
 "ff"=0A-Failed to generate an acceptable random number in 50 attempts=0A-F=
ailed to generate an acceptable random number in 50 attempts=0A-Failed to g=
enerate an acceptable random number in 50 attempts=0A-Failed to generate an=
 acceptable random number in 50 attempts=0A-Failed to generate an acceptabl=
e random number in 50 attempts=0A-Failed to generate an acceptable random n=
umber in 50 attempts=0A+Random\BrokenRandomEngineError: Failed to generate =
an acceptable random number in 50 attempts=0A+Random\BrokenRandomEngineErro=
r: Failed to generate an acceptable random number in 50 attempts=0A+Random\=
BrokenRandomEngineError: Failed to generate an acceptable random number in =
50 attempts=0A+Random\BrokenRandomEngineError: Failed to generate an accept=
able random number in 50 attempts=0A+Random\BrokenRandomEngineError: Failed=
 to generate an acceptable random number in 50 attempts=0A+Random\BrokenRan=
domEngineError: Failed to generate an acceptable random number in 50 attemp=
ts=0Adiff --git a/ext/random/tests/03_randomizer/engine_unsafe_empty_string=
.phpt b/ext/random/tests/03_randomizer/engine_unsafe_empty_string.phpt=0Ain=
dex fe402b82b57b..e0ff0a14f52c 100644=0A--- a/ext/random/tests/03_randomize=
r/engine_unsafe_empty_string.phpt=0A+++ b/ext/random/tests/03_randomizer/en=
gine_unsafe_empty_string.phpt=0A@@ -23,65 +23,65 @@ function randomizer(): =
Randomizer=0A try {=0A     var_dump(randomizer()->getInt(0, 1234));=0A } ca=
tch (Random\BrokenRandomEngineError $e) {=0A-    echo $e->getMessage(), PHP=
_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A t=
ry {=0A     var_dump(randomizer()->nextInt());=0A } catch (Random\BrokenRan=
domEngineError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e:=
:class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(=
bin2hex(randomizer()->getBytes(1)));=0A } catch (Random\BrokenRandomEngineE=
rror $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ':=
 ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(randomizer=
()->shuffleArray(range(1, 1234)));=0A } catch (Random\BrokenRandomEngineErr=
or $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': '=
, $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(randomizer()=
->pickArrayKeys(range(1, 1234), 1));=0A } catch (Random\BrokenRandomEngineE=
rror $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ':=
 ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(randomizer=
()->pickArrayKeys(range(1, 1234), 10));=0A } catch (Random\BrokenRandomEngi=
neError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class,=
 ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(randomi=
zer()->shuffleBytes('foobar'));=0A } catch (Random\BrokenRandomEngineError =
$e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $=
e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(randomizer()->g=
etBytesFromString('123', 10));=0A } catch (Random\BrokenRandomEngineError $=
e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e=
->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(randomizer()->ge=
tBytesFromString(str_repeat('a', 500), 10));=0A } catch (Random\BrokenRando=
mEngineError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::c=
lass, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A ?>=0A --EXPECT--=0A-A ra=
ndom engine must return a non-empty string=0A-A random engine must return a=
 non-empty string=0A-A random engine must return a non-empty string=0A-A ra=
ndom engine must return a non-empty string=0A-A random engine must return a=
 non-empty string=0A-A random engine must return a non-empty string=0A-A ra=
ndom engine must return a non-empty string=0A-A random engine must return a=
 non-empty string=0A-A random engine must return a non-empty string=0A+Rand=
om\BrokenRandomEngineError: A random engine must return a non-empty string=
=0A+Random\BrokenRandomEngineError: A random engine must return a non-empty=
 string=0A+Random\BrokenRandomEngineError: A random engine must return a no=
n-empty string=0A+Random\BrokenRandomEngineError: A random engine must retu=
rn a non-empty string=0A+Random\BrokenRandomEngineError: A random engine mu=
st return a non-empty string=0A+Random\BrokenRandomEngineError: A random en=
gine must return a non-empty string=0A+Random\BrokenRandomEngineError: A ra=
ndom engine must return a non-empty string=0A+Random\BrokenRandomEngineErro=
r: A random engine must return a non-empty string=0A+Random\BrokenRandomEng=
ineError: A random engine must return a non-empty string=0Adiff --git a/ext=
/random/tests/03_randomizer/engine_unsafe_nul.phpt b/ext/random/tests/03_ra=
ndomizer/engine_unsafe_nul.phpt=0Aindex ff53b83b207a..9f6f1b76bfa6 100644=
=0A--- a/ext/random/tests/03_randomizer/engine_unsafe_nul.phpt=0A+++ b/ext/=
random/tests/03_randomizer/engine_unsafe_nul.phpt=0A@@ -22,55 +22,55 @@ fun=
ction randomizer(): Randomizer=0A try {=0A     var_dump(randomizer()->getIn=
t(0, 1234));=0A } catch (Random\BrokenRandomEngineError $e) {=0A-    echo $=
e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PH=
P_EOL;=0A }=0A =0A try {=0A     var_dump(randomizer()->nextInt());=0A } cat=
ch (Random\BrokenRandomEngineError $e) {=0A-    echo $e->getMessage(), PHP_=
EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A tr=
y {=0A     var_dump(bin2hex(randomizer()->getBytes(1)));=0A } catch (Random=
\BrokenRandomEngineError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+  =
  echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A    =
 var_dump(randomizer()->shuffleArray(range(1, 123)));=0A } catch (Random\Br=
okenRandomEngineError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    e=
cho $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     va=
r_dump(randomizer()->pickArrayKeys(range(1, 123), 1));=0A } catch (Random\B=
rokenRandomEngineError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    =
echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     v=
ar_dump(randomizer()->pickArrayKeys(range(1, 123), 10));=0A } catch (Random=
\BrokenRandomEngineError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+  =
  echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A    =
 var_dump(randomizer()->shuffleBytes('foobar'));=0A } catch (Random\BrokenR=
andomEngineError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $=
e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dum=
p(randomizer()->getBytesFromString('123', 10));=0A } catch (Random\BrokenRa=
ndomEngineError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e=
::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump=
(randomizer()->getBytesFromString(str_repeat('a', 500), 10));=0A } catch (R=
andom\BrokenRandomEngineError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=
=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A ?>=0A@=
@ -330,7 +330,7 @@ array(1) {=0A   [0]=3D>=0A   int(0)=0A }=0A-Failed to ge=
nerate an acceptable random number in 50 attempts=0A+Random\BrokenRandomEng=
ineError: Failed to generate an acceptable random number in 50 attempts=0A =
string(6) "oobarf"=0A string(10) "1111111111"=0A string(10) "aaaaaaaaaa"=0A=
diff --git a/ext/random/tests/03_randomizer/gh_19765_unserialize.phpt b/ext=
/random/tests/03_randomizer/gh_19765_unserialize.phpt=0Aindex 24abfca293fc.=
.f875328d6512 100644=0A--- a/ext/random/tests/03_randomizer/gh_19765_unseri=
alize.phpt=0A+++ b/ext/random/tests/03_randomizer/gh_19765_unserialize.phpt=
=0A@@ -11,11 +11,11 @@ try {=0A     $r =3D new Randomizer(new Mt19937());=
=0A     $r->__unserialize([['engine' =3D> new PcgOneseq128XslRr64()]]);=0A =
} catch (Exception $error) {=0A-    echo $error->getMessage() . "\n";=0A+  =
  echo $error::class, ': ', $error->getMessage(), "\n";=0A }=0A var_dump($r=
->engine::class);=0A =0A ?>=0A --EXPECT--=0A-Invalid serialization data for=
 Random\Randomizer object=0A+Exception: Invalid serialization data for Rand=
om\Randomizer object=0A string(21) "Random\Engine\Mt19937"=0Adiff --git a/e=
xt/random/tests/03_randomizer/gh_9186_unserialize.phpt b/ext/random/tests/0=
3_randomizer/gh_9186_unserialize.phpt=0Aindex edadb7380bd1..63036efb545b 10=
0644=0A--- a/ext/random/tests/03_randomizer/gh_9186_unserialize.phpt=0A+++ =
b/ext/random/tests/03_randomizer/gh_9186_unserialize.phpt=0A@@ -6,9 +6,9 @@=
 GH-9186: @strict-properties can be bypassed using unserialization=0A try {=
=0A     unserialize('O:17:"Random\Randomizer":1:{i:0;a:2:{s:3:"foo";N;s:6:"=
engine";O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s=
:16:"7520fbc2d6f8de46";i:1;s:16:"84d2d2b9d7ba0a34";i:2;s:16:"d975f36db6490b=
32";i:3;s:16:"c19991ee16785b94";}}}}');=0A } catch (Exception $error) {=0A-=
    echo $error->getMessage() . "\n";=0A+    echo $error::class, ': ', $err=
or->getMessage(), "\n";=0A }=0A =0A ?>=0A --EXPECT--=0A-Invalid serializati=
on data for Random\Randomizer object=0A+Exception: Invalid serialization da=
ta for Random\Randomizer object=0Adiff --git a/ext/random/tests/03_randomiz=
er/methods/getBytesFromString_error.phpt b/ext/random/tests/03_randomizer/m=
ethods/getBytesFromString_error.phpt=0Aindex 29c845353630..05439f3cb384 100=
644=0A--- a/ext/random/tests/03_randomizer/methods/getBytesFromString_error=
.phpt=0A+++ b/ext/random/tests/03_randomizer/methods/getBytesFromString_err=
or.phpt=0A@@ -13,16 +13,16 @@ function randomizer(): Randomizer=0A try {=0A=
     var_dump(randomizer()->getBytesFromString("", 2));=0A } catch (ValueEr=
ror $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': =
', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(randomizer(=
)->getBytesFromString("abc", 0));=0A } catch (ValueError $e) {=0A-    echo =
$e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), P=
HP_EOL;=0A }=0A =0A ?>=0A --EXPECTF--=0A-Random\Randomizer::getBytesFromStr=
ing(): Argument #1 ($string) must not be empty=0A-Random\Randomizer::getByt=
esFromString(): Argument #2 ($length) must be greater than 0=0A+ValueError:=
 Random\Randomizer::getBytesFromString(): Argument #1 ($string) must not be=
 empty=0A+ValueError: Random\Randomizer::getBytesFromString(): Argument #2 =
($length) must be greater than 0=0Adiff --git a/ext/random/tests/03_randomi=
zer/methods/getFloat_error.phpt b/ext/random/tests/03_randomizer/methods/ge=
tFloat_error.phpt=0Aindex 42e933cbefb2..68bfd262e38b 100644=0A--- a/ext/ran=
dom/tests/03_randomizer/methods/getFloat_error.phpt=0A+++ b/ext/random/test=
s/03_randomizer/methods/getFloat_error.phpt=0A@@ -22,109 +22,109 @@ foreach=
 ([=0A     try {=0A         var_dump(randomizer()->getFloat(NAN, 0.0, $boun=
dary));=0A     } catch (ValueError $e) {=0A-        echo $e->getMessage(), =
PHP_EOL;=0A+        echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A    =
 }=0A =0A     try {=0A         var_dump(randomizer()->getFloat(INF, 0.0, $b=
oundary));=0A     } catch (ValueError $e) {=0A-        echo $e->getMessage(=
), PHP_EOL;=0A+        echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A =
    }=0A =0A     try {=0A         var_dump(randomizer()->getFloat(-INF, 0.0=
, $boundary));=0A     } catch (ValueError $e) {=0A-        echo $e->getMess=
age(), PHP_EOL;=0A+        echo $e::class, ': ', $e->getMessage(), PHP_EOL;=
=0A     }=0A =0A     try {=0A         var_dump(randomizer()->getFloat(0.0, =
NAN, $boundary));=0A     } catch (ValueError $e) {=0A-        echo $e->getM=
essage(), PHP_EOL;=0A+        echo $e::class, ': ', $e->getMessage(), PHP_E=
OL;=0A     }=0A =0A     try {=0A         var_dump(randomizer()->getFloat(0.=
0, INF, $boundary));=0A     } catch (ValueError $e) {=0A-        echo $e->g=
etMessage(), PHP_EOL;=0A+        echo $e::class, ': ', $e->getMessage(), PH=
P_EOL;=0A     }=0A =0A     try {=0A         var_dump(randomizer()->getFloat=
(0.0, -INF, $boundary));=0A     } catch (ValueError $e) {=0A-        echo $=
e->getMessage(), PHP_EOL;=0A+        echo $e::class, ': ', $e->getMessage()=
, PHP_EOL;=0A     }=0A =0A     try {=0A         var_dump(randomizer()->getF=
loat(0.0, -0.1, $boundary));=0A     } catch (ValueError $e) {=0A-        ec=
ho $e->getMessage(), PHP_EOL;=0A+        echo $e::class, ': ', $e->getMessa=
ge(), PHP_EOL;=0A     }=0A =0A     try {=0A         var_dump(randomizer()->=
getFloat(0.0, 0.0, $boundary));=0A     } catch (ValueError $e) {=0A-       =
 echo $e->getMessage(), PHP_EOL;=0A+        echo $e::class, ': ', $e->getMe=
ssage(), PHP_EOL;=0A     }=0A =0A     try {=0A         // Both values round=
 to the same float.=0A         var_dump(randomizer()->getFloat(100_000_000_=
000_000_000.0, 100_000_000_000_000_000.1, $boundary));=0A     } catch (Valu=
eError $e) {=0A-        echo $e->getMessage(), PHP_EOL;=0A+        echo $e:=
:class, ': ', $e->getMessage(), PHP_EOL;=0A     }=0A =0A     try {=0A      =
   // There is no float between the two parameters, thus making the OpenOpe=
n interval empty.=0A         var_dump(randomizer()->getFloat(1.0, 1 + PHP_F=
LOAT_EPSILON, $boundary));=0A     } catch (ValueError $e) {=0A-        echo=
 $e->getMessage(), PHP_EOL;=0A+        echo $e::class, ': ', $e->getMessage=
(), PHP_EOL;=0A     }=0A }=0A =0A ?>=0A --EXPECTF--=0A ClosedClosed=0A-Rand=
om\Randomizer::getFloat(): Argument #1 ($min) must be finite=0A-Random\Rand=
omizer::getFloat(): Argument #1 ($min) must be finite=0A-Random\Randomizer:=
:getFloat(): Argument #1 ($min) must be finite=0A-Random\Randomizer::getFlo=
at(): Argument #2 ($max) must be finite=0A-Random\Randomizer::getFloat(): A=
rgument #2 ($max) must be finite=0A-Random\Randomizer::getFloat(): Argument=
 #2 ($max) must be finite=0A-Random\Randomizer::getFloat(): Argument #2 ($m=
ax) must be greater than or equal to argument #1 ($min)=0A+ValueError: Rand=
om\Randomizer::getFloat(): Argument #1 ($min) must be finite=0A+ValueError:=
 Random\Randomizer::getFloat(): Argument #1 ($min) must be finite=0A+ValueE=
rror: Random\Randomizer::getFloat(): Argument #1 ($min) must be finite=0A+V=
alueError: Random\Randomizer::getFloat(): Argument #2 ($max) must be finite=
=0A+ValueError: Random\Randomizer::getFloat(): Argument #2 ($max) must be f=
inite=0A+ValueError: Random\Randomizer::getFloat(): Argument #2 ($max) must=
 be finite=0A+ValueError: Random\Randomizer::getFloat(): Argument #2 ($max)=
 must be greater than or equal to argument #1 ($min)=0A float(0)=0A float(1=
.0E+17)=0A float(%f)=0A ClosedOpen=0A-Random\Randomizer::getFloat(): Argume=
nt #1 ($min) must be finite=0A-Random\Randomizer::getFloat(): Argument #1 (=
$min) must be finite=0A-Random\Randomizer::getFloat(): Argument #1 ($min) m=
ust be finite=0A-Random\Randomizer::getFloat(): Argument #2 ($max) must be =
finite=0A-Random\Randomizer::getFloat(): Argument #2 ($max) must be finite=
=0A-Random\Randomizer::getFloat(): Argument #2 ($max) must be finite=0A-Ran=
dom\Randomizer::getFloat(): Argument #2 ($max) must be greater than argumen=
t #1 ($min)=0A-Random\Randomizer::getFloat(): Argument #2 ($max) must be gr=
eater than argument #1 ($min)=0A-Random\Randomizer::getFloat(): Argument #2=
 ($max) must be greater than argument #1 ($min)=0A+ValueError: Random\Rando=
mizer::getFloat(): Argument #1 ($min) must be finite=0A+ValueError: Random\=
Randomizer::getFloat(): Argument #1 ($min) must be finite=0A+ValueError: Ra=
ndom\Randomizer::getFloat(): Argument #1 ($min) must be finite=0A+ValueErro=
r: Random\Randomizer::getFloat(): Argument #2 ($max) must be finite=0A+Valu=
eError: Random\Randomizer::getFloat(): Argument #2 ($max) must be finite=0A=
+ValueError: Random\Randomizer::getFloat(): Argument #2 ($max) must be fini=
te=0A+ValueError: Random\Randomizer::getFloat(): Argument #2 ($max) must be=
 greater than argument #1 ($min)=0A+ValueError: Random\Randomizer::getFloat=
(): Argument #2 ($max) must be greater than argument #1 ($min)=0A+ValueErro=
r: Random\Randomizer::getFloat(): Argument #2 ($max) must be greater than a=
rgument #1 ($min)=0A float(1)=0A OpenClosed=0A-Random\Randomizer::getFloat(=
): Argument #1 ($min) must be finite=0A-Random\Randomizer::getFloat(): Argu=
ment #1 ($min) must be finite=0A-Random\Randomizer::getFloat(): Argument #1=
 ($min) must be finite=0A-Random\Randomizer::getFloat(): Argument #2 ($max)=
 must be finite=0A-Random\Randomizer::getFloat(): Argument #2 ($max) must b=
e finite=0A-Random\Randomizer::getFloat(): Argument #2 ($max) must be finit=
e=0A-Random\Randomizer::getFloat(): Argument #2 ($max) must be greater than=
 argument #1 ($min)=0A-Random\Randomizer::getFloat(): Argument #2 ($max) mu=
st be greater than argument #1 ($min)=0A-Random\Randomizer::getFloat(): Arg=
ument #2 ($max) must be greater than argument #1 ($min)=0A+ValueError: Rand=
om\Randomizer::getFloat(): Argument #1 ($min) must be finite=0A+ValueError:=
 Random\Randomizer::getFloat(): Argument #1 ($min) must be finite=0A+ValueE=
rror: Random\Randomizer::getFloat(): Argument #1 ($min) must be finite=0A+V=
alueError: Random\Randomizer::getFloat(): Argument #2 ($max) must be finite=
=0A+ValueError: Random\Randomizer::getFloat(): Argument #2 ($max) must be f=
inite=0A+ValueError: Random\Randomizer::getFloat(): Argument #2 ($max) must=
 be finite=0A+ValueError: Random\Randomizer::getFloat(): Argument #2 ($max)=
 must be greater than argument #1 ($min)=0A+ValueError: Random\Randomizer::=
getFloat(): Argument #2 ($max) must be greater than argument #1 ($min)=0A+V=
alueError: Random\Randomizer::getFloat(): Argument #2 ($max) must be greate=
r than argument #1 ($min)=0A float(1.0000000000000002)=0A OpenOpen=0A-Rando=
m\Randomizer::getFloat(): Argument #1 ($min) must be finite=0A-Random\Rando=
mizer::getFloat(): Argument #1 ($min) must be finite=0A-Random\Randomizer::=
getFloat(): Argument #1 ($min) must be finite=0A-Random\Randomizer::getFloa=
t(): Argument #2 ($max) must be finite=0A-Random\Randomizer::getFloat(): Ar=
gument #2 ($max) must be finite=0A-Random\Randomizer::getFloat(): Argument =
#2 ($max) must be finite=0A-Random\Randomizer::getFloat(): Argument #2 ($ma=
x) must be greater than argument #1 ($min)=0A-Random\Randomizer::getFloat()=
: Argument #2 ($max) must be greater than argument #1 ($min)=0A-Random\Rand=
omizer::getFloat(): Argument #2 ($max) must be greater than argument #1 ($m=
in)=0A-The given interval is empty, there are no floats between argument #1=
 ($min) and argument #2 ($max)=0A+ValueError: Random\Randomizer::getFloat()=
: Argument #1 ($min) must be finite=0A+ValueError: Random\Randomizer::getFl=
oat(): Argument #1 ($min) must be finite=0A+ValueError: Random\Randomizer::=
getFloat(): Argument #1 ($min) must be finite=0A+ValueError: Random\Randomi=
zer::getFloat(): Argument #2 ($max) must be finite=0A+ValueError: Random\Ra=
ndomizer::getFloat(): Argument #2 ($max) must be finite=0A+ValueError: Rand=
om\Randomizer::getFloat(): Argument #2 ($max) must be finite=0A+ValueError:=
 Random\Randomizer::getFloat(): Argument #2 ($max) must be greater than arg=
ument #1 ($min)=0A+ValueError: Random\Randomizer::getFloat(): Argument #2 (=
$max) must be greater than argument #1 ($min)=0A+ValueError: Random\Randomi=
zer::getFloat(): Argument #2 ($max) must be greater than argument #1 ($min)=
=0A+ValueError: The given interval is empty, there are no floats between ar=
gument #1 ($min) and argument #2 ($max)=0Adiff --git a/ext/random/tests/03_=
randomizer/methods/pickArrayKeys_error.phpt b/ext/random/tests/03_randomize=
r/methods/pickArrayKeys_error.phpt=0Aindex cbd0495676c1..1d058813276e 10064=
4=0A--- a/ext/random/tests/03_randomizer/methods/pickArrayKeys_error.phpt=
=0A+++ b/ext/random/tests/03_randomizer/methods/pickArrayKeys_error.phpt=0A=
@@ -13,37 +13,37 @@ function randomizer(): Randomizer=0A try {=0A     var_d=
ump(randomizer()->pickArrayKeys("foo", 2));=0A } catch (TypeError $e) {=0A-=
    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMes=
sage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(randomizer()->pickArrayK=
eys([], 0));=0A } catch (ValueError $e) {=0A-    echo $e->getMessage(), PHP=
_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A t=
ry {=0A     var_dump(randomizer()->pickArrayKeys(range(1, 3), 0));=0A } cat=
ch (ValueError $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e:=
:class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(=
randomizer()->pickArrayKeys(range(1, 3), -1));=0A } catch (ValueError $e) {=
=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->ge=
tMessage(), PHP_EOL;=0A }=0A =0A try {=0A     var_dump(randomizer()->pickAr=
rayKeys(range(1, 3), 10));=0A } catch (ValueError $e) {=0A-    echo $e->get=
Message(), PHP_EOL;=0A+    echo $e::class, ': ', $e->getMessage(), PHP_EOL;=
=0A }=0A =0A ?>=0A --EXPECTF--=0A-Random\Randomizer::pickArrayKeys(): Argum=
ent #1 ($array) must be of type array, string given=0A-Random\Randomizer::p=
ickArrayKeys(): Argument #1 ($array) must not be empty=0A-Random\Randomizer=
::pickArrayKeys(): Argument #2 ($num) must be between 1 and the number of e=
lements in argument #1 ($array)=0A-Random\Randomizer::pickArrayKeys(): Argu=
ment #2 ($num) must be between 1 and the number of elements in argument #1 =
($array)=0A-Random\Randomizer::pickArrayKeys(): Argument #2 ($num) must be =
between 1 and the number of elements in argument #1 ($array)=0A+TypeError: =
Random\Randomizer::pickArrayKeys(): Argument #1 ($array) must be of type ar=
ray, string given=0A+ValueError: Random\Randomizer::pickArrayKeys(): Argume=
nt #1 ($array) must not be empty=0A+ValueError: Random\Randomizer::pickArra=
yKeys(): Argument #2 ($num) must be between 1 and the number of elements in=
 argument #1 ($array)=0A+ValueError: Random\Randomizer::pickArrayKeys(): Ar=
gument #2 ($num) must be between 1 and the number of elements in argument #=
1 ($array)=0A+ValueError: Random\Randomizer::pickArrayKeys(): Argument #2 (=
$num) must be between 1 and the number of elements in argument #1 ($array)=
=0Adiff --git a/ext/random/tests/03_randomizer/readonly.phpt b/ext/random/t=
ests/03_randomizer/readonly.phpt=0Aindex f5cf7cc0dd5b..a8eb299b48fd 100644=
=0A--- a/ext/random/tests/03_randomizer/readonly.phpt=0A+++ b/ext/random/te=
sts/03_randomizer/readonly.phpt=0A@@ -13,7 +13,7 @@ $referenceRandomizer =
=3D new Randomizer(new PcgOneseq128XslRr64(1234));=0A try {=0A     $randomi=
zer->engine =3D new Xoshiro256StarStar(1234);=0A } catch (Throwable $e) {=
=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo $e::class, ': ', $e->ge=
tMessage(), PHP_EOL;=0A }=0A =0A for ($i =3D 0; $i < 10_000; $i++) {=0A@@ -=
26,5 +26,5 @@ die('success');=0A =0A ?>=0A --EXPECT--=0A-Cannot modify read=
only property Random\Randomizer::$engine=0A+Error: Cannot modify readonly p=
roperty Random\Randomizer::$engine=0A success=0Adiff --git a/ext/random/tes=
ts/03_randomizer/serialize_disallowed.phpt b/ext/random/tests/03_randomizer=
/serialize_disallowed.phpt=0Aindex 06f8ea2cb09a..58ecd8f41da7 100644=0A--- =
a/ext/random/tests/03_randomizer/serialize_disallowed.phpt=0A+++ b/ext/rand=
om/tests/03_randomizer/serialize_disallowed.phpt=0A@@ -9,9 +9,9 @@ use Rand=
om\Randomizer;=0A try {=0A     serialize(new Randomizer(new Secure()));=0A =
} catch (Exception $e) {=0A-    echo $e->getMessage(), PHP_EOL;=0A+    echo=
 $e::class, ': ', $e->getMessage(), PHP_EOL;=0A }=0A =0A ?>=0A --EXPECT--=
=0A-Serialization of 'Random\Engine\Secure' is not allowed=0A+Exception: Se=
rialization of 'Random\Engine\Secure' is not allowed=0A