/* * From: http://ecmanaut.blogspot.fi/2006/07/encoding-decoding-utf8-in-javascript.html */ /*=== 97 98 99 1656 4660 -> 97 98 99 217 184 225 136 180 -> 97 98 99 1656 4660 0 -> 0 -> 0 1 -> 1 -> 1 2 -> 2 -> 2 3 -> 3 -> 3 4 -> 4 -> 4 5 -> 5 -> 5 6 -> 6 -> 6 7 -> 7 -> 7 8 -> 8 -> 8 9 -> 9 -> 9 10 -> 10 -> 10 11 -> 11 -> 11 12 -> 12 -> 12 13 -> 13 -> 13 14 -> 14 -> 14 15 -> 15 -> 15 16 -> 16 -> 16 17 -> 17 -> 17 18 -> 18 -> 18 19 -> 19 -> 19 20 -> 20 -> 20 21 -> 21 -> 21 22 -> 22 -> 22 23 -> 23 -> 23 24 -> 24 -> 24 25 -> 25 -> 25 26 -> 26 -> 26 27 -> 27 -> 27 28 -> 28 -> 28 29 -> 29 -> 29 30 -> 30 -> 30 31 -> 31 -> 31 32 -> 32 -> 32 33 -> 33 -> 33 34 -> 34 -> 34 35 -> 35 -> 35 36 -> 36 -> 36 37 -> 37 -> 37 38 -> 38 -> 38 39 -> 39 -> 39 40 -> 40 -> 40 41 -> 41 -> 41 42 -> 42 -> 42 43 -> 43 -> 43 44 -> 44 -> 44 45 -> 45 -> 45 46 -> 46 -> 46 47 -> 47 -> 47 48 -> 48 -> 48 49 -> 49 -> 49 50 -> 50 -> 50 51 -> 51 -> 51 52 -> 52 -> 52 53 -> 53 -> 53 54 -> 54 -> 54 55 -> 55 -> 55 56 -> 56 -> 56 57 -> 57 -> 57 58 -> 58 -> 58 59 -> 59 -> 59 60 -> 60 -> 60 61 -> 61 -> 61 62 -> 62 -> 62 63 -> 63 -> 63 64 -> 64 -> 64 65 -> 65 -> 65 66 -> 66 -> 66 67 -> 67 -> 67 68 -> 68 -> 68 69 -> 69 -> 69 70 -> 70 -> 70 71 -> 71 -> 71 72 -> 72 -> 72 73 -> 73 -> 73 74 -> 74 -> 74 75 -> 75 -> 75 76 -> 76 -> 76 77 -> 77 -> 77 78 -> 78 -> 78 79 -> 79 -> 79 80 -> 80 -> 80 81 -> 81 -> 81 82 -> 82 -> 82 83 -> 83 -> 83 84 -> 84 -> 84 85 -> 85 -> 85 86 -> 86 -> 86 87 -> 87 -> 87 88 -> 88 -> 88 89 -> 89 -> 89 90 -> 90 -> 90 91 -> 91 -> 91 92 -> 92 -> 92 93 -> 93 -> 93 94 -> 94 -> 94 95 -> 95 -> 95 96 -> 96 -> 96 97 -> 97 -> 97 98 -> 98 -> 98 99 -> 99 -> 99 100 -> 100 -> 100 101 -> 101 -> 101 102 -> 102 -> 102 103 -> 103 -> 103 104 -> 104 -> 104 105 -> 105 -> 105 106 -> 106 -> 106 107 -> 107 -> 107 108 -> 108 -> 108 109 -> 109 -> 109 110 -> 110 -> 110 111 -> 111 -> 111 112 -> 112 -> 112 113 -> 113 -> 113 114 -> 114 -> 114 115 -> 115 -> 115 116 -> 116 -> 116 117 -> 117 -> 117 118 -> 118 -> 118 119 -> 119 -> 119 120 -> 120 -> 120 121 -> 121 -> 121 122 -> 122 -> 122 123 -> 123 -> 123 124 -> 124 -> 124 125 -> 125 -> 125 126 -> 126 -> 126 127 -> 127 -> 127 128 -> 194 128 -> 128 129 -> 194 129 -> 129 130 -> 194 130 -> 130 131 -> 194 131 -> 131 132 -> 194 132 -> 132 133 -> 194 133 -> 133 134 -> 194 134 -> 134 135 -> 194 135 -> 135 136 -> 194 136 -> 136 137 -> 194 137 -> 137 138 -> 194 138 -> 138 139 -> 194 139 -> 139 140 -> 194 140 -> 140 141 -> 194 141 -> 141 142 -> 194 142 -> 142 143 -> 194 143 -> 143 144 -> 194 144 -> 144 145 -> 194 145 -> 145 146 -> 194 146 -> 146 147 -> 194 147 -> 147 148 -> 194 148 -> 148 149 -> 194 149 -> 149 150 -> 194 150 -> 150 151 -> 194 151 -> 151 152 -> 194 152 -> 152 153 -> 194 153 -> 153 154 -> 194 154 -> 154 155 -> 194 155 -> 155 156 -> 194 156 -> 156 157 -> 194 157 -> 157 158 -> 194 158 -> 158 159 -> 194 159 -> 159 160 -> 194 160 -> 160 161 -> 194 161 -> 161 162 -> 194 162 -> 162 163 -> 194 163 -> 163 164 -> 194 164 -> 164 165 -> 194 165 -> 165 166 -> 194 166 -> 166 167 -> 194 167 -> 167 168 -> 194 168 -> 168 169 -> 194 169 -> 169 170 -> 194 170 -> 170 171 -> 194 171 -> 171 172 -> 194 172 -> 172 173 -> 194 173 -> 173 174 -> 194 174 -> 174 175 -> 194 175 -> 175 176 -> 194 176 -> 176 177 -> 194 177 -> 177 178 -> 194 178 -> 178 179 -> 194 179 -> 179 180 -> 194 180 -> 180 181 -> 194 181 -> 181 182 -> 194 182 -> 182 183 -> 194 183 -> 183 184 -> 194 184 -> 184 185 -> 194 185 -> 185 186 -> 194 186 -> 186 187 -> 194 187 -> 187 188 -> 194 188 -> 188 189 -> 194 189 -> 189 190 -> 194 190 -> 190 191 -> 194 191 -> 191 192 -> 195 128 -> 192 193 -> 195 129 -> 193 194 -> 195 130 -> 194 195 -> 195 131 -> 195 196 -> 195 132 -> 196 197 -> 195 133 -> 197 198 -> 195 134 -> 198 199 -> 195 135 -> 199 200 -> 195 136 -> 200 201 -> 195 137 -> 201 202 -> 195 138 -> 202 203 -> 195 139 -> 203 204 -> 195 140 -> 204 205 -> 195 141 -> 205 206 -> 195 142 -> 206 207 -> 195 143 -> 207 208 -> 195 144 -> 208 209 -> 195 145 -> 209 210 -> 195 146 -> 210 211 -> 195 147 -> 211 212 -> 195 148 -> 212 213 -> 195 149 -> 213 214 -> 195 150 -> 214 215 -> 195 151 -> 215 216 -> 195 152 -> 216 217 -> 195 153 -> 217 218 -> 195 154 -> 218 219 -> 195 155 -> 219 220 -> 195 156 -> 220 221 -> 195 157 -> 221 222 -> 195 158 -> 222 223 -> 195 159 -> 223 224 -> 195 160 -> 224 225 -> 195 161 -> 225 226 -> 195 162 -> 226 227 -> 195 163 -> 227 228 -> 195 164 -> 228 229 -> 195 165 -> 229 230 -> 195 166 -> 230 231 -> 195 167 -> 231 232 -> 195 168 -> 232 233 -> 195 169 -> 233 234 -> 195 170 -> 234 235 -> 195 171 -> 235 236 -> 195 172 -> 236 237 -> 195 173 -> 237 238 -> 195 174 -> 238 239 -> 195 175 -> 239 240 -> 195 176 -> 240 241 -> 195 177 -> 241 242 -> 195 178 -> 242 243 -> 195 179 -> 243 244 -> 195 180 -> 244 245 -> 195 181 -> 245 246 -> 195 182 -> 246 247 -> 195 183 -> 247 248 -> 195 184 -> 248 249 -> 195 185 -> 249 250 -> 195 186 -> 250 251 -> 195 187 -> 251 252 -> 195 188 -> 252 253 -> 195 189 -> 253 254 -> 195 190 -> 254 255 -> 195 191 -> 255 FAIL 55296 FAIL 55297 FAIL 55298 FAIL 55299 FAIL 55300 FAIL 55301 FAIL 55302 FAIL 55303 FAIL 55304 FAIL 55305 FAIL 55306 FAIL 55307 FAIL 55308 FAIL 55309 FAIL 55310 FAIL 55311 FAIL 55312 FAIL 55313 FAIL 55314 FAIL 55315 FAIL 55316 FAIL 55317 FAIL 55318 FAIL 55319 FAIL 55320 FAIL 55321 FAIL 55322 FAIL 55323 FAIL 55324 FAIL 55325 FAIL 55326 FAIL 55327 FAIL 55328 FAIL 55329 FAIL 55330 FAIL 55331 FAIL 55332 FAIL 55333 FAIL 55334 FAIL 55335 FAIL 55336 FAIL 55337 FAIL 55338 FAIL 55339 FAIL 55340 FAIL 55341 FAIL 55342 FAIL 55343 FAIL 55344 FAIL 55345 FAIL 55346 FAIL 55347 FAIL 55348 FAIL 55349 FAIL 55350 FAIL 55351 FAIL 55352 FAIL 55353 FAIL 55354 FAIL 55355 FAIL 55356 FAIL 55357 FAIL 55358 FAIL 55359 FAIL 55360 FAIL 55361 FAIL 55362 FAIL 55363 FAIL 55364 FAIL 55365 FAIL 55366 FAIL 55367 FAIL 55368 FAIL 55369 FAIL 55370 FAIL 55371 FAIL 55372 FAIL 55373 FAIL 55374 FAIL 55375 FAIL 55376 FAIL 55377 FAIL 55378 FAIL 55379 FAIL 55380 FAIL 55381 FAIL 55382 FAIL 55383 FAIL 55384 FAIL 55385 FAIL 55386 FAIL 55387 FAIL 55388 FAIL 55389 FAIL 55390 FAIL 55391 FAIL 55392 FAIL 55393 FAIL 55394 FAIL 55395 FAIL 55396 FAIL 55397 FAIL 55398 FAIL 55399 FAIL 55400 FAIL 55401 FAIL 55402 FAIL 55403 FAIL 55404 FAIL 55405 FAIL 55406 FAIL 55407 FAIL 55408 FAIL 55409 FAIL 55410 FAIL 55411 FAIL 55412 FAIL 55413 FAIL 55414 FAIL 55415 FAIL 55416 FAIL 55417 FAIL 55418 FAIL 55419 FAIL 55420 FAIL 55421 FAIL 55422 FAIL 55423 FAIL 55424 FAIL 55425 FAIL 55426 FAIL 55427 FAIL 55428 FAIL 55429 FAIL 55430 FAIL 55431 FAIL 55432 FAIL 55433 FAIL 55434 FAIL 55435 FAIL 55436 FAIL 55437 FAIL 55438 FAIL 55439 FAIL 55440 FAIL 55441 FAIL 55442 FAIL 55443 FAIL 55444 FAIL 55445 FAIL 55446 FAIL 55447 FAIL 55448 FAIL 55449 FAIL 55450 FAIL 55451 FAIL 55452 FAIL 55453 FAIL 55454 FAIL 55455 FAIL 55456 FAIL 55457 FAIL 55458 FAIL 55459 FAIL 55460 FAIL 55461 FAIL 55462 FAIL 55463 FAIL 55464 FAIL 55465 FAIL 55466 FAIL 55467 FAIL 55468 FAIL 55469 FAIL 55470 FAIL 55471 FAIL 55472 FAIL 55473 FAIL 55474 FAIL 55475 FAIL 55476 FAIL 55477 FAIL 55478 FAIL 55479 FAIL 55480 FAIL 55481 FAIL 55482 FAIL 55483 FAIL 55484 FAIL 55485 FAIL 55486 FAIL 55487 FAIL 55488 FAIL 55489 FAIL 55490 FAIL 55491 FAIL 55492 FAIL 55493 FAIL 55494 FAIL 55495 FAIL 55496 FAIL 55497 FAIL 55498 FAIL 55499 FAIL 55500 FAIL 55501 FAIL 55502 FAIL 55503 FAIL 55504 FAIL 55505 FAIL 55506 FAIL 55507 FAIL 55508 FAIL 55509 FAIL 55510 FAIL 55511 FAIL 55512 FAIL 55513 FAIL 55514 FAIL 55515 FAIL 55516 FAIL 55517 FAIL 55518 FAIL 55519 FAIL 55520 FAIL 55521 FAIL 55522 FAIL 55523 FAIL 55524 FAIL 55525 FAIL 55526 FAIL 55527 FAIL 55528 FAIL 55529 FAIL 55530 FAIL 55531 FAIL 55532 FAIL 55533 FAIL 55534 FAIL 55535 FAIL 55536 FAIL 55537 FAIL 55538 FAIL 55539 FAIL 55540 FAIL 55541 FAIL 55542 FAIL 55543 FAIL 55544 FAIL 55545 FAIL 55546 FAIL 55547 FAIL 55548 FAIL 55549 FAIL 55550 FAIL 55551 FAIL 55552 FAIL 55553 FAIL 55554 FAIL 55555 FAIL 55556 FAIL 55557 FAIL 55558 FAIL 55559 FAIL 55560 FAIL 55561 FAIL 55562 FAIL 55563 FAIL 55564 FAIL 55565 FAIL 55566 FAIL 55567 FAIL 55568 FAIL 55569 FAIL 55570 FAIL 55571 FAIL 55572 FAIL 55573 FAIL 55574 FAIL 55575 FAIL 55576 FAIL 55577 FAIL 55578 FAIL 55579 FAIL 55580 FAIL 55581 FAIL 55582 FAIL 55583 FAIL 55584 FAIL 55585 FAIL 55586 FAIL 55587 FAIL 55588 FAIL 55589 FAIL 55590 FAIL 55591 FAIL 55592 FAIL 55593 FAIL 55594 FAIL 55595 FAIL 55596 FAIL 55597 FAIL 55598 FAIL 55599 FAIL 55600 FAIL 55601 FAIL 55602 FAIL 55603 FAIL 55604 FAIL 55605 FAIL 55606 FAIL 55607 FAIL 55608 FAIL 55609 FAIL 55610 FAIL 55611 FAIL 55612 FAIL 55613 FAIL 55614 FAIL 55615 FAIL 55616 FAIL 55617 FAIL 55618 FAIL 55619 FAIL 55620 FAIL 55621 FAIL 55622 FAIL 55623 FAIL 55624 FAIL 55625 FAIL 55626 FAIL 55627 FAIL 55628 FAIL 55629 FAIL 55630 FAIL 55631 FAIL 55632 FAIL 55633 FAIL 55634 FAIL 55635 FAIL 55636 FAIL 55637 FAIL 55638 FAIL 55639 FAIL 55640 FAIL 55641 FAIL 55642 FAIL 55643 FAIL 55644 FAIL 55645 FAIL 55646 FAIL 55647 FAIL 55648 FAIL 55649 FAIL 55650 FAIL 55651 FAIL 55652 FAIL 55653 FAIL 55654 FAIL 55655 FAIL 55656 FAIL 55657 FAIL 55658 FAIL 55659 FAIL 55660 FAIL 55661 FAIL 55662 FAIL 55663 FAIL 55664 FAIL 55665 FAIL 55666 FAIL 55667 FAIL 55668 FAIL 55669 FAIL 55670 FAIL 55671 FAIL 55672 FAIL 55673 FAIL 55674 FAIL 55675 FAIL 55676 FAIL 55677 FAIL 55678 FAIL 55679 FAIL 55680 FAIL 55681 FAIL 55682 FAIL 55683 FAIL 55684 FAIL 55685 FAIL 55686 FAIL 55687 FAIL 55688 FAIL 55689 FAIL 55690 FAIL 55691 FAIL 55692 FAIL 55693 FAIL 55694 FAIL 55695 FAIL 55696 FAIL 55697 FAIL 55698 FAIL 55699 FAIL 55700 FAIL 55701 FAIL 55702 FAIL 55703 FAIL 55704 FAIL 55705 FAIL 55706 FAIL 55707 FAIL 55708 FAIL 55709 FAIL 55710 FAIL 55711 FAIL 55712 FAIL 55713 FAIL 55714 FAIL 55715 FAIL 55716 FAIL 55717 FAIL 55718 FAIL 55719 FAIL 55720 FAIL 55721 FAIL 55722 FAIL 55723 FAIL 55724 FAIL 55725 FAIL 55726 FAIL 55727 FAIL 55728 FAIL 55729 FAIL 55730 FAIL 55731 FAIL 55732 FAIL 55733 FAIL 55734 FAIL 55735 FAIL 55736 FAIL 55737 FAIL 55738 FAIL 55739 FAIL 55740 FAIL 55741 FAIL 55742 FAIL 55743 FAIL 55744 FAIL 55745 FAIL 55746 FAIL 55747 FAIL 55748 FAIL 55749 FAIL 55750 FAIL 55751 FAIL 55752 FAIL 55753 FAIL 55754 FAIL 55755 FAIL 55756 FAIL 55757 FAIL 55758 FAIL 55759 FAIL 55760 FAIL 55761 FAIL 55762 FAIL 55763 FAIL 55764 FAIL 55765 FAIL 55766 FAIL 55767 FAIL 55768 FAIL 55769 FAIL 55770 FAIL 55771 FAIL 55772 FAIL 55773 FAIL 55774 FAIL 55775 FAIL 55776 FAIL 55777 FAIL 55778 FAIL 55779 FAIL 55780 FAIL 55781 FAIL 55782 FAIL 55783 FAIL 55784 FAIL 55785 FAIL 55786 FAIL 55787 FAIL 55788 FAIL 55789 FAIL 55790 FAIL 55791 FAIL 55792 FAIL 55793 FAIL 55794 FAIL 55795 FAIL 55796 FAIL 55797 FAIL 55798 FAIL 55799 FAIL 55800 FAIL 55801 FAIL 55802 FAIL 55803 FAIL 55804 FAIL 55805 FAIL 55806 FAIL 55807 FAIL 55808 FAIL 55809 FAIL 55810 FAIL 55811 FAIL 55812 FAIL 55813 FAIL 55814 FAIL 55815 FAIL 55816 FAIL 55817 FAIL 55818 FAIL 55819 FAIL 55820 FAIL 55821 FAIL 55822 FAIL 55823 FAIL 55824 FAIL 55825 FAIL 55826 FAIL 55827 FAIL 55828 FAIL 55829 FAIL 55830 FAIL 55831 FAIL 55832 FAIL 55833 FAIL 55834 FAIL 55835 FAIL 55836 FAIL 55837 FAIL 55838 FAIL 55839 FAIL 55840 FAIL 55841 FAIL 55842 FAIL 55843 FAIL 55844 FAIL 55845 FAIL 55846 FAIL 55847 FAIL 55848 FAIL 55849 FAIL 55850 FAIL 55851 FAIL 55852 FAIL 55853 FAIL 55854 FAIL 55855 FAIL 55856 FAIL 55857 FAIL 55858 FAIL 55859 FAIL 55860 FAIL 55861 FAIL 55862 FAIL 55863 FAIL 55864 FAIL 55865 FAIL 55866 FAIL 55867 FAIL 55868 FAIL 55869 FAIL 55870 FAIL 55871 FAIL 55872 FAIL 55873 FAIL 55874 FAIL 55875 FAIL 55876 FAIL 55877 FAIL 55878 FAIL 55879 FAIL 55880 FAIL 55881 FAIL 55882 FAIL 55883 FAIL 55884 FAIL 55885 FAIL 55886 FAIL 55887 FAIL 55888 FAIL 55889 FAIL 55890 FAIL 55891 FAIL 55892 FAIL 55893 FAIL 55894 FAIL 55895 FAIL 55896 FAIL 55897 FAIL 55898 FAIL 55899 FAIL 55900 FAIL 55901 FAIL 55902 FAIL 55903 FAIL 55904 FAIL 55905 FAIL 55906 FAIL 55907 FAIL 55908 FAIL 55909 FAIL 55910 FAIL 55911 FAIL 55912 FAIL 55913 FAIL 55914 FAIL 55915 FAIL 55916 FAIL 55917 FAIL 55918 FAIL 55919 FAIL 55920 FAIL 55921 FAIL 55922 FAIL 55923 FAIL 55924 FAIL 55925 FAIL 55926 FAIL 55927 FAIL 55928 FAIL 55929 FAIL 55930 FAIL 55931 FAIL 55932 FAIL 55933 FAIL 55934 FAIL 55935 FAIL 55936 FAIL 55937 FAIL 55938 FAIL 55939 FAIL 55940 FAIL 55941 FAIL 55942 FAIL 55943 FAIL 55944 FAIL 55945 FAIL 55946 FAIL 55947 FAIL 55948 FAIL 55949 FAIL 55950 FAIL 55951 FAIL 55952 FAIL 55953 FAIL 55954 FAIL 55955 FAIL 55956 FAIL 55957 FAIL 55958 FAIL 55959 FAIL 55960 FAIL 55961 FAIL 55962 FAIL 55963 FAIL 55964 FAIL 55965 FAIL 55966 FAIL 55967 FAIL 55968 FAIL 55969 FAIL 55970 FAIL 55971 FAIL 55972 FAIL 55973 FAIL 55974 FAIL 55975 FAIL 55976 FAIL 55977 FAIL 55978 FAIL 55979 FAIL 55980 FAIL 55981 FAIL 55982 FAIL 55983 FAIL 55984 FAIL 55985 FAIL 55986 FAIL 55987 FAIL 55988 FAIL 55989 FAIL 55990 FAIL 55991 FAIL 55992 FAIL 55993 FAIL 55994 FAIL 55995 FAIL 55996 FAIL 55997 FAIL 55998 FAIL 55999 FAIL 56000 FAIL 56001 FAIL 56002 FAIL 56003 FAIL 56004 FAIL 56005 FAIL 56006 FAIL 56007 FAIL 56008 FAIL 56009 FAIL 56010 FAIL 56011 FAIL 56012 FAIL 56013 FAIL 56014 FAIL 56015 FAIL 56016 FAIL 56017 FAIL 56018 FAIL 56019 FAIL 56020 FAIL 56021 FAIL 56022 FAIL 56023 FAIL 56024 FAIL 56025 FAIL 56026 FAIL 56027 FAIL 56028 FAIL 56029 FAIL 56030 FAIL 56031 FAIL 56032 FAIL 56033 FAIL 56034 FAIL 56035 FAIL 56036 FAIL 56037 FAIL 56038 FAIL 56039 FAIL 56040 FAIL 56041 FAIL 56042 FAIL 56043 FAIL 56044 FAIL 56045 FAIL 56046 FAIL 56047 FAIL 56048 FAIL 56049 FAIL 56050 FAIL 56051 FAIL 56052 FAIL 56053 FAIL 56054 FAIL 56055 FAIL 56056 FAIL 56057 FAIL 56058 FAIL 56059 FAIL 56060 FAIL 56061 FAIL 56062 FAIL 56063 FAIL 56064 FAIL 56065 FAIL 56066 FAIL 56067 FAIL 56068 FAIL 56069 FAIL 56070 FAIL 56071 FAIL 56072 FAIL 56073 FAIL 56074 FAIL 56075 FAIL 56076 FAIL 56077 FAIL 56078 FAIL 56079 FAIL 56080 FAIL 56081 FAIL 56082 FAIL 56083 FAIL 56084 FAIL 56085 FAIL 56086 FAIL 56087 FAIL 56088 FAIL 56089 FAIL 56090 FAIL 56091 FAIL 56092 FAIL 56093 FAIL 56094 FAIL 56095 FAIL 56096 FAIL 56097 FAIL 56098 FAIL 56099 FAIL 56100 FAIL 56101 FAIL 56102 FAIL 56103 FAIL 56104 FAIL 56105 FAIL 56106 FAIL 56107 FAIL 56108 FAIL 56109 FAIL 56110 FAIL 56111 FAIL 56112 FAIL 56113 FAIL 56114 FAIL 56115 FAIL 56116 FAIL 56117 FAIL 56118 FAIL 56119 FAIL 56120 FAIL 56121 FAIL 56122 FAIL 56123 FAIL 56124 FAIL 56125 FAIL 56126 FAIL 56127 FAIL 56128 FAIL 56129 FAIL 56130 FAIL 56131 FAIL 56132 FAIL 56133 FAIL 56134 FAIL 56135 FAIL 56136 FAIL 56137 FAIL 56138 FAIL 56139 FAIL 56140 FAIL 56141 FAIL 56142 FAIL 56143 FAIL 56144 FAIL 56145 FAIL 56146 FAIL 56147 FAIL 56148 FAIL 56149 FAIL 56150 FAIL 56151 FAIL 56152 FAIL 56153 FAIL 56154 FAIL 56155 FAIL 56156 FAIL 56157 FAIL 56158 FAIL 56159 FAIL 56160 FAIL 56161 FAIL 56162 FAIL 56163 FAIL 56164 FAIL 56165 FAIL 56166 FAIL 56167 FAIL 56168 FAIL 56169 FAIL 56170 FAIL 56171 FAIL 56172 FAIL 56173 FAIL 56174 FAIL 56175 FAIL 56176 FAIL 56177 FAIL 56178 FAIL 56179 FAIL 56180 FAIL 56181 FAIL 56182 FAIL 56183 FAIL 56184 FAIL 56185 FAIL 56186 FAIL 56187 FAIL 56188 FAIL 56189 FAIL 56190 FAIL 56191 FAIL 56192 FAIL 56193 FAIL 56194 FAIL 56195 FAIL 56196 FAIL 56197 FAIL 56198 FAIL 56199 FAIL 56200 FAIL 56201 FAIL 56202 FAIL 56203 FAIL 56204 FAIL 56205 FAIL 56206 FAIL 56207 FAIL 56208 FAIL 56209 FAIL 56210 FAIL 56211 FAIL 56212 FAIL 56213 FAIL 56214 FAIL 56215 FAIL 56216 FAIL 56217 FAIL 56218 FAIL 56219 FAIL 56220 FAIL 56221 FAIL 56222 FAIL 56223 FAIL 56224 FAIL 56225 FAIL 56226 FAIL 56227 FAIL 56228 FAIL 56229 FAIL 56230 FAIL 56231 FAIL 56232 FAIL 56233 FAIL 56234 FAIL 56235 FAIL 56236 FAIL 56237 FAIL 56238 FAIL 56239 FAIL 56240 FAIL 56241 FAIL 56242 FAIL 56243 FAIL 56244 FAIL 56245 FAIL 56246 FAIL 56247 FAIL 56248 FAIL 56249 FAIL 56250 FAIL 56251 FAIL 56252 FAIL 56253 FAIL 56254 FAIL 56255 FAIL 56256 FAIL 56257 FAIL 56258 FAIL 56259 FAIL 56260 FAIL 56261 FAIL 56262 FAIL 56263 FAIL 56264 FAIL 56265 FAIL 56266 FAIL 56267 FAIL 56268 FAIL 56269 FAIL 56270 FAIL 56271 FAIL 56272 FAIL 56273 FAIL 56274 FAIL 56275 FAIL 56276 FAIL 56277 FAIL 56278 FAIL 56279 FAIL 56280 FAIL 56281 FAIL 56282 FAIL 56283 FAIL 56284 FAIL 56285 FAIL 56286 FAIL 56287 FAIL 56288 FAIL 56289 FAIL 56290 FAIL 56291 FAIL 56292 FAIL 56293 FAIL 56294 FAIL 56295 FAIL 56296 FAIL 56297 FAIL 56298 FAIL 56299 FAIL 56300 FAIL 56301 FAIL 56302 FAIL 56303 FAIL 56304 FAIL 56305 FAIL 56306 FAIL 56307 FAIL 56308 FAIL 56309 FAIL 56310 FAIL 56311 FAIL 56312 FAIL 56313 FAIL 56314 FAIL 56315 FAIL 56316 FAIL 56317 FAIL 56318 FAIL 56319 FAIL 56320 FAIL 56321 FAIL 56322 FAIL 56323 FAIL 56324 FAIL 56325 FAIL 56326 FAIL 56327 FAIL 56328 FAIL 56329 FAIL 56330 FAIL 56331 FAIL 56332 FAIL 56333 FAIL 56334 FAIL 56335 FAIL 56336 FAIL 56337 FAIL 56338 FAIL 56339 FAIL 56340 FAIL 56341 FAIL 56342 FAIL 56343 FAIL 56344 FAIL 56345 FAIL 56346 FAIL 56347 FAIL 56348 FAIL 56349 FAIL 56350 FAIL 56351 FAIL 56352 FAIL 56353 FAIL 56354 FAIL 56355 FAIL 56356 FAIL 56357 FAIL 56358 FAIL 56359 FAIL 56360 FAIL 56361 FAIL 56362 FAIL 56363 FAIL 56364 FAIL 56365 FAIL 56366 FAIL 56367 FAIL 56368 FAIL 56369 FAIL 56370 FAIL 56371 FAIL 56372 FAIL 56373 FAIL 56374 FAIL 56375 FAIL 56376 FAIL 56377 FAIL 56378 FAIL 56379 FAIL 56380 FAIL 56381 FAIL 56382 FAIL 56383 FAIL 56384 FAIL 56385 FAIL 56386 FAIL 56387 FAIL 56388 FAIL 56389 FAIL 56390 FAIL 56391 FAIL 56392 FAIL 56393 FAIL 56394 FAIL 56395 FAIL 56396 FAIL 56397 FAIL 56398 FAIL 56399 FAIL 56400 FAIL 56401 FAIL 56402 FAIL 56403 FAIL 56404 FAIL 56405 FAIL 56406 FAIL 56407 FAIL 56408 FAIL 56409 FAIL 56410 FAIL 56411 FAIL 56412 FAIL 56413 FAIL 56414 FAIL 56415 FAIL 56416 FAIL 56417 FAIL 56418 FAIL 56419 FAIL 56420 FAIL 56421 FAIL 56422 FAIL 56423 FAIL 56424 FAIL 56425 FAIL 56426 FAIL 56427 FAIL 56428 FAIL 56429 FAIL 56430 FAIL 56431 FAIL 56432 FAIL 56433 FAIL 56434 FAIL 56435 FAIL 56436 FAIL 56437 FAIL 56438 FAIL 56439 FAIL 56440 FAIL 56441 FAIL 56442 FAIL 56443 FAIL 56444 FAIL 56445 FAIL 56446 FAIL 56447 FAIL 56448 FAIL 56449 FAIL 56450 FAIL 56451 FAIL 56452 FAIL 56453 FAIL 56454 FAIL 56455 FAIL 56456 FAIL 56457 FAIL 56458 FAIL 56459 FAIL 56460 FAIL 56461 FAIL 56462 FAIL 56463 FAIL 56464 FAIL 56465 FAIL 56466 FAIL 56467 FAIL 56468 FAIL 56469 FAIL 56470 FAIL 56471 FAIL 56472 FAIL 56473 FAIL 56474 FAIL 56475 FAIL 56476 FAIL 56477 FAIL 56478 FAIL 56479 FAIL 56480 FAIL 56481 FAIL 56482 FAIL 56483 FAIL 56484 FAIL 56485 FAIL 56486 FAIL 56487 FAIL 56488 FAIL 56489 FAIL 56490 FAIL 56491 FAIL 56492 FAIL 56493 FAIL 56494 FAIL 56495 FAIL 56496 FAIL 56497 FAIL 56498 FAIL 56499 FAIL 56500 FAIL 56501 FAIL 56502 FAIL 56503 FAIL 56504 FAIL 56505 FAIL 56506 FAIL 56507 FAIL 56508 FAIL 56509 FAIL 56510 FAIL 56511 FAIL 56512 FAIL 56513 FAIL 56514 FAIL 56515 FAIL 56516 FAIL 56517 FAIL 56518 FAIL 56519 FAIL 56520 FAIL 56521 FAIL 56522 FAIL 56523 FAIL 56524 FAIL 56525 FAIL 56526 FAIL 56527 FAIL 56528 FAIL 56529 FAIL 56530 FAIL 56531 FAIL 56532 FAIL 56533 FAIL 56534 FAIL 56535 FAIL 56536 FAIL 56537 FAIL 56538 FAIL 56539 FAIL 56540 FAIL 56541 FAIL 56542 FAIL 56543 FAIL 56544 FAIL 56545 FAIL 56546 FAIL 56547 FAIL 56548 FAIL 56549 FAIL 56550 FAIL 56551 FAIL 56552 FAIL 56553 FAIL 56554 FAIL 56555 FAIL 56556 FAIL 56557 FAIL 56558 FAIL 56559 FAIL 56560 FAIL 56561 FAIL 56562 FAIL 56563 FAIL 56564 FAIL 56565 FAIL 56566 FAIL 56567 FAIL 56568 FAIL 56569 FAIL 56570 FAIL 56571 FAIL 56572 FAIL 56573 FAIL 56574 FAIL 56575 FAIL 56576 FAIL 56577 FAIL 56578 FAIL 56579 FAIL 56580 FAIL 56581 FAIL 56582 FAIL 56583 FAIL 56584 FAIL 56585 FAIL 56586 FAIL 56587 FAIL 56588 FAIL 56589 FAIL 56590 FAIL 56591 FAIL 56592 FAIL 56593 FAIL 56594 FAIL 56595 FAIL 56596 FAIL 56597 FAIL 56598 FAIL 56599 FAIL 56600 FAIL 56601 FAIL 56602 FAIL 56603 FAIL 56604 FAIL 56605 FAIL 56606 FAIL 56607 FAIL 56608 FAIL 56609 FAIL 56610 FAIL 56611 FAIL 56612 FAIL 56613 FAIL 56614 FAIL 56615 FAIL 56616 FAIL 56617 FAIL 56618 FAIL 56619 FAIL 56620 FAIL 56621 FAIL 56622 FAIL 56623 FAIL 56624 FAIL 56625 FAIL 56626 FAIL 56627 FAIL 56628 FAIL 56629 FAIL 56630 FAIL 56631 FAIL 56632 FAIL 56633 FAIL 56634 FAIL 56635 FAIL 56636 FAIL 56637 FAIL 56638 FAIL 56639 FAIL 56640 FAIL 56641 FAIL 56642 FAIL 56643 FAIL 56644 FAIL 56645 FAIL 56646 FAIL 56647 FAIL 56648 FAIL 56649 FAIL 56650 FAIL 56651 FAIL 56652 FAIL 56653 FAIL 56654 FAIL 56655 FAIL 56656 FAIL 56657 FAIL 56658 FAIL 56659 FAIL 56660 FAIL 56661 FAIL 56662 FAIL 56663 FAIL 56664 FAIL 56665 FAIL 56666 FAIL 56667 FAIL 56668 FAIL 56669 FAIL 56670 FAIL 56671 FAIL 56672 FAIL 56673 FAIL 56674 FAIL 56675 FAIL 56676 FAIL 56677 FAIL 56678 FAIL 56679 FAIL 56680 FAIL 56681 FAIL 56682 FAIL 56683 FAIL 56684 FAIL 56685 FAIL 56686 FAIL 56687 FAIL 56688 FAIL 56689 FAIL 56690 FAIL 56691 FAIL 56692 FAIL 56693 FAIL 56694 FAIL 56695 FAIL 56696 FAIL 56697 FAIL 56698 FAIL 56699 FAIL 56700 FAIL 56701 FAIL 56702 FAIL 56703 FAIL 56704 FAIL 56705 FAIL 56706 FAIL 56707 FAIL 56708 FAIL 56709 FAIL 56710 FAIL 56711 FAIL 56712 FAIL 56713 FAIL 56714 FAIL 56715 FAIL 56716 FAIL 56717 FAIL 56718 FAIL 56719 FAIL 56720 FAIL 56721 FAIL 56722 FAIL 56723 FAIL 56724 FAIL 56725 FAIL 56726 FAIL 56727 FAIL 56728 FAIL 56729 FAIL 56730 FAIL 56731 FAIL 56732 FAIL 56733 FAIL 56734 FAIL 56735 FAIL 56736 FAIL 56737 FAIL 56738 FAIL 56739 FAIL 56740 FAIL 56741 FAIL 56742 FAIL 56743 FAIL 56744 FAIL 56745 FAIL 56746 FAIL 56747 FAIL 56748 FAIL 56749 FAIL 56750 FAIL 56751 FAIL 56752 FAIL 56753 FAIL 56754 FAIL 56755 FAIL 56756 FAIL 56757 FAIL 56758 FAIL 56759 FAIL 56760 FAIL 56761 FAIL 56762 FAIL 56763 FAIL 56764 FAIL 56765 FAIL 56766 FAIL 56767 FAIL 56768 FAIL 56769 FAIL 56770 FAIL 56771 FAIL 56772 FAIL 56773 FAIL 56774 FAIL 56775 FAIL 56776 FAIL 56777 FAIL 56778 FAIL 56779 FAIL 56780 FAIL 56781 FAIL 56782 FAIL 56783 FAIL 56784 FAIL 56785 FAIL 56786 FAIL 56787 FAIL 56788 FAIL 56789 FAIL 56790 FAIL 56791 FAIL 56792 FAIL 56793 FAIL 56794 FAIL 56795 FAIL 56796 FAIL 56797 FAIL 56798 FAIL 56799 FAIL 56800 FAIL 56801 FAIL 56802 FAIL 56803 FAIL 56804 FAIL 56805 FAIL 56806 FAIL 56807 FAIL 56808 FAIL 56809 FAIL 56810 FAIL 56811 FAIL 56812 FAIL 56813 FAIL 56814 FAIL 56815 FAIL 56816 FAIL 56817 FAIL 56818 FAIL 56819 FAIL 56820 FAIL 56821 FAIL 56822 FAIL 56823 FAIL 56824 FAIL 56825 FAIL 56826 FAIL 56827 FAIL 56828 FAIL 56829 FAIL 56830 FAIL 56831 FAIL 56832 FAIL 56833 FAIL 56834 FAIL 56835 FAIL 56836 FAIL 56837 FAIL 56838 FAIL 56839 FAIL 56840 FAIL 56841 FAIL 56842 FAIL 56843 FAIL 56844 FAIL 56845 FAIL 56846 FAIL 56847 FAIL 56848 FAIL 56849 FAIL 56850 FAIL 56851 FAIL 56852 FAIL 56853 FAIL 56854 FAIL 56855 FAIL 56856 FAIL 56857 FAIL 56858 FAIL 56859 FAIL 56860 FAIL 56861 FAIL 56862 FAIL 56863 FAIL 56864 FAIL 56865 FAIL 56866 FAIL 56867 FAIL 56868 FAIL 56869 FAIL 56870 FAIL 56871 FAIL 56872 FAIL 56873 FAIL 56874 FAIL 56875 FAIL 56876 FAIL 56877 FAIL 56878 FAIL 56879 FAIL 56880 FAIL 56881 FAIL 56882 FAIL 56883 FAIL 56884 FAIL 56885 FAIL 56886 FAIL 56887 FAIL 56888 FAIL 56889 FAIL 56890 FAIL 56891 FAIL 56892 FAIL 56893 FAIL 56894 FAIL 56895 FAIL 56896 FAIL 56897 FAIL 56898 FAIL 56899 FAIL 56900 FAIL 56901 FAIL 56902 FAIL 56903 FAIL 56904 FAIL 56905 FAIL 56906 FAIL 56907 FAIL 56908 FAIL 56909 FAIL 56910 FAIL 56911 FAIL 56912 FAIL 56913 FAIL 56914 FAIL 56915 FAIL 56916 FAIL 56917 FAIL 56918 FAIL 56919 FAIL 56920 FAIL 56921 FAIL 56922 FAIL 56923 FAIL 56924 FAIL 56925 FAIL 56926 FAIL 56927 FAIL 56928 FAIL 56929 FAIL 56930 FAIL 56931 FAIL 56932 FAIL 56933 FAIL 56934 FAIL 56935 FAIL 56936 FAIL 56937 FAIL 56938 FAIL 56939 FAIL 56940 FAIL 56941 FAIL 56942 FAIL 56943 FAIL 56944 FAIL 56945 FAIL 56946 FAIL 56947 FAIL 56948 FAIL 56949 FAIL 56950 FAIL 56951 FAIL 56952 FAIL 56953 FAIL 56954 FAIL 56955 FAIL 56956 FAIL 56957 FAIL 56958 FAIL 56959 FAIL 56960 FAIL 56961 FAIL 56962 FAIL 56963 FAIL 56964 FAIL 56965 FAIL 56966 FAIL 56967 FAIL 56968 FAIL 56969 FAIL 56970 FAIL 56971 FAIL 56972 FAIL 56973 FAIL 56974 FAIL 56975 FAIL 56976 FAIL 56977 FAIL 56978 FAIL 56979 FAIL 56980 FAIL 56981 FAIL 56982 FAIL 56983 FAIL 56984 FAIL 56985 FAIL 56986 FAIL 56987 FAIL 56988 FAIL 56989 FAIL 56990 FAIL 56991 FAIL 56992 FAIL 56993 FAIL 56994 FAIL 56995 FAIL 56996 FAIL 56997 FAIL 56998 FAIL 56999 FAIL 57000 FAIL 57001 FAIL 57002 FAIL 57003 FAIL 57004 FAIL 57005 FAIL 57006 FAIL 57007 FAIL 57008 FAIL 57009 FAIL 57010 FAIL 57011 FAIL 57012 FAIL 57013 FAIL 57014 FAIL 57015 FAIL 57016 FAIL 57017 FAIL 57018 FAIL 57019 FAIL 57020 FAIL 57021 FAIL 57022 FAIL 57023 FAIL 57024 FAIL 57025 FAIL 57026 FAIL 57027 FAIL 57028 FAIL 57029 FAIL 57030 FAIL 57031 FAIL 57032 FAIL 57033 FAIL 57034 FAIL 57035 FAIL 57036 FAIL 57037 FAIL 57038 FAIL 57039 FAIL 57040 FAIL 57041 FAIL 57042 FAIL 57043 FAIL 57044 FAIL 57045 FAIL 57046 FAIL 57047 FAIL 57048 FAIL 57049 FAIL 57050 FAIL 57051 FAIL 57052 FAIL 57053 FAIL 57054 FAIL 57055 FAIL 57056 FAIL 57057 FAIL 57058 FAIL 57059 FAIL 57060 FAIL 57061 FAIL 57062 FAIL 57063 FAIL 57064 FAIL 57065 FAIL 57066 FAIL 57067 FAIL 57068 FAIL 57069 FAIL 57070 FAIL 57071 FAIL 57072 FAIL 57073 FAIL 57074 FAIL 57075 FAIL 57076 FAIL 57077 FAIL 57078 FAIL 57079 FAIL 57080 FAIL 57081 FAIL 57082 FAIL 57083 FAIL 57084 FAIL 57085 FAIL 57086 FAIL 57087 FAIL 57088 FAIL 57089 FAIL 57090 FAIL 57091 FAIL 57092 FAIL 57093 FAIL 57094 FAIL 57095 FAIL 57096 FAIL 57097 FAIL 57098 FAIL 57099 FAIL 57100 FAIL 57101 FAIL 57102 FAIL 57103 FAIL 57104 FAIL 57105 FAIL 57106 FAIL 57107 FAIL 57108 FAIL 57109 FAIL 57110 FAIL 57111 FAIL 57112 FAIL 57113 FAIL 57114 FAIL 57115 FAIL 57116 FAIL 57117 FAIL 57118 FAIL 57119 FAIL 57120 FAIL 57121 FAIL 57122 FAIL 57123 FAIL 57124 FAIL 57125 FAIL 57126 FAIL 57127 FAIL 57128 FAIL 57129 FAIL 57130 FAIL 57131 FAIL 57132 FAIL 57133 FAIL 57134 FAIL 57135 FAIL 57136 FAIL 57137 FAIL 57138 FAIL 57139 FAIL 57140 FAIL 57141 FAIL 57142 FAIL 57143 FAIL 57144 FAIL 57145 FAIL 57146 FAIL 57147 FAIL 57148 FAIL 57149 FAIL 57150 FAIL 57151 FAIL 57152 FAIL 57153 FAIL 57154 FAIL 57155 FAIL 57156 FAIL 57157 FAIL 57158 FAIL 57159 FAIL 57160 FAIL 57161 FAIL 57162 FAIL 57163 FAIL 57164 FAIL 57165 FAIL 57166 FAIL 57167 FAIL 57168 FAIL 57169 FAIL 57170 FAIL 57171 FAIL 57172 FAIL 57173 FAIL 57174 FAIL 57175 FAIL 57176 FAIL 57177 FAIL 57178 FAIL 57179 FAIL 57180 FAIL 57181 FAIL 57182 FAIL 57183 FAIL 57184 FAIL 57185 FAIL 57186 FAIL 57187 FAIL 57188 FAIL 57189 FAIL 57190 FAIL 57191 FAIL 57192 FAIL 57193 FAIL 57194 FAIL 57195 FAIL 57196 FAIL 57197 FAIL 57198 FAIL 57199 FAIL 57200 FAIL 57201 FAIL 57202 FAIL 57203 FAIL 57204 FAIL 57205 FAIL 57206 FAIL 57207 FAIL 57208 FAIL 57209 FAIL 57210 FAIL 57211 FAIL 57212 FAIL 57213 FAIL 57214 FAIL 57215 FAIL 57216 FAIL 57217 FAIL 57218 FAIL 57219 FAIL 57220 FAIL 57221 FAIL 57222 FAIL 57223 FAIL 57224 FAIL 57225 FAIL 57226 FAIL 57227 FAIL 57228 FAIL 57229 FAIL 57230 FAIL 57231 FAIL 57232 FAIL 57233 FAIL 57234 FAIL 57235 FAIL 57236 FAIL 57237 FAIL 57238 FAIL 57239 FAIL 57240 FAIL 57241 FAIL 57242 FAIL 57243 FAIL 57244 FAIL 57245 FAIL 57246 FAIL 57247 FAIL 57248 FAIL 57249 FAIL 57250 FAIL 57251 FAIL 57252 FAIL 57253 FAIL 57254 FAIL 57255 FAIL 57256 FAIL 57257 FAIL 57258 FAIL 57259 FAIL 57260 FAIL 57261 FAIL 57262 FAIL 57263 FAIL 57264 FAIL 57265 FAIL 57266 FAIL 57267 FAIL 57268 FAIL 57269 FAIL 57270 FAIL 57271 FAIL 57272 FAIL 57273 FAIL 57274 FAIL 57275 FAIL 57276 FAIL 57277 FAIL 57278 FAIL 57279 FAIL 57280 FAIL 57281 FAIL 57282 FAIL 57283 FAIL 57284 FAIL 57285 FAIL 57286 FAIL 57287 FAIL 57288 FAIL 57289 FAIL 57290 FAIL 57291 FAIL 57292 FAIL 57293 FAIL 57294 FAIL 57295 FAIL 57296 FAIL 57297 FAIL 57298 FAIL 57299 FAIL 57300 FAIL 57301 FAIL 57302 FAIL 57303 FAIL 57304 FAIL 57305 FAIL 57306 FAIL 57307 FAIL 57308 FAIL 57309 FAIL 57310 FAIL 57311 FAIL 57312 FAIL 57313 FAIL 57314 FAIL 57315 FAIL 57316 FAIL 57317 FAIL 57318 FAIL 57319 FAIL 57320 FAIL 57321 FAIL 57322 FAIL 57323 FAIL 57324 FAIL 57325 FAIL 57326 FAIL 57327 FAIL 57328 FAIL 57329 FAIL 57330 FAIL 57331 FAIL 57332 FAIL 57333 FAIL 57334 FAIL 57335 FAIL 57336 FAIL 57337 FAIL 57338 FAIL 57339 FAIL 57340 FAIL 57341 FAIL 57342 FAIL 57343 ===*/ function test(s, verbose) { var t; var i; var tmp; try { tmp = []; t = s; for (i = 0; i < t.length; i++) { tmp.push(t.charCodeAt(i)); } tmp.push('->'); t = unescape(encodeURIComponent(t)); for (i = 0; i < t.length; i++) { tmp.push(t.charCodeAt(i)); } tmp.push('->'); t = decodeURIComponent(escape(t)); for (i = 0; i < t.length; i++) { tmp.push(t.charCodeAt(i)); } if (t === s) { if (verbose) { print(tmp.join(' ')); } } else { print('FAIL', tmp.join(' ')); } } catch (e) { tmp = []; t = s; for (i = 0; i < t.length; i++) { tmp.push(t.charCodeAt(i)); } print('FAIL', tmp.join(' ')); } } try { var cp; test('abc\u0678\u1234', true); // comprehensive 16-bit test for (cp = 0; cp < 65536; cp++) { test(String.fromCharCode(cp), (cp < 256)); } } catch (e) { print(e); }