File: sym.sh
   1 #!/bin/sh
   2 
   3 # The MIT License (MIT)
   4 #
   5 # Copyright © 2024 pacman64
   6 #
   7 # Permission is hereby granted, free of charge, to any person obtaining a copy
   8 # of this software and associated documentation files (the “Software”), to deal
   9 # in the Software without restriction, including without limitation the rights
  10 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  11 # copies of the Software, and to permit persons to whom the Software is
  12 # furnished to do so, subject to the following conditions:
  13 #
  14 # The above copyright notice and this permission notice shall be included in
  15 # all copies or substantial portions of the Software.
  16 #
  17 # THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  18 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  20 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  21 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  22 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  23 # SOFTWARE.
  24 
  25 
  26 # sym [names...]
  27 #
  28 # Lookup various hard-to-type symbols by their common names/aliases. All/any
  29 # dashes in the names given are ignored, and are thus supported, so to speak.
  30 
  31 
  32 # handle help options
  33 case "$1" in
  34     -h|--h|-help|--help)
  35         awk '/^# +sym/, /^$/ { gsub(/^# ?/, ""); print }' "$0"
  36         exit 0
  37     ;;
  38 esac
  39 
  40 # when given no names, show (almost) all name-symbol pairs supported
  41 if [ $# -eq 0 ]; then
  42     # show all built-in `here-doc` entries from this very script/file
  43     awk '/^[a-z]/ && NF == 2' "${0}"
  44     exit 0
  45 fi
  46 
  47 # lookup built-in dataset
  48 awk -v allnames="${*}" '
  49 # figure out which names to lookup, and handle special names upfront
  50 BEGIN {
  51     # lowercase symbol names, also ignoring any dashes in them
  52     allnames = tolower(allnames)
  53     gsub(/[_-]/, "", allnames)
  54     gsub(/^ +| +$/, "", allnames)
  55 
  56     # split space-separated items into an array named `symbols`
  57     split(allnames, symbols, / +/)
  58 
  59     special["crlf"] = "\r"
  60     special["ff"] = "\f"
  61     special["lf"] = "\n"
  62     special["nil"] = "\000"
  63     special["nul"] = "\000"
  64     special["null"] = "\000"
  65     special["space"] = " "
  66     special["tab"] = "\t"
  67     special["utf8bom"] = "\xef\xbb\xbf"
  68     special["vtab"] = "\v"
  69 
  70     for (i in symbols) {
  71         s = symbols[i]
  72         for (j in special) {
  73             if (j == s) {
  74                 got[i] = special[j]
  75                 break
  76             }
  77         }
  78     }
  79 }
  80 
  81 # try to match each symbol to each built-in data line
  82 {
  83     for (i in symbols) {
  84         if ($1 == symbols[i]) {
  85             got[i] = $2
  86             next
  87         }
  88     }
  89 }
  90 
  91 # report any not-found-type errors
  92 END {
  93     n = length(symbols)
  94     fs = "\x1b[31mno matching symbols found for `%s`\x1b[0m\n"
  95 
  96     for (i = 1; i <= n; i++) {
  97         if (got[i]) {
  98             print got[i]
  99             continue
 100         } else {
 101             printf fs, symbols[i]
 102             failures++
 103         }
 104     }
 105 
 106     if (failures > 0) { exit 1 }
 107 }' << 'ENDOFDATA'
 108 adash        -
 109 aeq          ≈
 110 altcolon     :
 111 altqmark     ?
 112 altque       ?
 113 altques      ?
 114 altquest     ?
 115 altquestion  ?
 116 altvbar      |
 117 altverbar    |
 118 altvertbar   |
 119 almost       ≈
 120 amp          &
 121 ampersand    &
 122 apos         ’
 123 apostrophe   ’
 124 approx       ≅
 125 asterisk     *
 126 atleast      ≥
 127 atmost       ≤
 128 backquote    `
 129 backslash    \
 130 backtick     `
 131 ball         ●
 132 bang         !
 133 base64       ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
 134 block        █
 135 bquo         `
 136 bquote       `
 137 bslash       \
 138 bullet       •
 139 caret        ^
 140 cdot         ·
 141 circle       ●
 142 cloud        ☁️
 143 colon        :
 144 comma        ,
 145 copyright    ©
 146 cquote       ”
 147 crap        💩
 148 crapface    💩
 149 cross        ×
 150 dash         —
 151 deg          °
 152 degree       °
 153 diameter     ⌀
 154 doc          📄
 155 document     📄
 156 dollar       $
 157 dot          .
 158 dquo         "
 159 dquote       "
 160 doublequote  "
 161 ellip        …
 162 ellipsis     …
 163 email        @
 164 emdash       —
 165 emptyset     ∅
 166 endash       –
 167 eq           =
 168 equal        =
 169 equals       =
 170 excl         !
 171 exclam       !
 172 exclamation  !
 173 faces    😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷🙁🙂🙃🙄🧐👶🤓🤐🤑🤒🤔🤕🤗🤠🤡🤢🤣🤤🤥🤧🤨🤩🤪🤫🤬🤭🤮🤯
 174 file       📄
 175 fullmoon   🌕
 176 fullstop   .
 177 geq        ≥
 178 greatereq  ≥
 179 happy      😀
 180 happyface  😀
 181 heart      ❤️
 182 hellip     …
 183 hellipsis  …
 184 hole       ○
 185 hyphen     -
 186 leq        ≤
 187 less       <
 188 lesseq     ≤
 189 lightning 🌩️
 190 ldquo      “
 191 ldquote    “
 192 lsquo      ‘
 193 lsquote    ‘
 194 mdash      —
 195 mdot       ·
 196 more       >
 197 music        🎵
 198 musicalnote  🎵
 199 ndash        –
 200 neq          ≠
 201 not          ¬
 202 notequal     ≠
 203 notequals    ≠
 204 oquote       “
 205 period       .
 206 pipe         |
 207 question     ?
 208 rain         🌧️
 209 rdquo        ”
 210 rdquote      ”
 211 rsquo        ’
 212 rsquote      ’
 213 semicolon    ;
 214 sharp        #
 215 shit         💩
 216 shitface     💩
 217 slash        /
 218 slasher      ⧸
 219 slashier     ⧸
 220 smile        🙂
 221 smileface    🙂
 222 smilingface  🙂
 223 snow         ❄️
 224 square       ■
 225 squo         '
 226 squote       '
 227 singlequote  '
 228 star         ⭐
 229 sun          ☀️
 230 tilde        ~
 231 vbar         |
 232 verbar       |
 233 vertbar      |
 234 verticalbar  |
 235 vellip       ⋮
 236 vellipsis    ⋮
 237 
 238 alpha    α
 239 beta     β
 240 delta    δ
 241 eps      ε
 242 epsilon  ε
 243 gamma    γ
 244 lambda   λ
 245 omega    ω
 246 pi       π
 247 sigma    σ
 248 tau      τ
 249 theta    θ
 250 
 251 bigsigma      Σ
 252 capsigma      Σ
 253 capitalsigma  Σ
 254 
 255 alphabet        abcdefghijklmnopqrstuvwxyz
 256 asciiletters    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
 257 digits          0123456789
 258 greek           αβγδεζηθικλμνξοπρστυφχψω
 259 hex             0123456789abcdef
 260 hexa            0123456789abcdef
 261 hexadec         0123456789abcdef
 262 hexadecimal     0123456789abcdef
 263 hexdigits       0123456789abcdefABCDEF
 264 inf             ∞
 265 infinity        ∞
 266 latin           abcdefghijklmnopqrstuvwxyz
 267 letters         abcdefghijklmnopqrstuvwxyz
 268 lower           abcdefghijklmnopqrstuvwxyz
 269 lowercase       abcdefghijklmnopqrstuvwxyz
 270 lowercasegreek  αβγδεζηθικλμνξοπρστυφχψω
 271 lowergreek      αβγδεζηθικλμνξοπρστυφχψω
 272 lowercasehex    0123456789abcdef
 273 lowerhex        0123456789abcdef
 274 math            +-×÷²³±
 275 midascii        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 276 octal           01234567
 277 octaldigits     01234567
 278 octdigits       01234567
 279 other           ✓✗✔❌
 280 plusminus       ±
 281 prod            Π
 282 product         Π
 283 punct           !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
 284 punctuation     !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
 285 sum             Σ
 286 summation       Σ
 287 upper           ABCDEFGHIJKLMNOPQRSTUVWXYZ
 288 uppercase       ABCDEFGHIJKLMNOPQRSTUVWXYZ
 289 uppercasegreek  ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
 290 uppergreek      ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
 291 uppercasehex    0123456789ABCDEF
 292 upperhex        0123456789ABCDEF
 293 visascii        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 294 visibleascii    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 295 
 296 cedilla      ç
 297 cedille      ç
 298 circumflexa  â
 299 circumflexe  ê
 300 circumflexi  î
 301 circumflexo  ô
 302 circumflexu  û
 303 frenchc      ç
 304 ene          ñ
 305 spanishn     ñ
 306 oslash       Ø
 307 oslashed     Ø
 308 ostroke      Ø
 309 ostroked     Ø
 310 slasho       Ø
 311 slashedo     Ø
 312 strokeo      Ø
 313 strokedo     Ø
 314 
 315 aud  A$
 316 brl  R$
 317 cad  C$
 318 chf  CHF
 319 clp  CLP
 320 cny  元
 321 czk  Kč
 322 dkk  DKK
 323 eur  €
 324 gbp  £
 325 hkd  HK$
 326 huf  Ft
 327 idr  Rp
 328 ils  ₪
 329 inr  ₹
 330 jpy  ¥
 331 krw  ₩
 332 mxn  MXN
 333 nok  NOK
 334 nzd  NZ$
 335 php  ₱
 336 pln  zł
 337 rub  ₽
 338 sar  ﷼
 339 sek  SEK
 340 sgd  S$
 341 thb  ฿
 342 try  ₺
 343 twd  NT$
 344 usd  $
 345 zar  R
 346 
 347 baht            ฿
 348 britishpound    £
 349 cent            ¢
 350 cents           ¢
 351 euro            €
 352 indianrupee     ₹
 353 koruna          Kč
 354 naira           ₦
 355 newshekel       ₪
 356 philippinepeso  ₱
 357 pound           £
 358 poundsterling   £
 359 renminbi        元
 360 riyal           ﷼
 361 ruble           ₽
 362 rupee           ₹
 363 saudiriyal      ﷼
 364 shekel          ₪
 365 sterling        £
 366 turkishlira     ₺
 367 won             ₩
 368 yen             ¥
 369 zloty           zł
 370 
 371 afghanistan    🇦🇫
 372 america        🇺🇸
 373 algeria        🇩🇿
 374 angola         🇦🇴
 375 arabia         🇸🇦
 376 arabemirates   🇦🇪
 377 argentina      🇦🇷
 378 australia      🇦🇺
 379 austria        🇦🇹
 380 bangladesh     🇧🇩
 381 belgium        🇧🇪
 382 brazil         🇧🇷
 383 britain        🇬🇧
 384 canada         🇨🇦
 385 chile          🇨🇱
 386 china          🇨🇳
 387 colombia       🇨🇴
 388 czechia        🇨🇿
 389 czechrepublic  🇨🇿
 390 denmark        🇩🇰
 391 dominicanrepublic  🇩🇴
 392 drc            🇨🇩
 393 drcongo        🇨🇩
 394 ecuador        🇪🇨
 395 egypt          🇪🇬
 396 emirates       🇦🇪
 397 england        🇬🇧
 398 ethiopia       🇪🇹
 399 europe         🇪🇺
 400 europeanunion  🇪🇺
 401 finland        🇫🇮
 402 france         🇫🇷
 403 germany        🇩🇪
 404 ghana          🇬🇭
 405 greatbritain   🇬🇧
 406 greece         🇬🇷
 407 holland        🇳🇱
 408 hungary        🇭🇺
 409 india          🇮🇳
 410 indonesia      🇮🇩
 411 iran           🇮🇷
 412 iraq           🇮🇶
 413 ireland        🇮🇪
 414 israel         🇮🇱
 415 italy          🇮🇹
 416 japan          🇯🇵
 417 kazakhstan     🇰🇿
 418 kenya          🇰🇪
 419 korea          🇰🇷
 420 kuwait         🇰🇼
 421 madagascar     🇲🇬
 422 malaysia       🇲🇾
 423 mexico         🇲🇽
 424 morocco        🇲🇦
 425 mozambique     🇲🇿
 426 myanmar        🇲🇲
 427 nepal          🇳🇵
 428 netherlands    🇳🇱
 429 newzealand     🇳🇿
 430 nigeria        🇳🇬
 431 northkorea     🇰🇵
 432 norway         🇳🇴
 433 pakistan       🇵🇰
 434 peru           🇵🇪
 435 philippines    🇵🇭
 436 poland         🇵🇱
 437 portugal       🇵🇹
 438 qatar          🇶🇦
 439 rok            🇰🇷
 440 romania        🇷🇴
 441 russia         🇷🇺
 442 saudiarabia    🇸🇦
 443 singapore      🇸🇬
 444 somalia        🇸🇴
 445 southafrica    🇿🇦
 446 southkorea     🇰🇷
 447 spain          🇪🇸
 448 srilanka       🇱🇰
 449 sudan          🇸🇩
 450 sweden         🇸🇪
 451 switzerland    🇨🇭
 452 taiwan         🇹🇼
 453 tanzania       🇹🇿
 454 thailand       🇹🇭
 455 turkey         🇹🇷
 456 uganda         🇺🇬
 457 ukraine        🇺🇦
 458 unitedarab     🇦🇪
 459 unitedarabemirates  🇦🇪
 460 unitedemirates 🇦🇪
 461 unitedkingdom  🇬🇧
 462 unitedstates   🇺🇸
 463 uzbekistan     🇺🇿
 464 yemen          🇾🇪
 465 venezuela      🇻🇪
 466 vietnam        🇻🇳
 467 
 468 af  🇦🇫
 469 ax  🇦🇽
 470 al  🇦🇱
 471 dz  🇩🇿
 472 as  🇦🇸
 473 ad  🇦🇩
 474 ao  🇦🇴
 475 ai  🇦🇮
 476 aq  🇦🇶
 477 ag  🇦🇬
 478 ar  🇦🇷
 479 am  🇦🇲
 480 aw  🇦🇼
 481 au  🇦🇺
 482 at  🇦🇹
 483 az  🇦🇿
 484 bs  🇧🇸
 485 bh  🇧🇭
 486 bd  🇧🇩
 487 bb  🇧🇧
 488 by  🇧🇾
 489 be  🇧🇪
 490 bz  🇧🇿
 491 bj  🇧🇯
 492 bm  🇧🇲
 493 bt  🇧🇹
 494 bo  🇧🇴
 495 bq  🇧🇶
 496 ba  🇧🇦
 497 bw  🇧🇼
 498 bv  🇧🇻
 499 br  🇧🇷
 500 io  🇮🇴
 501 bn  🇧🇳
 502 bg  🇧🇬
 503 bf  🇧🇫
 504 bi  🇧🇮
 505 cv  🇨🇻
 506 kh  🇰🇭
 507 cm  🇨🇲
 508 ca  🇨🇦
 509 ky  🇰🇾
 510 cf  🇨🇫
 511 td  🇹🇩
 512 cl  🇨🇱
 513 cn  🇨🇳
 514 cx  🇨🇽
 515 cc  🇨🇨
 516 co  🇨🇴
 517 km  🇰🇲
 518 cd  🇨🇩
 519 cg  🇨🇬
 520 ck  🇨🇰
 521 cr  🇨🇷
 522 ci  🇨🇮
 523 hr  🇭🇷
 524 cu  🇨🇺
 525 cw  🇨🇼
 526 cy  🇨🇾
 527 cz  🇨🇿
 528 dk  🇩🇰
 529 dj  🇩🇯
 530 dm  🇩🇲
 531 do  🇩🇴
 532 ec  🇪🇨
 533 eg  🇪🇬
 534 sv  🇸🇻
 535 gq  🇬🇶
 536 er  🇪🇷
 537 ee  🇪🇪
 538 sz  🇸🇿
 539 et  🇪🇹
 540 eu  🇪🇺
 541 fk  🇫🇰
 542 fo  🇫🇴
 543 fj  🇫🇯
 544 fi  🇫🇮
 545 fr  🇫🇷
 546 gf  🇬🇫
 547 pf  🇵🇫
 548 tf  🇹🇫
 549 ga  🇬🇦
 550 gm  🇬🇲
 551 ge  🇬🇪
 552 de  🇩🇪
 553 gh  🇬🇭
 554 gi  🇬🇮
 555 gr  🇬🇷
 556 gl  🇬🇱
 557 gd  🇬🇩
 558 gp  🇬🇵
 559 gu  🇬🇺
 560 gt  🇬🇹
 561 gg  🇬🇬
 562 gn  🇬🇳
 563 gw  🇬🇼
 564 gy  🇬🇾
 565 ht  🇭🇹
 566 hm  🇭🇲
 567 va  🇻🇦
 568 hn  🇭🇳
 569 hk  🇭🇰
 570 hu  🇭🇺
 571 is  🇮🇸
 572 in  🇮🇳
 573 id  🇮🇩
 574 ir  🇮🇷
 575 iq  🇮🇶
 576 ie  🇮🇪
 577 im  🇮🇲
 578 il  🇮🇱
 579 it  🇮🇹
 580 jm  🇯🇲
 581 jp  🇯🇵
 582 je  🇯🇪
 583 jo  🇯🇴
 584 kz  🇰🇿
 585 ke  🇰🇪
 586 ki  🇰🇮
 587 kp  🇰🇵
 588 kr  🇰🇷
 589 kw  🇰🇼
 590 kg  🇰🇬
 591 la  🇱🇦
 592 lv  🇱🇻
 593 lb  🇱🇧
 594 ls  🇱🇸
 595 lr  🇱🇷
 596 ly  🇱🇾
 597 li  🇱🇮
 598 lt  🇱🇹
 599 lu  🇱🇺
 600 mo  🇲🇴
 601 mk  🇲🇰
 602 mg  🇲🇬
 603 mw  🇲🇼
 604 my  🇲🇾
 605 mv  🇲🇻
 606 ml  🇲🇱
 607 mt  🇲🇹
 608 mh  🇲🇭
 609 mq  🇲🇶
 610 mr  🇲🇷
 611 mu  🇲🇺
 612 yt  🇾🇹
 613 mx  🇲🇽
 614 fm  🇫🇲
 615 md  🇲🇩
 616 mc  🇲🇨
 617 mn  🇲🇳
 618 me  🇲🇪
 619 ms  🇲🇸
 620 ma  🇲🇦
 621 mz  🇲🇿
 622 mm  🇲🇲
 623 na  🇳🇦
 624 nr  🇳🇷
 625 np  🇳🇵
 626 nl  🇳🇱
 627 nc  🇳🇨
 628 nz  🇳🇿
 629 ni  🇳🇮
 630 ne  🇳🇪
 631 ng  🇳🇬
 632 nu  🇳🇺
 633 nf  🇳🇫
 634 mp  🇲🇵
 635 no  🇳🇴
 636 om  🇴🇲
 637 pk  🇵🇰
 638 pw  🇵🇼
 639 ps  🇵🇸
 640 pa  🇵🇦
 641 pg  🇵🇬
 642 py  🇵🇾
 643 pe  🇵🇪
 644 ph  🇵🇭
 645 pn  🇵🇳
 646 pl  🇵🇱
 647 pt  🇵🇹
 648 pr  🇵🇷
 649 qa  🇶🇦
 650 re  🇷🇪
 651 ro  🇷🇴
 652 ru  🇷🇺
 653 rw  🇷🇼
 654 bl  🇧🇱
 655 sh  🇸🇭
 656 kn  🇰🇳
 657 lc  🇱🇨
 658 mf  🇲🇫
 659 pm  🇵🇲
 660 vc  🇻🇨
 661 ws  🇼🇸
 662 sm  🇸🇲
 663 st  🇸🇹
 664 sa  🇸🇦
 665 sn  🇸🇳
 666 rs  🇷🇸
 667 sc  🇸🇨
 668 sl  🇸🇱
 669 sg  🇸🇬
 670 sx  🇸🇽
 671 sk  🇸🇰
 672 si  🇸🇮
 673 sb  🇸🇧
 674 so  🇸🇴
 675 za  🇿🇦
 676 gs  🇬🇸
 677 ss  🇸🇸
 678 es  🇪🇸
 679 lk  🇱🇰
 680 sd  🇸🇩
 681 sr  🇸🇷
 682 sj  🇸🇯
 683 se  🇸🇪
 684 ch  🇨🇭
 685 sy  🇸🇾
 686 tw  🇹🇼
 687 tj  🇹🇯
 688 tz  🇹🇿
 689 th  🇹🇭
 690 tl  🇹🇱
 691 tg  🇹🇬
 692 tk  🇹🇰
 693 to  🇹🇴
 694 tt  🇹🇹
 695 tn  🇹🇳
 696 tr  🇹🇷
 697 tm  🇹🇲
 698 tc  🇹🇨
 699 tv  🇹🇻
 700 ug  🇺🇬
 701 ua  🇺🇦
 702 ae  🇦🇪
 703 gb  🇬🇧
 704 um  🇺🇲
 705 us  🇺🇸
 706 uy  🇺🇾
 707 uz  🇺🇿
 708 vu  🇻🇺
 709 ve  🇻🇪
 710 vn  🇻🇳
 711 vg  🇻🇬
 712 vi  🇻🇮
 713 wf  🇼🇫
 714 eh  🇪🇭
 715 ye  🇾🇪
 716 zm  🇿🇲
 717 zw  🇿🇼
 718 
 719 afg  🇦🇫
 720 ala  🇦🇽
 721 alb  🇦🇱
 722 dza  🇩🇿
 723 asm  🇦🇸
 724 and  🇦🇩
 725 ago  🇦🇴
 726 aia  🇦🇮
 727 ata  🇦🇶
 728 atg  🇦🇬
 729 arg  🇦🇷
 730 arm  🇦🇲
 731 abw  🇦🇼
 732 aus  🇦🇺
 733 aut  🇦🇹
 734 aze  🇦🇿
 735 bhs  🇧🇸
 736 bhr  🇧🇭
 737 bgd  🇧🇩
 738 brb  🇧🇧
 739 blr  🇧🇾
 740 bel  🇧🇪
 741 blz  🇧🇿
 742 ben  🇧🇯
 743 bmu  🇧🇲
 744 btn  🇧🇹
 745 bol  🇧🇴
 746 bes  🇧🇶
 747 bih  🇧🇦
 748 bwa  🇧🇼
 749 bvt  🇧🇻
 750 bra  🇧🇷
 751 iot  🇮🇴
 752 brn  🇧🇳
 753 bgr  🇧🇬
 754 bfa  🇧🇫
 755 bdi  🇧🇮
 756 cpv  🇨🇻
 757 khm  🇰🇭
 758 cmr  🇨🇲
 759 can  🇨🇦
 760 cym  🇰🇾
 761 caf  🇨🇫
 762 tcd  🇹🇩
 763 chl  🇨🇱
 764 chn  🇨🇳
 765 cxr  🇨🇽
 766 cck  🇨🇨
 767 col  🇨🇴
 768 com  🇰🇲
 769 cod  🇨🇩
 770 cog  🇨🇬
 771 cok  🇨🇰
 772 cri  🇨🇷
 773 civ  🇨🇮
 774 hrv  🇭🇷
 775 cub  🇨🇺
 776 cuw  🇨🇼
 777 cyp  🇨🇾
 778 cze  🇨🇿
 779 dnk  🇩🇰
 780 dji  🇩🇯
 781 dma  🇩🇲
 782 dom  🇩🇴
 783 ecu  🇪🇨
 784 egy  🇪🇬
 785 slv  🇸🇻
 786 gnq  🇬🇶
 787 eri  🇪🇷
 788 est  🇪🇪
 789 swz  🇸🇿
 790 eth  🇪🇹
 791 flk  🇫🇰
 792 fro  🇫🇴
 793 fji  🇫🇯
 794 fin  🇫🇮
 795 fra  🇫🇷
 796 guf  🇬🇫
 797 pyf  🇵🇫
 798 atf  🇹🇫
 799 gab  🇬🇦
 800 gmb  🇬🇲
 801 geo  🇬🇪
 802 deu  🇩🇪
 803 gha  🇬🇭
 804 gib  🇬🇮
 805 grc  🇬🇷
 806 grl  🇬🇱
 807 grd  🇬🇩
 808 glp  🇬🇵
 809 gum  🇬🇺
 810 gtm  🇬🇹
 811 ggy  🇬🇬
 812 gin  🇬🇳
 813 gnb  🇬🇼
 814 guy  🇬🇾
 815 hti  🇭🇹
 816 hmd  🇭🇲
 817 vat  🇻🇦
 818 hnd  🇭🇳
 819 hkg  🇭🇰
 820 hun  🇭🇺
 821 isl  🇮🇸
 822 ind  🇮🇳
 823 idn  🇮🇩
 824 irn  🇮🇷
 825 irq  🇮🇶
 826 irl  🇮🇪
 827 imn  🇮🇲
 828 isr  🇮🇱
 829 ita  🇮🇹
 830 jam  🇯🇲
 831 jpn  🇯🇵
 832 jey  🇯🇪
 833 jor  🇯🇴
 834 kaz  🇰🇿
 835 ken  🇰🇪
 836 kir  🇰🇮
 837 prk  🇰🇵
 838 kor  🇰🇷
 839 kwt  🇰🇼
 840 kgz  🇰🇬
 841 lao  🇱🇦
 842 lva  🇱🇻
 843 lbn  🇱🇧
 844 lso  🇱🇸
 845 lbr  🇱🇷
 846 lby  🇱🇾
 847 lie  🇱🇮
 848 ltu  🇱🇹
 849 lux  🇱🇺
 850 mac  🇲🇴
 851 mkd  🇲🇰
 852 mdg  🇲🇬
 853 mwi  🇲🇼
 854 mys  🇲🇾
 855 mdv  🇲🇻
 856 mli  🇲🇱
 857 mlt  🇲🇹
 858 mhl  🇲🇭
 859 mtq  🇲🇶
 860 mrt  🇲🇷
 861 mus  🇲🇺
 862 myt  🇾🇹
 863 mex  🇲🇽
 864 fsm  🇫🇲
 865 mda  🇲🇩
 866 mco  🇲🇨
 867 mng  🇲🇳
 868 mne  🇲🇪
 869 msr  🇲🇸
 870 mar  🇲🇦
 871 moz  🇲🇿
 872 mmr  🇲🇲
 873 nam  🇳🇦
 874 nru  🇳🇷
 875 npl  🇳🇵
 876 nld  🇳🇱
 877 ncl  🇳🇨
 878 nzl  🇳🇿
 879 nic  🇳🇮
 880 ner  🇳🇪
 881 nga  🇳🇬
 882 niu  🇳🇺
 883 nfk  🇳🇫
 884 mnp  🇲🇵
 885 nor  🇳🇴
 886 omn  🇴🇲
 887 pak  🇵🇰
 888 plw  🇵🇼
 889 pse  🇵🇸
 890 pan  🇵🇦
 891 png  🇵🇬
 892 pry  🇵🇾
 893 per  🇵🇪
 894 phl  🇵🇭
 895 pcn  🇵🇳
 896 pol  🇵🇱
 897 prt  🇵🇹
 898 pri  🇵🇷
 899 qat  🇶🇦
 900 reu  🇷🇪
 901 rou  🇷🇴
 902 rus  🇷🇺
 903 rwa  🇷🇼
 904 blm  🇧🇱
 905 shn  🇸🇭
 906 kna  🇰🇳
 907 lca  🇱🇨
 908 maf  🇲🇫
 909 spm  🇵🇲
 910 vct  🇻🇨
 911 wsm  🇼🇸
 912 smr  🇸🇲
 913 stp  🇸🇹
 914 sau  🇸🇦
 915 sen  🇸🇳
 916 srb  🇷🇸
 917 syc  🇸🇨
 918 sle  🇸🇱
 919 sgp  🇸🇬
 920 sxm  🇸🇽
 921 svk  🇸🇰
 922 svn  🇸🇮
 923 slb  🇸🇧
 924 som  🇸🇴
 925 zaf  🇿🇦
 926 sgs  🇬🇸
 927 ssd  🇸🇸
 928 esp  🇪🇸
 929 lka  🇱🇰
 930 sdn  🇸🇩
 931 sur  🇸🇷
 932 sjm  🇸🇯
 933 swe  🇸🇪
 934 che  🇨🇭
 935 syr  🇸🇾
 936 twn  🇹🇼
 937 tjk  🇹🇯
 938 tza  🇹🇿
 939 tha  🇹🇭
 940 tls  🇹🇱
 941 tgo  🇹🇬
 942 tkl  🇹🇰
 943 ton  🇹🇴
 944 tto  🇹🇹
 945 tun  🇹🇳
 946 tur  🇹🇷
 947 tkm  🇹🇲
 948 tca  🇹🇨
 949 tuv  🇹🇻
 950 uga  🇺🇬
 951 ukr  🇺🇦
 952 are  🇦🇪
 953 gbr  🇬🇧
 954 uae  🇦🇪
 955 umi  🇺🇲
 956 usa  🇺🇸
 957 ury  🇺🇾
 958 uzb  🇺🇿
 959 vut  🇻🇺
 960 ven  🇻🇪
 961 vnm  🇻🇳
 962 vgb  🇻🇬
 963 vir  🇻🇮
 964 wlf  🇼🇫
 965 esh  🇪🇭
 966 yem  🇾🇪
 967 zmb  🇿🇲
 968 zwe  🇿🇼
 969 ENDOFDATA