3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace IsoCodes; interface IsoCodeInterface { /** * @param mixed $value * * @return bool */ public static function validate($value); } /** * @example : * // Generate a SSN for California * echo "\n" . Ssn::generate('AK'); * echo "\n" . Ssn::generate('AL'); * echo "\n" . Ssn::generate('AR'); * echo "\n" . Ssn::generate('AZ'); * echo "\n" . Ssn::generate('CA'); * echo "\n" . Ssn::generate('CO'); * echo '--'; * // Validate a SSN * echo Ssn::validate('557-26-9048'); * * @source : http://haxorfreek.15.forumer.com/a/us-social-security-number-ssn-generator_post1847.html */ class Ssn implements IsoCodeInterface { private static $initialized = false; // Populate this variable with the high group list provided by the Social Security Administration: // http://www.ssa.gov/employer/ssnvhighgroup.htm // We only want the numbers. Omit the explanatory text at the beginning of the file. // This list is from September 2007 public static $highgroup = <<<EOT 001 06 002 04 003 04 004 08 005 08 006 08 007 06 008 90 009 90 010 90 011 90 012 90 013 90 014 90 015 90 016 90 017 90 018 90 019 90 020 90 021 90 022 90 023 90 024 90 025 90 026 90 027 90* 028 88 029 88 030 88 031 88 032 88 033 88 034 88 035 72 036 72 037 72 038 72 039 70 040 11 041 11 042 11 043 11 044 11 045 11 046 11 047 11 048 08 049 08 050 96 051 96 052 96 053 96 054 96 055 96 056 96 057 96 058 96 059 96 060 96 061 96 062 96 063 96 064 96 065 96 066 96 067 96 068 96 069 96 070 96 071 96 072 96 073 96 074 96 075 96 076 96 077 96 078 96 079 96 080 96 081 96 082 96 083 96 084 96 085 96 086 96 087 96 088 96 089 96 090 96 091 96 092 96 093 96 094 96 095 96 096 96 097 96 098 96 099 96 100 96 101 96 102 96 103 96 104 96 105 96 106 96 107 96 108 96 109 96 110 96* 111 96* 112 96* 113 96* 114 94 115 94 116 94 117 94 118 94 119 94 120 94 121 94 122 94 123 94 124 94 125 94 126 94 127 94 128 94 129 94 130 94 131 94 132 94 133 94 134 94 135 19 136 19 137 19 138 19 139 19 140 19 141 19 142 19* 143 19* 144 17 145 17 146 17 147 17 148 17 149 17 150 17 151 17 152 17 153 17 154 17 155 17 156 17 157 17 158 17 159 84 160 84 161 84 162 84 163 84 164 84 165 84 166 84 167 84 168 84 169 84 170 84 171 84 172 84 173 84 174 84 175 84 176 84 177 84 178 84* 179 84* 180 82 181 82 182 82 183 82 184 82 185 82 186 82 187 82 188 82 189 82 190 82 191 82 192 82 193 82 194 82 195 82 196 82 197 82 198 82 199 82 200 82 201 82 202 82 203 82 204 82 205 82 206 82 207 82 208 82 209 82 210 82 211 82 212 79 213 79 214 79 215 79 216 79 217 79* 218 77 219 77 220 77 221 06 222 04 223 99 224 99 225 99 226 99 227 99 228 99 229 99 230 99 231 99 232 53 233 53 234 53 235 53 236 53 237 99 238 99 239 99 240 99 241 99 242 99 243 99 244 99 245 99 246 99 247 99 248 99 249 99 250 99 251 99 252 99 253 99 254 99 255 99 256 99 257 99 258 99 259 99 260 99 261 99 262 99 263 99 264 99 265 99 266 99 267 99 268 13 269 13 270 13 271 13 272 13 273 13 274 13 275 13 276 13 277 13 278 13 279 13 280 13 281 13 282 13 283 13 284 13* 285 13* 286 11 287 11 288 11 289 11 290 11 291 11 292 11 293 11 294 11 295 11 296 11 297 11 298 11 299 11 300 11 301 11 302 11 303 33* 304 31 305 31 306 31 307 31 308 31 309 31 310 31 311 31 312 31 313 31 314 31 315 31 316 31 317 31 318 06 319 06 320 06 321 06 322 06 323 06 324 06 325 06 326 06 327 06 328 06 329 06 330 06 331 06 332 06 333 06 334 06 335 06 336 06 337 06 338 06 339 06 340 06 341 06 342 06 343 06 344 06 345 06 346 06 347 06* 348 06* 349 04 350 04 351 04 352 04 353 04 354 04 355 04 356 04 357 04 358 04 359 04 360 04 361 04 362 35 363 35* 364 35* 365 33 366 33 367 33 368 33 369 33 370 33 371 33 372 33 373 33 374 33 375 33 376 33 377 33 378 33 379 33 380 33 381 33 382 33 383 33 384 33 385 33 386 33 387 29 388 29 389 29 390 29 391 29 392 29 393 27 394 27 395 27 396 27 397 27 398 27 399 27 400 67 401 67 402 67 403 67 404 67 405 67 406 67* 407 65 408 99 409 99 410 99 411 99 412 99 413 99 414 99 415 99 416 61 417 61 418 61 419 61 420 61 421 61 422 61 423 61 424 61 425 99 426 99 427 99 428 99 429 99 430 99 431 99 432 99 433 99 434 99 435 99 436 99 437 99 438 99 439 99 440 23 441 23 442 23 443 23 444 23 445 23 446 23* 447 21 448 21 449 99 450 99 451 99 452 99 453 99 454 99 455 99 456 99 457 99 458 99 459 99 460 99 461 99 462 99 463 99 464 99 465 99 466 99 467 99 468 51 469 51* 470 49 471 49 472 49 473 49 474 49 475 49 476 49 477 49 478 37 479 37 480 37 481 37 482 37 483 37 484 37 485 35 486 25 487 25 488 25 489 25 490 25 491 25 492 25 493 25 494 25 495 25* 496 23 497 23 498 23 499 23 500 23 501 33 502 33* 503 41 504 39 505 53 506 51 507 51 508 51 509 27 510 27 511 27 512 27 513 27 514 27 515 27* 516 45 517 43 518 77 519 77 520 53 521 99 522 99 523 99 524 99 525 99 526 99 527 99 528 99 529 99 530 99 531 63* 532 61 533 61 534 61 535 61 536 61 537 61 538 61 539 61* 540 73 541 73 542 73 543 73 544 73 545 99 546 99 547 99 548 99 549 99 550 99 551 99 552 99 553 99 554 99 555 99 556 99 557 99 558 99 559 99 560 99 561 99 562 99 563 99 564 99 565 99 566 99 567 99 568 99 569 99 570 99 571 99 572 99 573 99 574 49 575 99 576 99 577 45 578 45* 579 43 580 37 581 99 582 99 583 99 584 99 585 99 586 61 587 99 588 03 589 99 590 99 591 99 592 99 593 99 594 99 595 99 596 84 597 84 598 84* 599 82 600 99 601 99 602 65 603 65 604 65 605 65 606 65 607 65* 608 65* 609 65* 610 65* 611 65* 612 65* 613 65* 614 65* 615 63 616 63 617 63 618 63 619 63 620 63 621 63 622 63 623 63 624 63 625 63 626 63 627 11 628 11 629 11 630 11 631 11* 632 11* 633 11* 634 11* 635 11* 636 11* 637 08 638 08 639 08 640 08 641 08 642 08 643 08 644 08 645 08 646 96 647 94 648 44 649 44 650 46 651 46* 652 44 653 44 654 26 655 26 656 26 657 26 658 24 659 16 660 16* 661 14 662 14 663 14 664 14 665 14 667 34 668 34 669 34 670 34 671 34 672 34* 673 34* 674 32 675 32 676 14 677 14* 678 12 679 12 680 90* 681 14* 682 12 683 12 684 12 685 12 686 12 687 12 688 12 689 12 690 12 691 07 692 07 693 07 694 07 695 07 696 07 697 07 698 07 699 07* 700 18 701 18 702 18 703 18 704 18 705 18 706 18 707 18 708 18 709 18 710 18 711 18 712 18 713 18 714 18 715 18 716 18 717 18 718 18 719 18 720 18 721 18 722 18 723 18 724 28 725 18 726 18 727 10 728 14 729 10 730 10 731 10 732 09 733 09 750 09 751 07 752 01 753 01 756 05 757 05 758 05 759 05 760 05* 761 03 762 03 763 03 764 80 765 80* 766 64* 767 64* 768 62 769 62 770 62 771 62 772 62* EOT; // This information is obtained from: // http://www.ssa.gov/employer/stateweb.htm public static $statePrefixes = array( 'AK' => array(574), 'AL' => array(416, 417, 418, 419, 420, 421, 422, 423, 424), 'AR' => array(429, 430, 431, 432, 676, 677, 678, 679), 'AZ' => array(526, 527, 600, 601, 764, 765), 'CA' => array(545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626), 'CO' => array(521, 522, 523, 524, 650, 651, 652, 653), 'CT' => array(40, 41, 42, 43, 44, 45, 46, 47, 48, 49), 'DC' => array(577, 578, 579), 'DE' => array(221, 222), 'FL' => array(261, 262, 263, 264, 265, 266, 267, 589, 590, 591, 592, 593, 594, 595, 766, 767, 768, 769, 770, 771, 772), 'GA' => array(252, 253, 254, 255, 256, 257, 258, 259, 260, 667, 668, 669, 670, 671, 672, 673, 674, 675), 'HI' => array(575, 576, 750, 751), 'IA' => array(478, 479, 480, 481, 482, 483, 484, 485), 'ID' => array(518, 519), 'IL' => array(318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361), 'IN' => array(303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317), 'KS' => array(509, 510, 511, 512, 513, 514, 515), 'KY' => array(400, 401, 402, 403, 404, 405, 406, 407), 'LA' => array(433, 434, 435, 436, 437, 438, 439, 659, 660, 661, 662, 663, 664, 665), 'MA' => array(10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34), 'MD' => array(212, 213, 214, 215, 216, 217, 218, 219, 220), 'ME' => array(4, 5, 6, 7), 'MI' => array(362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386), 'MN' => array(468, 469, 470, 471, 472, 473, 474, 475, 476, 477), 'MO' => array(486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500), 'MS' => array(425, 426, 427, 428, 587), 'MT' => array(516, 517), 'NC' => array(237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690), 'ND' => array(501, 502), 'NE' => array(505, 506, 507, 508), 'NH' => array(1, 2, 3), 'NJ' => array(135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158), 'NM' => array(525, 585, 648, 649), 'NV' => array(530, 680), 'NY' => array(50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134), 'OH' => array(268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302), 'OK' => array(440, 441, 442, 443, 444, 445, 446, 447, 448), 'OR' => array(540, 541, 542, 543, 544), 'PA' => array(159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211), 'RI' => array(35, 36, 37, 38, 39), 'SC' => array(247, 248, 249, 250, 251, 654, 655, 656, 657, 658), 'SD' => array(503, 504), 'TN' => array(408, 409, 410, 411, 412, 413, 414, 415, 756, 757, 758, 759, 760, 761, 762, 763), 'TX' => array(449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645), 'UT' => array(528, 529, 646, 647), 'VA' => array(223, 224, 225, 226, 227, 228, 229, 230, 231, 691, 692, 693, 694, 695, 696, 697, 698, 699), 'VT' => array(8, 9), 'WA' => array(531, 532, 533, 534, 535, 536, 537, 538, 539), 'WI' => array(387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399), 'WV' => array(232, 233, 234, 235, 236), 'WY' => array(520), ); public static $states = array('AK', 'AL', 'AR', 'AZ', 'CA', 'CO', 'CT', 'DC', 'DE', 'FL', 'GA', 'HI', 'IA', 'ID', 'IL', 'IN', 'KS', 'KY', 'LA', 'MA', 'MD', 'ME', 'MI', 'MN', 'MO', 'MS', 'MT', 'NC', 'ND', 'NE', 'NH', 'NJ', 'NM', 'NV', 'NY', 'OH', 'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VA', 'VT', 'WA', 'WI', 'WV', 'WY'); // The SSA uses a funky method of figuring out what group number to use next. This area has them in the proper order and makes it easier to generate a SSN. public static $possibleGroups = array(1, 3, 5, 7, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 2, 4, 6, 8, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99); /** * Cleans the high group number list so it is useful. */ private static function initialize() { $highgroup = self::$highgroup; // Trim the high group list and remove asterisks, fix space/tabs, and replace new lines with tabs. // The data isn't formatted well so we have to do quite a bit of random replacing. $highgroup = trim((string) $highgroup); $highgroup = str_replace(array('*', " \t", "\n", ' '), array('', "\t", "\t", "\t"), $highgroup); // Explode on tab. This should give us an array of prefixes and group numbers, IE '203 82', '204 82', etc $highgroup = explode("\t", $highgroup); // Make array useful by splitting the prefix and group number // We also convert the string to an int for easier handling later down the road $cleangroup = array(); foreach ($highgroup as $value) { if (trim($value) != '') { $temp = explode(' ', $value); if (isset($temp[1])) { $cleangroup[(int) trim($temp[0])] = (int) trim($temp[1]); self::$highgroup = (string) $cleangroup; } } } } /** * Generate an SSN based on state. * * @param mixed $state * @param string $separator * * @return false|string (false: bad state found) */ public static function generate($state = false, $separator = '-') { if (!self::$initialized) { self::initialize(); self::$initialized = true; } $states = self::$states; $statePrefixes = self::$statePrefixes; $highgroup = self::$highgroup; $possibleGroups = self::$possibleGroups; if ($state === false) { $state = $states[mt_rand(0, count($states) - 1)]; } $state = strtoupper($state); // Sanity check: is this a valid state? if (!isset($statePrefixes[$state])) { return false; } // Generate area number $area = $statePrefixes[$state][array_rand($statePrefixes[$state])]; // Generate group number $group = $possibleGroups[mt_rand(0, array_search($highgroup[$area], $possibleGroups))]; // Generate valid group number // Generate last four $lastfour = sprintf('%04s', trim(mt_rand(0, 9999))); return sprintf('%03s', $area).$separator.sprintf('%02s', $group).$separator.$lastfour; } /** * Validate a SSN. * * @param mixed $ssn * * @return bool : false, or two letter state abbreviation if it is valid */ public static function validate($ssn) { if (!self::$initialized) { self::initialize(); self::$initialized = true; } if (!is_string($ssn)) { return false; } if (trim($ssn) === '') { return false; } $statePrefixes = self::$statePrefixes; $highgroup = self::$highgroup; $possibleGroups = self::$possibleGroups; // Split up the SSN // If not 9 or 11 long, then return false $length = strlen($ssn); if ($length == 9) { $areaNumber = substr($ssn, 0, 3); $groupNumber = substr($ssn, 3, 2); $lastFour = substr($ssn, 5); } elseif ($length == 11) { $areaNumber = substr($ssn, 0, 3); $groupNumber = substr($ssn, 4, 2); $lastFour = substr($ssn, 7); } else { return false; } // Strip leading zeros $areaNumber = ltrim($areaNumber, 0); $groupNumber = ltrim($groupNumber, 0); // Check if parts are numeric if (!is_numeric($areaNumber) || !is_numeric($groupNumber) || !is_numeric($lastFour)) { return false; } foreach ($statePrefixes as $numbers) { // Search for the area number in the state list if (in_array($areaNumber, $numbers)) { // Make sure the group number is valid if (array_search($highgroup[$areaNumber], $possibleGroups) >= array_search($groupNumber, $possibleGroups)) { //return $state => must use "as $state => numbers" in the foreach loop; return true; } else { return false; } } } return false; } } $ssn = new Ssn(); echo "\n" . $ssn->generate('AK'); echo "\n" . $ssn->generate('AL'); echo "\n" . $ssn->generate('AR'); echo "\n" . $ssn->generate('AZ'); echo "\n" . $ssn->generate('CA'); echo "\n" . $ssn->generate('CO'); echo '--'; // Validate a SSN var_export($ssn->validate('557-26-9048'));
Output for 8.0.11
574-01-1348 416-03-4276 432-01-3066 765-01-2637 551-01-7043 650-01-7036--false
Output for 8.0.10
574-01-7813 423-05-6707 679-01-8208 601-01-4691 603-03-5542 521-01-4952--false
Output for 8.0.9
574-01-9432 418-01-6373 429-01-1781 527-68-7003 611-01-9085 652-03-3492--false
Output for 8.0.8
574-01-1908 418-01-7750 678-01-8595 600-01-1425 613-01-8136 653-01-9243--false
Output for 8.0.7
574-01-0009 421-01-3974 431-03-7205 527-16-9498 623-05-9654 524-84-3025--false
Output for 8.0.6
574-01-9302 420-32-4325 678-01-3138 526-05-6947 609-05-8548 521-01-2075--false
Output for 8.0.5
574-01-9798 421-01-5526 677-66-6852 601-01-7900 622-01-6367 522-01-4519--false
Output for 8.0.3
574-01-0328 417-01-1547 431-01-7050 601-01-7717 615-01-5135 650-01-4630--false
Output for 8.0.2
574-01-2562 423-01-5708 432-01-9566 527-38-2866 616-07-0578 521-01-0801--false
Output for 8.0.1
574-01-4010 421-01-2128 429-01-1487 764-01-3132 620-04-2478 523-28-2789--false
Output for 8.0.0
574-01-5846 417-01-4299 431-01-1395 765-01-1174 610-03-4130 651-01-3870--false
Output for 7.4.24
574-01-2460 417-01-5877 429-01-7658 600-01-7256 560-07-1569 522-01-0901--false
Output for 7.4.23
574-01-8076 417-01-0038 432-01-6930 526-05-5550 561-01-6713 524-72-6212--false
Output for 7.4.22
574-01-1539 424-90-2683 676-01-7648 765-01-9816 566-40-4389 653-01-4914--false
Output for 7.4.21
574-01-5413 419-09-9096 430-03-3018 527-62-4724 557-01-3355 521-01-1099--false
Output for 7.4.20
574-01-3468 416-03-7621 429-01-8624 765-01-8164 613-86-6355 651-01-9438--false
Output for 7.4.16
574-01-9691 422-01-5764 430-05-0674 765-01-1347 623-07-3736 524-36-9320--false
Output for 7.4.15
574-01-0070 421-01-8710 679-01-9690 764-01-8040 618-01-9955 651-01-5532--false
Output for 7.4.14
574-01-4299 417-01-6069 676-05-6119 764-01-5114 571-01-6889 652-05-9759--false
Output for 7.4.13
574-01-9222 421-01-6886 678-01-1857 764-01-5911 569-09-6298 521-01-6013--false
Output for 7.4.12
574-01-2769 424-50-9018 429-01-4929 526-07-9198 617-05-6663 650-01-5071--false
Output for 7.4.11
574-01-4492 423-05-5294 432-01-7896 600-01-3959 608-01-5443 650-01-2818--false
Output for 7.4.10
574-01-0093 420-24-8554 432-01-0837 600-01-3520 617-01-8513 652-05-1337--false
Output for 7.4.9
574-01-3479 423-03-9186 432-01-9611 527-98-7079 555-05-5898 521-01-7156--false
Output for 7.4.8
574-01-9749 424-62-3771 679-01-8845 600-01-0957 556-64-0957 651-01-4068--false
Output for 7.4.7
574-01-6221 419-07-2066 676-03-9914 527-34-7888 610-88-7963 521-01-2675--false
Output for 7.4.6
574-01-9913 422-01-6225 429-01-8462 600-01-9102 555-01-9933 521-01-7730--false
Output for 7.4.5
574-01-4108 417-01-2795 430-03-4087 600-01-5396 625-01-6704 653-03-0667--false
Output for 7.4.4
574-01-0465 422-01-6614 676-07-6723 600-01-7844 605-07-1510 651-01-8145--false
Output for 7.4.3
574-01-0548 424-10-8860 678-01-5958 600-01-9834 547-01-0308 651-01-3714--false
Output for 7.4.0
574-01-9497 424-26-7797 676-05-8697 600-01-9316 612-03-8207 523-03-5126--false
Output for 7.3.30
574-01-3492 419-01-3764 431-03-1963 601-01-2822 561-01-6549 651-01-0998--false
Output for 7.3.29
574-01-4290 422-01-0582 679-01-8082 601-01-3813 572-01-2809 522-01-1797--false
Output for 7.3.28
574-01-2807 422-01-0200 431-01-8451 765-01-1741 609-03-8756 524-18-6264--false
Output for 7.3.27
574-01-3437 424-60-0849 432-01-0885 526-01-3702 568-01-5357 652-03-4723--false
Output for 7.3.26
574-01-5978 418-01-1729 431-01-8955 527-18-6922 562-07-7109 652-01-0306--false
Output for 7.3.25
574-01-1800 421-01-1431 678-01-6375 601-01-2602 564-01-2097 651-01-2703--false
Output for 7.3.24
574-01-0196 422-01-7328 676-09-4997 764-01-9455 560-88-3423 523-56-7641--false
Output for 7.3.23
574-01-7698 418-01-2244 677-03-9591 765-01-9046 569-07-0154 524-72-0611--false
Output for 7.3.21
574-01-8943 421-01-7127 679-01-0013 527-94-8302 607-01-7555 524-82-4072--false
Output for 7.3.20
574-01-9027 418-01-9335 679-01-9306 764-01-5612 553-05-1472 652-05-4167--false
Output for 7.3.19
574-01-1724 421-01-5508 432-01-1298 527-24-8284 606-38-4922 651-01-0146--false
Output for 7.3.18
574-01-4597 422-01-9215 431-03-5169 765-01-4926 612-07-3027 651-01-1036--false
Output for 7.3.17
574-01-1414 423-05-6264 429-01-9712 527-50-5084 554-01-4523 522-01-7425--false
Output for 7.3.16
574-01-2851 420-01-6708 429-01-2254 527-40-7978 611-01-2104 523-74-8713--false
Output for 7.3.12
574-01-1355 424-42-8513 679-01-6150 764-01-3830 560-16-8940 650-01-3261--false
Output for 7.3.11
574-01-9285 419-01-2703 676-07-6890 600-01-5067 626-05-7410 521-01-8387--false
Output for 7.3.10
574-01-1745 416-05-9594 432-01-5234 765-01-9902 603-03-0845 652-01-7234--false
Output for 7.3.9
574-01-4844 421-01-5875 431-03-1168 601-01-1363 567-03-1858 524-70-1464--false
Output for 7.3.8
574-01-1922 418-01-4996 431-01-1726 527-96-4539 567-01-0659 650-01-4812--false
Output for 7.3.7
574-01-0493 419-07-5321 432-01-9352 764-01-8477 618-01-0852 524-56-6983--false
Output for 7.3.6
574-01-1305 417-01-4911 431-03-3560 600-01-2672 603-03-4737 523-36-7729--false
Output for 7.3.5
574-01-8568 420-44-1135 430-01-8659 601-01-5059 622-01-3815 651-01-0937--false
Output for 7.3.4
574-01-6773 418-01-7778 678-01-7801 526-05-3686 564-01-5558 651-01-0652--false
Output for 7.3.3
574-01-5712 418-01-2988 430-05-5204 526-05-1414 556-76-6390 651-01-0038--false
Output for 7.3.2
574-01-2269 424-38-0423 679-01-0555 601-01-1821 619-01-0824 652-07-4446--false
Output for 7.3.1
574-01-9421 420-03-2031 432-01-4357 764-01-5445 569-09-6420 524-22-1841--false
Output for 7.3.0
574-01-2612 422-01-2846 679-01-2793 765-01-2203 617-05-3159 524-02-5760--false
Output for 7.2.33
574-01-8007 418-01-2367 676-07-0780 764-01-5626 561-01-3178 651-01-6307--false
Output for 7.2.32
574-01-9843 423-05-0415 431-03-9871 600-01-5017 548-01-6342 522-01-3152--false
Output for 7.2.31
574-01-3478 421-01-8648 429-01-8223 601-01-9428 558-01-0674 521-01-8040--false
Output for 7.2.30
574-01-4084 421-01-0462 679-01-7292 764-01-3442 610-20-9339 523-64-1537--false
Output for 7.2.29
574-01-5839 417-01-2768 431-03-0670 526-07-0038 545-01-5466 653-07-5114--false
Output for 7.2.25
574-01-9402 423-01-1772 679-01-3325 765-01-2143 562-03-1228 522-01-5671--false
Output for 7.2.24
574-01-3508 421-01-4750 679-01-3891 526-05-9501 612-01-2649 651-01-2371--false
Output for 7.2.23
574-01-0441 416-03-4125 676-01-4215 601-01-8955 564-01-9417 522-01-9494--false
Output for 7.2.22
574-01-2550 418-01-9560 676-01-8602 600-01-1713 555-05-8937 521-01-8057--false
Output for 7.2.21
574-01-7672 417-01-0641 676-09-6992 600-01-7888 556-60-9374 653-03-9487--false
Output for 7.2.20
574-01-5065 420-90-1767 679-01-5926 526-09-3283 566-80-3807 522-01-9627--false
Output for 7.2.19
574-01-1799 424-90-6131 430-05-4881 526-05-7108 608-01-8630 653-03-9712--false
Output for 7.2.18
574-01-2833 418-01-9598 679-01-4421 527-98-3308 605-07-5037 651-01-3758--false
Output for 7.2.17
574-01-7499 420-22-6346 676-01-8494 764-01-7833 565-01-1661 650-01-3946--false
Output for 7.2.6
574-01-7395 420-10-0234 432-01-5149 526-01-7335 547-01-5788 524-38-4601--false
Output for 7.2.0
574-01-7300 417-01-5812 679-01-6091 600-01-2546 552-68-2596 522-01-2769--false
Output for 7.1.33
574-01-1833 419-05-1715 676-01-8730 764-01-1408 571-01-6060 524-16-8232--false
Output for 7.1.32
574-01-9465 418-01-8038 678-01-6324 764-01-2550 564-01-8209 523-56-8281--false
Output for 7.1.31
574-01-7394 416-01-6284 679-01-6842 527-04-4890 626-07-2188 650-01-4927--false
Output for 7.1.30
574-01-3427 422-01-5661 430-01-6696 601-01-1735 554-01-0865 653-05-8807--false
Output for 7.1.29
574-01-0852 419-01-5889 679-01-1373 765-01-6167 607-01-5770 651-01-2340--false
Output for 7.1.28
574-01-7103 421-01-8026 432-01-8361 601-01-3894 608-01-1270 523-16-6294--false
Output for 7.1.27
574-01-8027 416-03-2552 678-01-4120 601-01-9253 602-03-4077 524-50-2943--false
Output for 7.1.26
574-01-3079 416-05-0022 676-09-2789 601-01-4866 626-09-8498 523-54-0899--false
Output for 7.1.20
574-01-9790 416-01-6549 430-01-6690 526-01-9297 623-01-9565 521-01-3967--false
Output for 7.1.10
574-01-5102 418-01-6867 432-01-9676 601-01-5795 565-01-8241 523-84-9343--false
Output for 7.1.7
574-01-0624 419-03-3232 676-01-1008 526-01-2513 547-01-0769 652-03-8602--false
Output for 7.1.6
574-01-0554 422-01-3699 676-03-9946 600-01-4658 561-01-4842 523-94-5807--false
Output for 7.1.5
574-01-7534 422-01-2218 678-01-1472 764-01-1950 547-01-0596 521-01-6910--false
Output for 7.1.0
574-01-5997 418-01-8746 676-09-8074 764-01-6086 623-01-4168 521-01-6051--false
Output for 7.0.20
574-01-9167 418-01-0420 679-01-4588 527-03-9297 615-01-1872 523-94-3904--false
Output for 7.0.6
574-01-7466 418-01-1813 432-01-4356 600-01-3538 608-01-5898 650-01-6289--false
Output for 7.0.5
574-01-2173 421-01-5254 430-03-8969 527-14-6537 563-18-1550 653-09-2607--false
Output for 7.0.4
574-01-8019 418-01-4412 429-01-9841 526-03-6179 556-32-1896 523-03-9012--false
Output for 7.0.3
574-01-0270 417-01-9931 676-05-0220 764-01-0250 569-07-1504 521-01-9133--false
Output for 7.0.2
574-01-5545 421-01-1805 676-01-4593 526-07-2451 546-01-1627 653-05-5476--false
Output for 7.0.1
574-01-4552 424-32-9925 432-01-6708 764-01-7873 622-01-7137 522-01-9654--false
Output for 7.0.0
574-01-4241 424-02-1692 676-07-2755 526-09-0046 567-09-9463 653-03-4934--false
Output for 5.6.28
574-01-8855 416-03-7637 430-03-8007 765-01-7652 610-58-8851 651-01-7660--false
Output for 5.6.21
574-01-0501 417-01-4046 677-32-7763 764-01-0156 569-03-4030 651-01-3495--false
Output for 5.6.20
574-01-0076 421-01-0988 678-01-8397 764-01-9779 551-01-8075 652-01-7111--false
Output for 5.6.19
574-01-1198 420-70-1852 431-01-5780 527-80-1671 562-07-2470 522-01-6702--false
Output for 5.6.18
574-01-5204 422-01-1977 429-01-6484 527-50-0083 614-01-5209 653-09-8765--false
Output for 5.6.17
574-01-3497 420-01-0083 432-01-9660 527-92-2339 559-30-6952 522-01-1328--false
Output for 5.6.16
574-01-4803 422-01-9923 676-03-7336 765-01-1349 621-01-5308 523-18-6404--false
Output for 5.6.15
574-01-1969 423-03-7481 678-01-0715 600-01-2870 554-01-1672 521-01-5822--false
Output for 5.6.14
574-01-5270 418-01-3729 679-01-8908 526-07-8473 613-30-5341 651-01-2969--false
Output for 5.6.13
574-01-5712 424-05-4005 429-01-5965 600-01-9016 607-01-2907 523-32-9861--false
Output for 5.6.12
574-01-1547 422-01-9615 430-01-1887 601-01-1099 556-78-1327 652-01-0784--false
Output for 5.6.11
574-01-7346 421-01-3916 430-01-2189 527-88-2273 555-07-1587 523-76-4846--false
Output for 5.6.10
574-01-2019 419-07-8980 429-01-2966 527-92-4212 545-01-1452 521-01-5626--false
Output for 5.6.9
574-01-2378 423-05-2585 676-07-7498 601-01-6103 551-01-6680 651-01-3776--false
Output for 5.6.8
574-01-3514 418-01-1295 432-01-3887 765-01-0038 624-16-5120 524-28-6179--false
Output for 5.6.7
574-01-9959 424-56-5822 679-01-7772 764-01-9738 611-01-6291 523-58-6274--false
Output for 5.5.35
574-01-2201 420-10-1927 430-01-6450 527-74-0436 561-01-7861 524-22-1927--false
Output for 5.5.34
574-01-8420 422-01-9864 677-06-1253 601-01-5721 572-01-0157 650-01-0931--false
Output for 5.5.33
574-01-8669 420-84-9006 676-07-0352 526-09-9857 545-01-1557 650-01-7809--false
Output for 5.5.32
574-01-1370 422-01-0508 432-01-6080 527-40-5633 623-01-2605 521-01-7159--false
Output for 5.5.31
574-01-4226 423-05-0716 431-01-1003 526-07-5046 618-01-6784 653-09-5918--false
Output for 5.5.30
574-01-4565 419-05-0871 432-01-7435 764-01-2339 604-01-0410 522-01-7154--false
Output for 5.5.29
574-01-1765 418-01-4476 429-01-2827 526-09-5416 572-01-6295 524-80-2939--false
Output for 5.5.28
574-01-9393 416-05-3055 430-01-0521 764-01-4900 620-56-9475 651-01-0505--false
Output for 5.5.27
574-01-4168 418-01-7302 679-01-7188 764-01-7429 566-66-4051 524-92-4742--false
Output for 5.5.26
574-01-2812 421-01-9511 677-88-5217 600-01-7107 602-05-1977 651-01-6460--false
Output for 5.5.25
574-01-8969 423-05-8593 679-01-8971 527-52-9321 609-07-2456 651-01-0618--false
Output for 5.5.24
574-01-2144 424-92-2811 678-01-5401 526-03-5051 567-03-7049 650-01-1969--false
Output for 5.4.45
574-01-4150 423-01-6894 432-01-5496 600-01-7668 623-03-9705 652-03-4181--false
Output for 5.4.44
574-01-9266 417-01-1819 678-01-1512 765-01-5208 615-01-6720 653-07-1238--false
Output for 5.4.43
574-01-7915 419-05-1199 679-01-8286 764-01-2596 552-02-3524 652-01-6441--false
Output for 5.4.42
574-01-1914 423-03-7711 677-72-0447 600-01-1652 560-46-8441 652-03-0482--false
Output for 5.4.41
574-01-2998 422-01-4806 431-01-6213 764-01-0837 624-34-9891 652-07-6080--false
Output for 5.4.40
574-01-1715 418-01-3225 432-01-7662 601-01-8235 560-12-9799 650-01-7626--false
Output for 5.4.39
574-01-4767 416-01-2861 676-03-9809 601-01-0007 551-01-7454 653-09-7793--false
Output for 5.4.38
574-01-7801 416-03-1396 430-01-5859 526-03-9279 554-01-1447 523-68-1700--false
Output for 5.4.37
574-01-1799 422-01-7563 677-72-2644 765-01-3913 610-40-6080 653-09-0658--false
Output for 5.4.36
574-01-9291 423-01-7300 432-01-6458 526-01-8361 569-05-6434 650-01-8490--false
Output for 5.4.35
574-01-6797 418-01-8601 429-01-4416 765-01-1650 609-07-6704 524-52-3669--false
Output for 5.4.34
574-01-8172 419-05-6705 678-01-1707 764-01-1680 551-01-5696 651-01-2834--false
Output for 5.4.32
574-01-7169 419-09-3970 677-48-3269 765-01-4006 611-01-5517 651-01-9185--false
Output for 5.4.31
574-01-1167 422-01-0564 430-03-5353 526-03-2217 616-01-1504 652-07-6302--false
Output for 5.4.30
574-01-5869 419-05-3207 677-98-4221 600-01-8943 623-01-9647 651-01-5310--false
Output for 5.4.29
574-01-5645 417-01-4327 676-09-8800 765-01-9999 610-26-0919 522-01-2426--false
Output for 5.4.28
574-01-5379 422-01-2051 431-03-5069 526-09-9150 549-01-7294 522-01-7027--false
Output for 5.4.27
574-01-3261 423-05-5554 430-01-5262 600-01-6766 570-98-7198 651-01-3651--false
Output for 5.4.26
574-01-8980 423-01-5285 432-01-9678 765-01-2592 562-07-1832 650-01-8590--false
Output for 5.4.25
574-01-5462 423-03-0099 677-48-7534 601-01-8738 552-62-9637 653-03-0458--false
Output for 5.4.24
574-01-2287 421-01-5284 431-01-0296 601-01-1526 555-03-9388 651-01-8394--false
Output for 5.4.23
574-01-5965 422-01-2190 676-09-6745 600-01-5399 559-48-5131 652-05-5342--false
Output for 5.4.22
574-01-3469 421-01-9579 677-50-9307 526-07-9291 563-86-7446 653-01-8998--false
Output for 5.4.21
574-01-7620 421-01-3303 429-01-6609 526-03-9041 554-01-8903 651-01-2433--false
Output for 5.4.20
574-01-1754 422-01-3025 429-01-5338 600-01-8190 623-05-7252 521-01-3320--false
Output for 5.4.19
574-01-5940 418-01-7839 430-05-7056 527-62-3396 548-01-0574 650-01-1182--false
Output for 5.4.18
574-01-4225 421-01-4509 677-32-4273 526-01-5879 610-88-9023 653-03-0713--false
Output for 5.4.17
574-01-8114 420-82-3465 678-01-4355 526-05-6672 616-01-2624 524-74-4835--false
Output for 5.4.16
574-01-7733 424-42-7277 431-01-1534 601-01-5256 565-01-3664 653-01-3823--false
Output for 5.4.15
574-01-8334 423-05-3852 429-01-4664 600-01-0045 562-09-0136 524-14-8019--false
Output for 5.4.14
574-01-2918 424-68-0076 429-01-2586 601-01-8807 611-01-0027 522-01-6548--false
Output for 5.4.13
574-01-1682 416-03-0145 432-01-0792 601-01-6223 622-01-3939 650-01-7657--false
Output for 5.4.12
574-01-1474 419-05-2417 431-03-1603 526-01-5420 558-01-8325 523-56-5608--false
Output for 5.4.11
574-01-3599 419-07-3580 431-03-8409 601-01-3052 561-01-8401 523-96-6957--false
Output for 5.4.10
574-01-7915 417-01-3721 432-01-9402 765-01-9917 625-01-5883 522-01-5306--false
Output for 5.4.9
574-01-2971 420-84-4644 431-03-6392 765-01-7474 558-01-2867 651-01-5568--false
Output for 5.4.8
574-01-8419 421-01-4758 679-01-7947 601-01-0287 608-01-2522 523-26-3756--false
Output for 5.4.7
574-01-2920 416-05-9162 678-01-2650 527-48-0197 552-50-6150 523-14-1208--false
Output for 5.4.6
574-01-2508 419-05-1018 679-01-8131 526-03-5319 567-07-0711 653-05-2361--false
Output for 5.4.5
574-01-1200 417-01-6457 679-01-3458 765-01-5453 625-01-3361 522-01-1510--false
Output for 5.4.4
574-01-9320 421-01-6932 679-01-3012 526-09-5006 558-01-8979 650-01-6478--false
Output for 5.4.3
574-01-3405 420-56-5164 431-03-8600 527-68-1724 620-88-1936 651-01-2224--false
Output for 5.4.2
574-01-5858 423-03-6386 432-01-2988 527-98-4004 561-01-4578 522-01-2825--false

preferences:
172.01 ms | 401 KiB | 172 Q