File: sym.sh
   1 #!/bin/sh
   2 
   3 # The MIT License (MIT)
   4 #
   5 # Copyright (c) 2026 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 case "$1" in
  33     -h|--h|-help|--help)
  34         awk '/^# +sym /, /^$/ { gsub(/^# ?/, ""); print }' "$0"
  35         exit 0
  36     ;;
  37 esac
  38 
  39 [ "$1" = '--' ] && shift
  40 
  41 # when given no names, show (almost) all name-symbol pairs supported
  42 if [ $# -eq 0 ]; then
  43     # show all built-in `here-doc` entries from this very script/file
  44     awk '/^[a-z]/ && NF == 2' "${0}"
  45     exit 0
  46 fi
  47 
  48 # lookup built-in dataset
  49 awk -v allnames="${*}" '
  50     # figure out which names to lookup, and handle special names upfront
  51     BEGIN {
  52         # lowercase symbol names, also ignoring any dashes in them
  53         allnames = tolower(allnames)
  54         gsub(/[:_-]/, "", allnames)
  55         gsub(/^ +| +$/, "", allnames)
  56 
  57         # split space-separated items into an array named `symbols`
  58         split(allnames, symbols, / +/)
  59 
  60         special["crlf"] = "\r"
  61         special["ff"] = "\f"
  62         special["lf"] = "\n"
  63         special["nil"] = "\000"
  64         special["nul"] = "\000"
  65         special["null"] = "\000"
  66         special["space"] = " "
  67         special["tab"] = "\t"
  68         special["utf8bom"] = "\xef\xbb\xbf"
  69         special["vtab"] = "\v"
  70 
  71         for (i in symbols) {
  72             nsym++
  73             s = symbols[i]
  74             for (j in special) {
  75                 if (j == s) {
  76                     got[i] = special[j]
  77                     break
  78                 }
  79             }
  80         }
  81     }
  82 
  83     # try to match each symbol to each built-in data line
  84     {
  85         for (i in symbols) {
  86             if ($1 == symbols[i]) {
  87                 got[i] = $2
  88                 next
  89             }
  90         }
  91     }
  92 
  93     # report any not-found-type errors
  94     END {
  95         for (i = 1; i <= nsym; i++) {
  96             if (got[i]) {
  97                 print got[i]
  98                 continue
  99             } else {
 100                 fs = "no matching symbols found for `%s`\n"
 101                 printf fs, symbols[i]
 102                 failures++
 103             }
 104         }
 105 
 106         if (failures > 0) { exit 1 }
 107     }
 108 ' << 'ENDOFDATA'
 109 adash        -
 110 aeq          ≈
 111 altcolon     :
 112 altqmark     ?
 113 altque       ?
 114 altques      ?
 115 altquest     ?
 116 altquestion  ?
 117 altvbar      |
 118 altverbar    |
 119 altvertbar   |
 120 almost       ≈
 121 amp          &
 122 ampersand    &
 123 apos         ’
 124 apostrophe   ’
 125 approx       ≅
 126 asterisk     *
 127 atleast      ≥
 128 atmost       ≤
 129 backquote    `
 130 backslash    \
 131 backtick     `
 132 ball         ●
 133 bang         !
 134 base64       ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
 135 block        █
 136 bquo         `
 137 bquote       `
 138 bslash       \
 139 bullet       •
 140 caret        ^
 141 cdot         ·
 142 circle       ●
 143 cloud        ☁️
 144 colon        :
 145 comma        ,
 146 copyright    ©
 147 cquote       ”
 148 crap        💩
 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 esc          

 171 escape       

 172 excl         !
 173 exclam       !
 174 exclamation  !
 175 faces        😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷🙁🙂🙃🙄🧐👶🤓🤐🤑🤒🤔🤕🤗🤠🤡🤢🤣🤤🤥🤧🤨🤩🤪🤫🤬🤭🤮🤯
 176 file         📄
 177 folder       📂
 178 fullmoon     🌕
 179 fullstop     .
 180 geq          ≥
 181 greatereq    ≥
 182 grin         😀
 183 happy        😀
 184 heart        ❤️
 185 hellip       …
 186 hellipsis    …
 187 hole         ○
 188 hyphen       -
 189 laugh        😄
 190 laughter     😄
 191 leq          ≤
 192 less         <
 193 lesseq       ≤
 194 lightning    🌩️
 195 ldquo        “
 196 ldquote      “
 197 lol          😂
 198 lsquo        ‘
 199 lsquote      ‘
 200 mdash        —
 201 mdot         ·
 202 more         >
 203 music        🎵
 204 musicalnote  🎵
 205 ndash        –
 206 neq          ≠
 207 not          ¬
 208 note         🎵
 209 notequal     ≠
 210 notequals    ≠
 211 oquote       “
 212 party        🥳
 213 period       .
 214 pipe         |
 215 question     ?
 216 rain         🌧️
 217 rdquo        ”
 218 rdquote      ”
 219 rofl         🤣
 220 rsquo        ’
 221 rsquote      ’
 222 semicolon    ;
 223 sharp        #
 224 shit         💩
 225 slash        /
 226 slasher      ⧸
 227 slashier     ⧸
 228 smile        🙂
 229 smirk        😏
 230 snow         ❄️
 231 square       ■
 232 squo         '
 233 squote       '
 234 singlequote  '
 235 star         ⭐
 236 sun          ☀️
 237 tilde        ~
 238 vbar         |
 239 verbar       |
 240 vertbar      |
 241 verticalbar  |
 242 vellip       ⋮
 243 vellipsis    ⋮
 244 
 245 alpha    α
 246 beta     β
 247 delta    δ
 248 eps      ε
 249 epsilon  ε
 250 gamma    γ
 251 lambda   λ
 252 omega    ω
 253 pi       π
 254 sigma    σ
 255 tau      τ
 256 theta    θ
 257 
 258 bigsigma      Σ
 259 capsigma      Σ
 260 capitalsigma  Σ
 261 
 262 alphabet        abcdefghijklmnopqrstuvwxyz
 263 asciiletters    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
 264 digits          0123456789
 265 greek           αβγδεζηθικλμνξοπρστυφχψω
 266 hex             0123456789abcdef
 267 hexa            0123456789abcdef
 268 hexadec         0123456789abcdef
 269 hexadecimal     0123456789abcdef
 270 hexdigits       0123456789abcdefABCDEF
 271 inf             ∞
 272 infinity        ∞
 273 latin           abcdefghijklmnopqrstuvwxyz
 274 letters         abcdefghijklmnopqrstuvwxyz
 275 lower           abcdefghijklmnopqrstuvwxyz
 276 lowercase       abcdefghijklmnopqrstuvwxyz
 277 lowercasegreek  αβγδεζηθικλμνξοπρστυφχψω
 278 lowergreek      αβγδεζηθικλμνξοπρστυφχψω
 279 lowercasehex    0123456789abcdef
 280 lowerhex        0123456789abcdef
 281 math            +-×÷²³±
 282 midascii        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 283 octal           01234567
 284 octaldigits     01234567
 285 octdigits       01234567
 286 other           ✓✗✔❌
 287 plusminus       ±
 288 prod            Π
 289 product         Π
 290 punct           !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
 291 punctuation     !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
 292 sum             Σ
 293 summation       Σ
 294 upper           ABCDEFGHIJKLMNOPQRSTUVWXYZ
 295 uppercase       ABCDEFGHIJKLMNOPQRSTUVWXYZ
 296 uppercasegreek  ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
 297 uppergreek      ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
 298 uppercasehex    0123456789ABCDEF
 299 upperhex        0123456789ABCDEF
 300 visascii        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 301 visibleascii    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 302 
 303 cedilla      ç
 304 cedille      ç
 305 circumflexa  â
 306 circumflexe  ê
 307 circumflexi  î
 308 circumflexo  ô
 309 circumflexu  û
 310 frenchc      ç
 311 ene          ñ
 312 spanishn     ñ
 313 oslash       Ø
 314 oslashed     Ø
 315 ostroke      Ø
 316 ostroked     Ø
 317 slasho       Ø
 318 slashedo     Ø
 319 strokeo      Ø
 320 strokedo     Ø
 321 
 322 aud  A$
 323 brl  R$
 324 cad  C$
 325 chf  CHF
 326 clp  CLP
 327 cny  元
 328 czk  Kč
 329 dkk  DKK
 330 eur  €
 331 gbp  £
 332 hkd  HK$
 333 huf  Ft
 334 idr  Rp
 335 ils  ₪
 336 inr  ₹
 337 jpy  ¥
 338 krw  ₩
 339 mxn  MXN
 340 nok  NOK
 341 nzd  NZ$
 342 php  ₱
 343 pln  zł
 344 rub  ₽
 345 sar  ﷼
 346 sek  SEK
 347 sgd  S$
 348 thb  ฿
 349 try  ₺
 350 twd  NT$
 351 usd  $
 352 zar  R
 353 
 354 baht            ฿
 355 britishpound    £
 356 cent            ¢
 357 cents           ¢
 358 euro            €
 359 indianrupee     ₹
 360 koruna          Kč
 361 naira           ₦
 362 newshekel       ₪
 363 philippinepeso  ₱
 364 pound           £
 365 poundsterling   £
 366 renminbi        元
 367 riyal           ﷼
 368 ruble           ₽
 369 rupee           ₹
 370 saudiriyal      ﷼
 371 shekel          ₪
 372 sterling        £
 373 turkishlira     ₺
 374 won             ₩
 375 yen             ¥
 376 zloty           zł
 377 
 378 afghanistan    🇦🇫
 379 america        🇺🇸
 380 algeria        🇩🇿
 381 angola         🇦🇴
 382 arabia         🇸🇦
 383 arabemirates   🇦🇪
 384 argentina      🇦🇷
 385 australia      🇦🇺
 386 austria        🇦🇹
 387 bangladesh     🇧🇩
 388 belgium        🇧🇪
 389 brazil         🇧🇷
 390 britain        🇬🇧
 391 canada         🇨🇦
 392 chile          🇨🇱
 393 china          🇨🇳
 394 colombia       🇨🇴
 395 czechia        🇨🇿
 396 czechrepublic  🇨🇿
 397 denmark        🇩🇰
 398 dominicanrepublic  🇩🇴
 399 drc            🇨🇩
 400 drcongo        🇨🇩
 401 ecuador        🇪🇨
 402 egypt          🇪🇬
 403 emirates       🇦🇪
 404 england        🇬🇧
 405 ethiopia       🇪🇹
 406 europe         🇪🇺
 407 europeanunion  🇪🇺
 408 finland        🇫🇮
 409 france         🇫🇷
 410 germany        🇩🇪
 411 ghana          🇬🇭
 412 greatbritain   🇬🇧
 413 greece         🇬🇷
 414 holland        🇳🇱
 415 hungary        🇭🇺
 416 india          🇮🇳
 417 indonesia      🇮🇩
 418 iran           🇮🇷
 419 iraq           🇮🇶
 420 ireland        🇮🇪
 421 israel         🇮🇱
 422 italy          🇮🇹
 423 japan          🇯🇵
 424 kazakhstan     🇰🇿
 425 kenya          🇰🇪
 426 korea          🇰🇷
 427 kuwait         🇰🇼
 428 madagascar     🇲🇬
 429 malaysia       🇲🇾
 430 mexico         🇲🇽
 431 morocco        🇲🇦
 432 mozambique     🇲🇿
 433 myanmar        🇲🇲
 434 nepal          🇳🇵
 435 netherlands    🇳🇱
 436 newzealand     🇳🇿
 437 nigeria        🇳🇬
 438 northkorea     🇰🇵
 439 norway         🇳🇴
 440 pakistan       🇵🇰
 441 peru           🇵🇪
 442 philippines    🇵🇭
 443 poland         🇵🇱
 444 portugal       🇵🇹
 445 qatar          🇶🇦
 446 rok            🇰🇷
 447 romania        🇷🇴
 448 russia         🇷🇺
 449 saudiarabia    🇸🇦
 450 singapore      🇸🇬
 451 somalia        🇸🇴
 452 southafrica    🇿🇦
 453 southkorea     🇰🇷
 454 spain          🇪🇸
 455 srilanka       🇱🇰
 456 sudan          🇸🇩
 457 sweden         🇸🇪
 458 switzerland    🇨🇭
 459 taiwan         🇹🇼
 460 tanzania       🇹🇿
 461 thailand       🇹🇭
 462 turkey         🇹🇷
 463 uganda         🇺🇬
 464 ukraine        🇺🇦
 465 unitedarab     🇦🇪
 466 unitedarabemirates  🇦🇪
 467 unitedemirates 🇦🇪
 468 unitedkingdom  🇬🇧
 469 unitedstates   🇺🇸
 470 uzbekistan     🇺🇿
 471 yemen          🇾🇪
 472 venezuela      🇻🇪
 473 vietnam        🇻🇳
 474 
 475 af  🇦🇫
 476 ax  🇦🇽
 477 al  🇦🇱
 478 dz  🇩🇿
 479 as  🇦🇸
 480 ad  🇦🇩
 481 ao  🇦🇴
 482 ai  🇦🇮
 483 aq  🇦🇶
 484 ag  🇦🇬
 485 ar  🇦🇷
 486 am  🇦🇲
 487 aw  🇦🇼
 488 au  🇦🇺
 489 at  🇦🇹
 490 az  🇦🇿
 491 bs  🇧🇸
 492 bh  🇧🇭
 493 bd  🇧🇩
 494 bb  🇧🇧
 495 by  🇧🇾
 496 be  🇧🇪
 497 bz  🇧🇿
 498 bj  🇧🇯
 499 bm  🇧🇲
 500 bt  🇧🇹
 501 bo  🇧🇴
 502 bq  🇧🇶
 503 ba  🇧🇦
 504 bw  🇧🇼
 505 bv  🇧🇻
 506 br  🇧🇷
 507 io  🇮🇴
 508 bn  🇧🇳
 509 bg  🇧🇬
 510 bf  🇧🇫
 511 bi  🇧🇮
 512 cv  🇨🇻
 513 kh  🇰🇭
 514 cm  🇨🇲
 515 ca  🇨🇦
 516 ky  🇰🇾
 517 cf  🇨🇫
 518 td  🇹🇩
 519 cl  🇨🇱
 520 cn  🇨🇳
 521 cx  🇨🇽
 522 cc  🇨🇨
 523 co  🇨🇴
 524 km  🇰🇲
 525 cd  🇨🇩
 526 cg  🇨🇬
 527 ck  🇨🇰
 528 cr  🇨🇷
 529 ci  🇨🇮
 530 hr  🇭🇷
 531 cu  🇨🇺
 532 cw  🇨🇼
 533 cy  🇨🇾
 534 cz  🇨🇿
 535 dk  🇩🇰
 536 dj  🇩🇯
 537 dm  🇩🇲
 538 do  🇩🇴
 539 ec  🇪🇨
 540 eg  🇪🇬
 541 sv  🇸🇻
 542 gq  🇬🇶
 543 er  🇪🇷
 544 ee  🇪🇪
 545 sz  🇸🇿
 546 et  🇪🇹
 547 eu  🇪🇺
 548 fk  🇫🇰
 549 fo  🇫🇴
 550 fj  🇫🇯
 551 fi  🇫🇮
 552 fr  🇫🇷
 553 gf  🇬🇫
 554 pf  🇵🇫
 555 tf  🇹🇫
 556 ga  🇬🇦
 557 gm  🇬🇲
 558 ge  🇬🇪
 559 de  🇩🇪
 560 gh  🇬🇭
 561 gi  🇬🇮
 562 gr  🇬🇷
 563 gl  🇬🇱
 564 gd  🇬🇩
 565 gp  🇬🇵
 566 gu  🇬🇺
 567 gt  🇬🇹
 568 gg  🇬🇬
 569 gn  🇬🇳
 570 gw  🇬🇼
 571 gy  🇬🇾
 572 ht  🇭🇹
 573 hm  🇭🇲
 574 va  🇻🇦
 575 hn  🇭🇳
 576 hk  🇭🇰
 577 hu  🇭🇺
 578 is  🇮🇸
 579 in  🇮🇳
 580 id  🇮🇩
 581 ir  🇮🇷
 582 iq  🇮🇶
 583 ie  🇮🇪
 584 im  🇮🇲
 585 il  🇮🇱
 586 it  🇮🇹
 587 jm  🇯🇲
 588 jp  🇯🇵
 589 je  🇯🇪
 590 jo  🇯🇴
 591 kz  🇰🇿
 592 ke  🇰🇪
 593 ki  🇰🇮
 594 kp  🇰🇵
 595 kr  🇰🇷
 596 kw  🇰🇼
 597 kg  🇰🇬
 598 la  🇱🇦
 599 lv  🇱🇻
 600 lb  🇱🇧
 601 ls  🇱🇸
 602 lr  🇱🇷
 603 ly  🇱🇾
 604 li  🇱🇮
 605 lt  🇱🇹
 606 lu  🇱🇺
 607 mo  🇲🇴
 608 mk  🇲🇰
 609 mg  🇲🇬
 610 mw  🇲🇼
 611 my  🇲🇾
 612 mv  🇲🇻
 613 ml  🇲🇱
 614 mt  🇲🇹
 615 mh  🇲🇭
 616 mq  🇲🇶
 617 mr  🇲🇷
 618 mu  🇲🇺
 619 yt  🇾🇹
 620 mx  🇲🇽
 621 fm  🇫🇲
 622 md  🇲🇩
 623 mc  🇲🇨
 624 mn  🇲🇳
 625 me  🇲🇪
 626 ms  🇲🇸
 627 ma  🇲🇦
 628 mz  🇲🇿
 629 mm  🇲🇲
 630 na  🇳🇦
 631 nr  🇳🇷
 632 np  🇳🇵
 633 nl  🇳🇱
 634 nc  🇳🇨
 635 nz  🇳🇿
 636 ni  🇳🇮
 637 ne  🇳🇪
 638 ng  🇳🇬
 639 nu  🇳🇺
 640 nf  🇳🇫
 641 mp  🇲🇵
 642 no  🇳🇴
 643 om  🇴🇲
 644 pk  🇵🇰
 645 pw  🇵🇼
 646 ps  🇵🇸
 647 pa  🇵🇦
 648 pg  🇵🇬
 649 py  🇵🇾
 650 pe  🇵🇪
 651 ph  🇵🇭
 652 pn  🇵🇳
 653 pl  🇵🇱
 654 pt  🇵🇹
 655 pr  🇵🇷
 656 qa  🇶🇦
 657 re  🇷🇪
 658 ro  🇷🇴
 659 ru  🇷🇺
 660 rw  🇷🇼
 661 bl  🇧🇱
 662 sh  🇸🇭
 663 kn  🇰🇳
 664 lc  🇱🇨
 665 mf  🇲🇫
 666 pm  🇵🇲
 667 vc  🇻🇨
 668 ws  🇼🇸
 669 sm  🇸🇲
 670 st  🇸🇹
 671 sa  🇸🇦
 672 sn  🇸🇳
 673 rs  🇷🇸
 674 sc  🇸🇨
 675 sl  🇸🇱
 676 sg  🇸🇬
 677 sx  🇸🇽
 678 sk  🇸🇰
 679 si  🇸🇮
 680 sb  🇸🇧
 681 so  🇸🇴
 682 za  🇿🇦
 683 gs  🇬🇸
 684 ss  🇸🇸
 685 es  🇪🇸
 686 lk  🇱🇰
 687 sd  🇸🇩
 688 sr  🇸🇷
 689 sj  🇸🇯
 690 se  🇸🇪
 691 ch  🇨🇭
 692 sy  🇸🇾
 693 tw  🇹🇼
 694 tj  🇹🇯
 695 tz  🇹🇿
 696 th  🇹🇭
 697 tl  🇹🇱
 698 tg  🇹🇬
 699 tk  🇹🇰
 700 to  🇹🇴
 701 tt  🇹🇹
 702 tn  🇹🇳
 703 tr  🇹🇷
 704 tm  🇹🇲
 705 tc  🇹🇨
 706 tv  🇹🇻
 707 ug  🇺🇬
 708 ua  🇺🇦
 709 ae  🇦🇪
 710 gb  🇬🇧
 711 um  🇺🇲
 712 us  🇺🇸
 713 uy  🇺🇾
 714 uz  🇺🇿
 715 vu  🇻🇺
 716 ve  🇻🇪
 717 vn  🇻🇳
 718 vg  🇻🇬
 719 vi  🇻🇮
 720 wf  🇼🇫
 721 eh  🇪🇭
 722 ye  🇾🇪
 723 zm  🇿🇲
 724 zw  🇿🇼
 725 
 726 afg  🇦🇫
 727 ala  🇦🇽
 728 alb  🇦🇱
 729 dza  🇩🇿
 730 asm  🇦🇸
 731 and  🇦🇩
 732 ago  🇦🇴
 733 aia  🇦🇮
 734 ata  🇦🇶
 735 atg  🇦🇬
 736 arg  🇦🇷
 737 arm  🇦🇲
 738 abw  🇦🇼
 739 aus  🇦🇺
 740 aut  🇦🇹
 741 aze  🇦🇿
 742 bhs  🇧🇸
 743 bhr  🇧🇭
 744 bgd  🇧🇩
 745 brb  🇧🇧
 746 blr  🇧🇾
 747 bel  🇧🇪
 748 blz  🇧🇿
 749 ben  🇧🇯
 750 bmu  🇧🇲
 751 btn  🇧🇹
 752 bol  🇧🇴
 753 bes  🇧🇶
 754 bih  🇧🇦
 755 bwa  🇧🇼
 756 bvt  🇧🇻
 757 bra  🇧🇷
 758 iot  🇮🇴
 759 brn  🇧🇳
 760 bgr  🇧🇬
 761 bfa  🇧🇫
 762 bdi  🇧🇮
 763 cpv  🇨🇻
 764 khm  🇰🇭
 765 cmr  🇨🇲
 766 can  🇨🇦
 767 cym  🇰🇾
 768 caf  🇨🇫
 769 tcd  🇹🇩
 770 chl  🇨🇱
 771 chn  🇨🇳
 772 cxr  🇨🇽
 773 cck  🇨🇨
 774 col  🇨🇴
 775 com  🇰🇲
 776 cod  🇨🇩
 777 cog  🇨🇬
 778 cok  🇨🇰
 779 cri  🇨🇷
 780 civ  🇨🇮
 781 hrv  🇭🇷
 782 cub  🇨🇺
 783 cuw  🇨🇼
 784 cyp  🇨🇾
 785 cze  🇨🇿
 786 dnk  🇩🇰
 787 dji  🇩🇯
 788 dma  🇩🇲
 789 dom  🇩🇴
 790 ecu  🇪🇨
 791 egy  🇪🇬
 792 slv  🇸🇻
 793 gnq  🇬🇶
 794 eri  🇪🇷
 795 est  🇪🇪
 796 swz  🇸🇿
 797 eth  🇪🇹
 798 flk  🇫🇰
 799 fro  🇫🇴
 800 fji  🇫🇯
 801 fin  🇫🇮
 802 fra  🇫🇷
 803 guf  🇬🇫
 804 pyf  🇵🇫
 805 atf  🇹🇫
 806 gab  🇬🇦
 807 gmb  🇬🇲
 808 geo  🇬🇪
 809 deu  🇩🇪
 810 gha  🇬🇭
 811 gib  🇬🇮
 812 grc  🇬🇷
 813 grl  🇬🇱
 814 grd  🇬🇩
 815 glp  🇬🇵
 816 gum  🇬🇺
 817 gtm  🇬🇹
 818 ggy  🇬🇬
 819 gin  🇬🇳
 820 gnb  🇬🇼
 821 guy  🇬🇾
 822 hti  🇭🇹
 823 hmd  🇭🇲
 824 vat  🇻🇦
 825 hnd  🇭🇳
 826 hkg  🇭🇰
 827 hun  🇭🇺
 828 isl  🇮🇸
 829 ind  🇮🇳
 830 idn  🇮🇩
 831 irn  🇮🇷
 832 irq  🇮🇶
 833 irl  🇮🇪
 834 imn  🇮🇲
 835 isr  🇮🇱
 836 ita  🇮🇹
 837 jam  🇯🇲
 838 jpn  🇯🇵
 839 jey  🇯🇪
 840 jor  🇯🇴
 841 kaz  🇰🇿
 842 ken  🇰🇪
 843 kir  🇰🇮
 844 prk  🇰🇵
 845 kor  🇰🇷
 846 kwt  🇰🇼
 847 kgz  🇰🇬
 848 lao  🇱🇦
 849 lva  🇱🇻
 850 lbn  🇱🇧
 851 lso  🇱🇸
 852 lbr  🇱🇷
 853 lby  🇱🇾
 854 lie  🇱🇮
 855 ltu  🇱🇹
 856 lux  🇱🇺
 857 mac  🇲🇴
 858 mkd  🇲🇰
 859 mdg  🇲🇬
 860 mwi  🇲🇼
 861 mys  🇲🇾
 862 mdv  🇲🇻
 863 mli  🇲🇱
 864 mlt  🇲🇹
 865 mhl  🇲🇭
 866 mtq  🇲🇶
 867 mrt  🇲🇷
 868 mus  🇲🇺
 869 myt  🇾🇹
 870 mex  🇲🇽
 871 fsm  🇫🇲
 872 mda  🇲🇩
 873 mco  🇲🇨
 874 mng  🇲🇳
 875 mne  🇲🇪
 876 msr  🇲🇸
 877 mar  🇲🇦
 878 moz  🇲🇿
 879 mmr  🇲🇲
 880 nam  🇳🇦
 881 nru  🇳🇷
 882 npl  🇳🇵
 883 nld  🇳🇱
 884 ncl  🇳🇨
 885 nzl  🇳🇿
 886 nic  🇳🇮
 887 ner  🇳🇪
 888 nga  🇳🇬
 889 niu  🇳🇺
 890 nfk  🇳🇫
 891 mnp  🇲🇵
 892 nor  🇳🇴
 893 omn  🇴🇲
 894 pak  🇵🇰
 895 plw  🇵🇼
 896 pse  🇵🇸
 897 pan  🇵🇦
 898 png  🇵🇬
 899 pry  🇵🇾
 900 per  🇵🇪
 901 phl  🇵🇭
 902 pcn  🇵🇳
 903 pol  🇵🇱
 904 prt  🇵🇹
 905 pri  🇵🇷
 906 qat  🇶🇦
 907 reu  🇷🇪
 908 rou  🇷🇴
 909 rus  🇷🇺
 910 rwa  🇷🇼
 911 blm  🇧🇱
 912 shn  🇸🇭
 913 kna  🇰🇳
 914 lca  🇱🇨
 915 maf  🇲🇫
 916 spm  🇵🇲
 917 vct  🇻🇨
 918 wsm  🇼🇸
 919 smr  🇸🇲
 920 stp  🇸🇹
 921 sau  🇸🇦
 922 sen  🇸🇳
 923 srb  🇷🇸
 924 syc  🇸🇨
 925 sle  🇸🇱
 926 sgp  🇸🇬
 927 sxm  🇸🇽
 928 svk  🇸🇰
 929 svn  🇸🇮
 930 slb  🇸🇧
 931 som  🇸🇴
 932 zaf  🇿🇦
 933 sgs  🇬🇸
 934 ssd  🇸🇸
 935 esp  🇪🇸
 936 lka  🇱🇰
 937 sdn  🇸🇩
 938 sur  🇸🇷
 939 sjm  🇸🇯
 940 swe  🇸🇪
 941 che  🇨🇭
 942 syr  🇸🇾
 943 twn  🇹🇼
 944 tjk  🇹🇯
 945 tza  🇹🇿
 946 tha  🇹🇭
 947 tls  🇹🇱
 948 tgo  🇹🇬
 949 tkl  🇹🇰
 950 ton  🇹🇴
 951 tto  🇹🇹
 952 tun  🇹🇳
 953 tur  🇹🇷
 954 tkm  🇹🇲
 955 tca  🇹🇨
 956 tuv  🇹🇻
 957 uga  🇺🇬
 958 ukr  🇺🇦
 959 are  🇦🇪
 960 gbr  🇬🇧
 961 uae  🇦🇪
 962 umi  🇺🇲
 963 usa  🇺🇸
 964 ury  🇺🇾
 965 uzb  🇺🇿
 966 vut  🇻🇺
 967 ven  🇻🇪
 968 vnm  🇻🇳
 969 vgb  🇻🇬
 970 vir  🇻🇮
 971 wlf  🇼🇫
 972 esh  🇪🇭
 973 yem  🇾🇪
 974 zmb  🇿🇲
 975 zwe  🇿🇼
 976 ENDOFDATA