3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?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; } } 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');
based on UNYAK
Output for 7.2.0
574-01-0318 422-01-8798 679-01-6107 527-05-0116 616-05-3147 650-01-8720--
Output for 7.1.10
574-01-0243 419-09-1686 430-01-2756 526-05-1259 556-94-3090 651-01-9763--
Output for 7.1.7
574-01-5979 417-01-2741 429-01-7859 765-01-1432 621-01-7067 524-26-9891--
Output for 7.1.6
574-01-8038 418-01-6068 430-03-7667 601-01-4920 555-01-7901 521-01-2355--
Output for 7.1.5
574-01-7154 422-01-8461 679-01-9043 526-09-2318 624-07-5696 651-01-3503--
Output for 7.1.0
574-01-7868 422-01-7520 429-01-6836 764-01-1498 603-01-2634 523-26-4226--
Output for 7.0.20
574-01-7571 424-88-6821 432-01-0503 600-01-4288 625-01-0523 650-01-7694--
Output for 7.0.6
574-01-4106 424-90-3888 678-01-4920 601-01-8799 620-62-9678 524-82-4179--
Output for 7.0.5
574-01-2687 421-01-4692 430-05-7520 527-72-5098 621-01-1327 652-03-2629--
Output for 7.0.4
574-01-6495 416-05-6741 677-48-8966 601-01-7119 559-03-3122 653-03-9636--
Output for 7.0.3
574-01-7467 416-05-8099 676-07-2425 765-01-8687 553-05-3014 651-01-7384--
Output for 7.0.2
574-01-8386 418-01-8263 431-01-3384 601-01-4835 571-01-6733 651-01-4798--
Output for 7.0.1
574-01-0734 416-05-7161 431-03-3592 600-01-0266 552-30-9230 650-01-1252--
Output for 7.0.0
574-01-7359 424-48-1359 429-01-1238 601-01-5503 565-01-8457 652-05-5771--
Output for 5.6.28
574-01-3043 421-01-0189 678-01-7947 601-01-1654 619-05-0411 523-01-8543--
Output for 5.6.21
574-01-3140 424-72-5290 432-01-8062 527-32-0515 558-01-6652 650-01-6986--
Output for 5.6.20
574-01-9140 422-01-3982 431-03-3411 764-01-9444 612-07-5279 521-01-5036--
Output for 5.6.19
574-01-7074 416-05-4697 676-05-0812 527-06-7841 618-01-8422 521-01-0232--
Output for 5.6.18
574-01-8176 423-01-6345 676-07-7622 527-76-7347 564-01-6621 522-01-6312--
Output for 5.6.17
574-01-8051 418-01-7439 432-01-8675 601-01-6467 551-01-8601 651-01-3177--
Output for 5.6.16
574-01-5628 422-01-8531 677-52-1199 527-26-8345 551-01-0227 651-01-9860--
Output for 5.6.15
574-01-0118 416-01-5345 677-32-6196 765-01-4215 602-03-3151 650-01-5881--
Output for 5.6.14
574-01-3073 417-01-7735 677-16-0035 527-20-4614 552-92-1689 650-01-6736--
Output for 5.6.13
574-01-7553 424-48-8065 432-01-8769 765-01-7959 607-01-3724 653-07-5791--
Output for 5.6.12
574-01-6472 417-01-5059 679-01-6901 764-01-2096 546-01-6684 653-03-7861--
Output for 5.6.11
574-01-5497 421-01-8774 678-01-1179 600-01-0112 548-01-1252 653-03-5898--
Output for 5.6.10
574-01-3423 424-94-2460 429-01-8082 600-01-3561 602-05-3043 653-09-1626--
Output for 5.6.9
574-01-0889 421-01-3130 430-03-1219 600-01-9233 560-78-3740 522-01-2665--
Output for 5.6.8
574-01-5188 420-24-4241 430-05-5790 764-01-1927 609-05-0088 523-62-6871--
Output for 5.6.7
574-01-3094 416-01-8019 676-09-3472 601-01-2258 625-01-4790 653-01-4720--
Output for 5.5.35
574-01-7315 419-07-5845 430-05-4330 600-01-4920 557-01-4098 652-03-1467--
Output for 5.5.34
574-01-3474 419-09-5736 677-56-4675 764-01-3525 558-01-5293 524-76-6662--
Output for 5.5.33
574-01-2038 418-01-9743 676-03-1757 600-01-1166 562-05-8753 651-01-4174--
Output for 5.5.32
574-01-0154 423-03-2612 430-05-2038 600-01-5351 553-03-6222 652-05-1165--
Output for 5.5.31
574-01-7509 418-01-8878 677-20-6972 600-01-0166 553-07-3051 650-01-9323--
Output for 5.5.30
574-01-3833 418-01-4590 431-03-6683 600-01-7740 602-05-0770 650-01-5611--
Output for 5.5.29
574-01-5846 422-01-8504 432-01-6506 526-01-0586 562-09-6548 652-05-5984--
Output for 5.5.28
574-01-6620 422-01-4501 432-01-7986 764-01-8068 606-48-4109 650-01-1254--
Output for 5.5.27
574-01-9649 416-01-2233 429-01-7916 764-01-7233 618-01-0755 523-68-3670--
Output for 5.5.26
574-01-7040 417-01-3332 678-01-2422 764-01-8327 558-01-9888 522-01-1261--
Output for 5.5.25
574-01-9217 420-92-0124 432-01-6031 600-01-6120 567-07-5257 521-01-8952--
Output for 5.5.24
574-01-5531 419-07-0542 677-86-5011 526-03-2458 568-01-0549 651-01-0377--
Output for 5.4.45
574-01-0048 424-40-6695 678-01-3317 526-09-8815 546-01-8968 652-05-3296--
Output for 5.4.44
574-01-8047 416-03-5827 677-32-8082 601-01-5002 619-07-1995 652-03-2227--
Output for 5.4.43
574-01-7280 421-01-3805 677-52-8665 765-01-6292 623-05-8322 650-01-0480--
Output for 5.4.42
574-01-1165 420-56-9805 679-01-1103 601-01-4135 565-01-8764 652-05-7982--
Output for 5.4.41
574-01-4498 421-01-6783 429-01-0461 764-01-9882 623-07-5074 522-01-1559--
Output for 5.4.40
574-01-5446 418-01-3063 679-01-8809 601-01-0274 602-03-8893 652-03-9169--
Output for 5.4.39
574-01-5399 421-01-0673 432-01-3329 527-12-4103 607-01-5021 523-40-2455--
Output for 5.4.38
574-01-8160 417-01-2849 678-01-7664 765-01-9498 550-01-3112 650-01-9242--
Output for 5.4.37
574-01-1291 418-01-9768 678-01-0536 527-72-6703 614-01-8068 523-34-9427--
Output for 5.4.36
574-01-0945 424-68-2369 679-01-7158 765-01-7277 545-01-7011 521-01-2928--
Output for 5.4.35
574-01-9211 420-10-5307 429-01-7604 765-01-6195 615-01-0609 652-07-8977--
Output for 5.4.34
574-01-7439 420-84-0476 679-01-9059 765-01-9770 624-76-9839 523-07-6042--
Output for 5.4.32
574-01-8596 418-01-1544 678-01-7868 765-01-2864 562-09-1750 652-01-1039--
Output for 5.4.31
574-01-2780 419-09-0834 431-03-8207 526-01-0401 606-62-6051 651-01-4253--
Output for 5.4.30
574-01-1391 416-01-8795 677-24-7380 526-07-7405 559-96-8431 521-01-6517--
Output for 5.4.29
574-01-1118 422-01-7991 430-01-1922 600-01-3875 624-01-2209 653-05-5320--
Output for 5.4.28
574-01-1208 416-05-1761 429-01-6324 526-03-7253 546-01-4918 521-01-6880--
Output for 5.4.27
574-01-1623 424-16-2979 679-01-3676 527-90-6419 607-01-4437 521-01-4250--
Output for 5.4.26
574-01-4798 419-09-1277 679-01-2617 601-01-4425 556-28-7014 522-01-3200--
Output for 5.4.25
574-01-2669 419-09-6774 679-01-7486 765-01-8376 623-03-8216 650-01-1892--
Output for 5.4.24
574-01-7009 423-03-6150 677-54-6563 526-07-6408 617-03-7921 524-52-3429--
Output for 5.4.23
574-01-1260 420-14-7979 429-01-2743 765-01-0617 568-01-6814 522-01-7355--
Output for 5.4.22
574-01-6431 423-03-8796 679-01-4077 527-01-9688 602-07-7269 523-38-7296--
Output for 5.4.21
574-01-8565 417-01-2300 679-01-2455 526-09-6167 545-01-9476 522-01-9406--
Output for 5.4.20
574-01-0334 419-03-4220 677-06-4293 764-01-4697 545-01-4724 522-01-7639--
Output for 5.4.19
574-01-4253 419-07-1867 677-68-2132 765-01-7394 602-05-5431 521-01-3952--
Output for 5.4.18
574-01-1849 421-01-8360 679-01-6043 764-01-6576 607-01-9121 651-01-7457--
Output for 5.4.17
574-01-6061 422-01-7582 432-01-1432 600-01-5684 604-01-4177 523-80-5197--
Output for 5.4.16
574-01-8747 424-16-2206 678-01-8134 526-07-5657 564-01-5163 653-03-4509--
Output for 5.4.15
574-01-0404 423-01-8189 429-01-6736 527-64-0732 618-01-2039 650-01-9636--
Output for 5.4.14
574-01-2290 424-86-9114 432-01-0454 765-01-3695 623-03-7170 524-10-5658--
Output for 5.4.13
574-01-0201 421-01-2713 432-01-3657 600-01-7472 620-52-0727 523-76-5447--
Output for 5.4.12
574-01-4204 416-03-7500 679-01-3432 765-01-2952 614-01-5241 652-05-3020--
Output for 5.4.11
574-01-1504 416-03-9707 432-01-8703 526-05-9669 571-01-3816 522-01-6537--
Output for 5.4.10
574-01-4069 418-01-6962 676-09-8553 765-01-8321 615-01-2982 522-01-1379--
Output for 5.4.9
574-01-7902 423-01-6372 678-01-2606 764-01-0534 558-01-7834 521-01-2059--
Output for 5.4.8
574-01-7076 422-01-5480 431-01-4295 764-01-9617 549-01-9275 653-01-4490--
Output for 5.4.7
574-01-8066 417-01-3770 676-09-9908 526-05-3719 621-01-8996 524-94-9927--
Output for 5.4.6
574-01-8400 424-48-4970 678-01-2536 527-38-3138 608-01-8110 652-05-7229--
Output for 5.4.5
574-01-0521 421-01-4633 429-01-6609 526-03-5544 559-14-6188 651-01-1171--
Output for 5.4.4
574-01-1107 419-01-9254 676-07-8620 765-01-5498 546-01-1247 522-01-7576--
Output for 5.4.3
574-01-3483 418-01-0825 431-03-9893 600-01-5837 565-01-7606 653-05-3940--
Output for 5.4.2
574-01-7683 420-96-8071 429-01-5932 526-07-1664 623-07-0940 522-01-0103--
Output for 5.3.29
574-01-1190 416-03-5783 677-90-0943 765-01-6714 608-01-0819 524-72-1330--
Output for 5.3.28
574-01-5615 418-01-4425 679-01-2329 765-01-5134 623-07-0437 652-01-2715--
Output for 5.3.27
574-01-5837 421-01-4055 429-01-6099 765-01-8475 570-01-0081 522-01-5117--
Output for 5.3.26
574-01-6899 417-01-7554 679-01-5354 527-68-8649 555-09-5825 522-01-7516--
Output for 5.3.25
574-01-9653 423-03-8540 430-05-9548 764-01-8135 554-01-1201 523-56-2816--
Output for 5.3.24
574-01-1032 421-01-9021 429-01-7688 765-01-1696 563-16-3201 653-09-6571--
Output for 5.3.23
574-01-3462 417-01-0074 677-80-4875 601-01-3233 605-09-0684 652-07-6586--
Output for 5.3.22
574-01-3181 420-06-2444 679-01-3755 526-05-9778 568-01-1536 653-03-2381--
Output for 5.3.21
574-01-2842 418-01-6292 431-01-3525 600-01-4298 564-01-8030 524-96-4382--
Output for 5.3.20
574-01-0046 421-01-7732 679-01-3633 601-01-9678 564-01-3782 523-76-2588--
Output for 5.3.19
574-01-9845 420-20-6022 677-68-0242 600-01-5977 609-03-2771 524-74-4037--
Output for 5.3.18
574-01-6130 421-01-9249 430-05-5592 764-01-3196 607-01-5929 524-82-8521--