OpenSky App

Keith Vetter 2019-10-17: Here's an app that uses my OpenSky API package to display a table listing all flights currently in the air, including information such as call sign, position, speed, heading and distance from certain major cities.

For any individual flight, if you click its '?' icon it will bring up an Info Box with details about that flight. You can click on the location button to show that flight on Google Maps.

For all flights, you can search, sort and filter the data in various ways. For example, you can:

  • select all flights within 100 miles of San Francisco
  • remove all flights that are on the ground
  • select all flights originating in Germany
  • select all United Airlines flights
  • select all flights south of the equator

Once you've sorted and filtered the flight data, you can see all those flights in a browser. Clicking on 'Show first ## flights in browser' will create a web page that will display those flights using Google Maps and then launch your browser to view that file.

screen_opensky screen_opensky_gmaps


Jeff Smith 2019-10-25 : Below is an online demo using CloudTk. This demo runs the OpenSky App in an Alpine Linux Docker Container. It is a 21.8MB image which is made up of Alpine Linux + tclkit + OpenSky App + libx11 + libxft + fontconfig. It is run under a user account in the Container. The Container is restrictive with permissions for "Other" removed for "execute" and "read" for certain directories. Launching of the browser to show Google Maps has been disabled. Including one of the well known browsers increased the the Container size from 171MB(Midori) upto 384MB(Chromium). Lightweight browsers like Dillo and Netsurf don't have/or minimal Javascript. You may have to open the noVNC tab on the side of the Window to select Full Screen to display everything.


##+##########################################################################
#
# OpenSky.tcl -- Uses the OpenSky API module to download and display
# the live airplane position information. The GUI lets you sort and filter
# the data in various ways, and view it on Google Maps.
# by Keith Vetter 2019-10-04
#
# You can get airborne airplane position via the OpenSky API package
# at https://wiki.tcl-lang.org/page/OpenSky+API.
# It gets its data from https://opensky-network.org/api/states/all
#  see https://opensky-network.org/apidoc/rest.html
#
# TODO:
#  o rotate plane icon in gmaps--see https://stackoverflow.com/questions/6800613/rotating-image-marker-image-on-google-map-v3/28819037

package require Tk
package require getstring
package require json
package require http
package require tls
http::register https 443 [list ::tls::socket -tls1 1]

namespace eval ::OpenSky {
    variable TREE
    variable osDataRaw
    variable osData_unfiltered
    variable osData
    variable when

    variable Filters
    set Filters(active) ""

    variable FIELDS {icao24 callsign origin_country time_position
        last_contact longitude latitude geo_altitude on_ground velocity
        heading vertical_rate sensors baro_altitude squawk spi position_source bearing}
    variable SKIP_FIELDS {sensors spi position_source squawk}
    variable HOW_MANY 10
    variable SPINNER {0 120 {▖ ▘ ▝ ▗} widget}
    variable SPINNERS {
        {boxBounce 120 { ▖ ▘ ▝ ▗ }}
        {line 130 { - \\ | / }}
        {dots 80 { ⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏ }}
        {pipe 100 { ┤ ┘ ┴ └ ├ ┌ ┬ ┐ }}
    }

}

proc ::OpenSky::DoDisplay {} {
    variable TREE
    wm title . "OpenSky Demo"
    ::ttk::frame .all -padding .05i
    ::ttk::frame .titles
    ::ttk::frame .top
    ::ttk::frame .bottom
    pack .all -side top -fill both -expand 1
    pack .titles .top .bottom -side top -fill both -expand 1 -in .all

    ::ttk::label .titles.title -text "OpenSky Demo" -font {Helvetica 48 bold} -anchor c \
        -foreground [::tk::Darken dodgerblue 70]
    ::ttk::label .titles.subtitle -text "Live Real-World Air Traffic Control Data" \
        -font {Helvetica 32 bold} -anchor c -foreground dodgerblue
    ::ttk::label .logo_l -image ::img::logo_rev -padding .1i
    ::ttk::label .logo_r -image ::img::logo -padding .1i

    grid .logo_l .titles.title .logo_r -in .titles -padx .1i
    grid ^       .titles.subtitle ^ -in .titles
    grid columnconfigure .titles 1 -weight 1

    # Create and configure our ButtonListBox
    set headers [lmap field $::OpenSky::FIELDS {
        lmap word [split $field "_"] {
            if {$word in {icao24 spi}} {
                string toupper $word
            } else {
                string totitle $word
            }}}]
    set TREE [::ButtonListBox::Create .top -headers $::OpenSky::FIELDS -prettyHeaders $headers \
               -displayColumns [List- $::OpenSky::FIELDS $::OpenSky::SKIP_FIELDS] \
               -widths $headers -banding 1]
    $TREE config -height 30
    $TREE column 17 -anchor w -width 300
    bind $TREE <<ButtonListBoxPress>> [list ::OpenSky::ButtonPressHandler %d]

    # Assemble the stats and filters section
    ::OpenSky::DoDisplayStats .bottom

    button .bottom.refresh -text "Reload Air Traffic\nControl Data" \
        -command [list ::OpenSky::DownloadFromOpensky] \
        -padx .5i -pady .5i -font {Helvetica 16 bold}

    grid .bottom.refresh -row 0 -column 10
    grid columnconfigure .bottom 10 -weight 1

    button ._about -image ::tk::icons::question -command ::OpenSky::About
    place ._about -in . -anchor se -relx 1 -rely 1 -x -.1i -y -.1i
    bind .logo_l <1> ::OpenSky::About
    bind .logo_r <1> ::OpenSky::About

    return $TREE
}
proc ::OpenSky::DoDisplayStats {w} {
    # Add widgets to show statistics
    set ::STATS(when) [clock format [clock seconds]]

    set frameRelief ridge

    set flights $w.flights
    ::ttk::frame $flights -padding .1i -relief $frameRelief
    set kv {"Total flights" all "Flights in the air" flying "Northern Hemisphere" north \
                "Eastern Hemisphere" east}
    ::ttk::label $flights.when -textvariable STATS(when) -font {Helvetica 16 bold}
    grid $flights.when -
    foreach {title var} $kv {
        set widget1 $flights.1_$var
        set widget2 $flights.2_$var
        ::ttk::label $widget1 -text $title
        ::ttk::label $widget2 -textvariable STATS(cnt,$var) -foreground red -anchor e -width 5
        grid $widget1 $widget2 -sticky nw
    }
    ::ttk::button $flights.search -text Search -command ::OpenSky::Search
    grid $flights.search - -pady {.1i 0}

    ::ttk::label $flights.active -textvariable ::OpenSky::Filters(active) -width 30
    grid $flights.active - -sticky ew -pady {.1i 0}

    set origins $w.origins
    ::ttk::frame $origins -padding .1i -relief $frameRelief
    ::ttk::label $origins.title -text "Top $::OpenSky::HOW_MANY Origins" \
        -font {Helvetica 16 bold}
    grid $origins.title - -sticky w
    foreach idx [Range 0 [expr {2*$::OpenSky::HOW_MANY}] 2] {
        ::ttk::button $origins.who_$idx -textvariable STATS(origin,$idx) -width 15 \
            -command [list ::OpenSky::Doit Origin $idx]
        ::ttk::label $origins.cnt_$idx -textvariable STATS(origin,cnt,$idx) \
            -foreground red -anchor e -width 5
        grid $origins.who_$idx $origins.cnt_$idx -sticky new
    }
    set airlines $w.airlines
    ::ttk::frame $airlines -padding .1i -relief $frameRelief
    ::ttk::label $airlines.title -text "Top $::OpenSky::HOW_MANY Airlines" \
        -font {Helvetica 16 bold}
    grid $airlines.title - -sticky w

    foreach idx [Range 0 [expr {2*$::OpenSky::HOW_MANY}] 2] {
        # ::ttk::label $airlines.who_$idx -textvariable STATS(airline,$idx) -width 30
        ::ttk::button $airlines.who_$idx -textvariable STATS(airline,$idx) -width 30 \
            -command [list ::OpenSky::Doit Callsign $idx]
        ::ttk::label $airlines.cnt_$idx -textvariable STATS(airline,cnt,$idx) -foreground red \
            -anchor e -width 5
        grid $airlines.who_$idx $airlines.cnt_$idx -sticky new
    }

    set filters $w.filters
    ::ttk::frame $filters -padding .1i -relief $frameRelief
    ::ttk::label $filters.title -text "Filters" -font {Helvetica 16 bold}
    grid $filters.title - -sticky w
    ::OpenSky::DoDisplayFilters $filters

    grid $flights $origins $airlines $filters -sticky ns
}
proc ::OpenSky::DoDisplayFilters {w} {
    set ::OpenSky::Filters(miles) 500
    set ::OpenSky::Filters(city) "San Francisco"
    set ::OpenSky::Filters(dir) north
    set ::OpenSky::Filters(lat,lon) 0
    set ::OpenSky::Filters(bounds,north) 0\xb0
    set ::OpenSky::Filters(bounds,south) 0\xb0
    set ::OpenSky::Filters(bounds,east) 0\xb0
    set ::OpenSky::Filters(bounds,west) 0\xb0
    set ::OpenSky::Filters(gmaps,cnt) 50
    set ::OpenSky::Filters(gmaps,fnames) {}
    array unset ::OpenSky::Filters checkmarks,*

    set cities [::Cities::KnownCities]
    set init {
        Nulls "Remove flights with missing location"
        Landed "Remove flights already landed"
        NearCity ""
        north ""
        south ""
        east ""
        west ""
        gmaps ""
    }
    foreach {id txt} $init {
        if {$txt eq ""} {
            ::ttk::frame $w.l_$id
        } else {
            ::ttk::label $w.l_$id -text $txt -anchor w
        }
        ::ttk::button $w.b_$id -text "Go" -command [list ::OpenSky::Doit $id]
        ::ttk::label $w.c_$id -image ::img::nocheck
        set ::OpenSky::Filters(checkmark,$id) $w.c_$id
        grid $w.l_$id $w.b_$id $w.c_$id -sticky ew
    }
    ::ttk::button $w.reset -text "Reset Filters" -command [list ::OpenSky::Doit Reset]
    grid $w.reset -columnspan 2 -pady .2i

    # Fill in within filter
    set within $w.l_NearCity
    ::ttk::label $within.l1 -text "Within"
    tk_optionMenu $within.miles ::OpenSky::Filters(miles) 10 25 50 100 250 500 1000 2000
    $within.miles config -width 5
    ::ttk::label $within.of -text "miles of"
    tk_optionMenu $within.city ::OpenSky::Filters(city) {*}$cities
    $within.city config -width 14
    grid $within.l1 $within.miles $within.of $within.city

    # Fill in bounds filter
    foreach dir {north south east west} {
        set bounds $w.l_$dir
        ::ttk::label $bounds.prefix -text "Keep flights $dir of"
        tk_optionMenu $bounds.latlon ::OpenSky::Filters(bounds,$dir) \
            {*}[lmap num [Range -80 90 10] {string cat $num \xb0}]
        grid $bounds.prefix $bounds.latlon -sticky w
    }

    # Fill in view on Google maps
    unset ::OpenSky::Filters(checkmark,$id)
    set gmaps $w.l_gmaps
    ::ttk::label $gmaps.l1 -text "Show first"
    tk_optionMenu $gmaps.count ::OpenSky::Filters(gmaps,cnt) \
        1 10 50 100 200 500 1,000 2,000 5,000 10,000 15,000 20,000
    $gmaps.count config -width 7
    ::ttk::label $gmaps.l2 -text "flights in browser"
    grid $gmaps.l1 $gmaps.count $gmaps.l2 -sticky w
    $w.b_gmaps config -text "Launch"

    # Move gmaps below the Reset button
    set resetRow [dict get [grid info $w.reset] -row]
    grid config $w.l_gmaps -row [expr {$resetRow + 1}]
    grid config $w.b_gmaps -row [expr {$resetRow + 1}]
    grid config $w.c_gmaps -row [expr {$resetRow + 1}]
    grid rowconfig $w $resetRow -weight 1
}

proc ::OpenSky::DownloadFromOpensky {} {
    # Gets data, displays it and computes some stats about it
    variable osData

    set start [clock seconds]
    ::OpenSky::Nocheck
    ::OpenSky::GetOpenskyData
    ::OpenSky::ShowData

    set duration [expr {[clock seconds] - $start}]
    set msg "downloaded [Plural $osData flight] in [Plural $duration second]"
    ::OpenSky::AddFiltering $msg
}

proc ::OpenSky::ShowData {} {
    variable osData
    variable TREE

    ::ButtonListBox::AddManyItems $TREE $osData
    ::OpenSky::ComputeStats
    ::ButtonListBox::ResetSort $TREE
    $TREE yview moveto 0
}
proc ::OpenSky::GetOpenskyData {} {
    variable osDataRaw
    variable osData_unfiltered
    variable osData
    variable when

    destroy .banner
    label .banner -text "Loading OpenSky Data X" -font {Helvetica 48 bold} \
        -padx .2i -pady .2i -bg red -bd 6 -relief solid
    place .banner -in . -relx .5 -rely .2 -anchor n
    ::OpenSky::Spinner .banner

    set osDataRaw [::OpenSkyApi::GetStates -wait]
    destroy .banner

    set osData [dict get $osDataRaw states]
    set when [dict get $osDataRaw time]
    ::OpenSky::MassageOpenskyData
    set osData_unfiltered $osData
    return $osData
}

proc ::OpenSky::ComputeStats {} {
    variable osData
    variable when
    global STATS
    unset -nocomplain STATS
    unset -nocomplain ORIGINS
    unset -nocomplain AIRLINES

    set STATS(when) [clock format $when]
    set STATS(cnt,all) [llength $osData]
    set STATS(cnt,flying) 0
    set STATS(cnt,north) 0
    set STATS(cnt,east) 0
    foreach datum $osData {
        lassign $datum icao24 callsign origin_country time_position last_contact \
            longitude latitude geo_altitude on_ground velocity heading vertical_rate \
            sensors baro_altitude squawk spi position_source
        incr ORIGINS($origin_country)
        incr STATS(cnt,flying) [expr {$on_ground ? 0 : 1}]
        incr STATS(cnt,north) [expr {$latitude > 0 ? 1 : 0}]
        incr STATS(cnt,east) [expr {$longitude > 0 ? 1 : 0}]
        lassign [::OpenSky::LookupAirline $callsign] airline
        regexp {^[a-zA-Z]*} $callsign airline
        if {[string length $airline] == 3} { incr AIRLINES($airline) }
    }
    foreach arr [array names STATS cnt,*] {
        set STATS($arr) [Comma $STATS($arr)]
    }

    set STATS(origins) [lsort -integer -index 1 -stride 2 -decreasing [array get ORIGINS]]
    set STATS(airlines) [lsort -integer -index 1 -stride 2 -decreasing [array get AIRLINES]]

    # Get our top N origins and airlines
    foreach idx [Range 0 [expr {2*$::OpenSky::HOW_MANY}] 2] {
        set STATS(origin,$idx) [lindex $STATS(origins) $idx]
        set STATS(origin,cnt,$idx) [Comma [lindex $STATS(origins) $idx+1]]

        set STATS(airline,$idx) [::OpenSky::PrettyCallsign [lindex $STATS(airlines) $idx]]
        set STATS(airline,cnt,$idx) [Comma [lindex $STATS(airlines) $idx+1]]
    }
}

proc ::OpenSky::MassageOpenskyData {} {
    # Turn absolute time for "Time Position" and "Last Contact" into deltas
    # Add ## miles NE of city, country

    variable osData
    variable when

    for {set row 0} {$row < [llength $osData]} {incr row} {
        foreach idx {3 4} {
            set thisTime [lindex $osData $row $idx]
            if {$thisTime ne "null"} {
                set delta [expr {$when - $thisTime}]
                set pretty [::OpenSky::PrettyDuration $delta]
                lset osData $row $idx $pretty
            }
        }
        set lon [lindex $osData $row 5]
        set lat [lindex $osData $row 6]

        set closest [::Cities::ClosestCity $lat $lon]
        lassign $closest distance bearing . . city country .
        set prettyBearing [lindex [::OpenSky::PrettyHeading $bearing] end]
        set datum "$distance miles $prettyBearing of $city, $country"
        lset osData $row 17 $datum
    }
}
proc ::OpenSky::Doit {cmd args} {
    variable Filters
    variable osData

    if {[info exists Filters(checkmark,$cmd)]} {
        $Filters(checkmark,$cmd) config -image ::img::checkmark
        update idletasks
    }

    ::OpenSky::UpdateDataFromTable

    set what ""
    if {$cmd in {Undo Nulls Landed Reset}} {
        set what [::OpenSky::$cmd]
    } elseif {$cmd eq "NearCity"} {
        set what [::OpenSky::NearCity ? ?]
    } elseif {$cmd in {north south east west}} {
        set what [::OpenSky::Bounds $cmd ?]
    } elseif {$cmd eq "Origin"} {
        set what [::OpenSky::Origin [lindex $args 0]]
    } elseif {$cmd eq "Callsign"} {
        set what [::OpenSky::Airline [lindex $args 0]]
    } elseif {$cmd eq "Location"} {
        LaunchBrowser [lindex $args 0]
    } elseif {$cmd eq "gmaps"} {
        set what [::OpenSky::ShowGMaps]
    } else {
        error "Unknown command $cmd"
    }
    ::OpenSky::AddFiltering $what
}
proc ::OpenSky::UpdateDataFromTable {} {
    variable osData
    variable TREE

    set osData [lmap item [$TREE children {}] { return -level 0 [$TREE item $item -values] }]
}
proc ::OpenSky::AddFiltering {what} {
    variable Filters
    if {$what eq "" || [string first $what $Filters(active)] > -1} return
    if {$Filters(active) eq ""} {
        set Filters(active) "Active filters"
    }
    append Filters(active) "\n  o $what"
}
proc ::OpenSky::Nocheck {} {
    # Turn off all checkmarks next to filter options
    set ::OpenSky::Filters(active) ""
    foreach arr [array names ::OpenSky::Filters checkmark,*] {
        $::OpenSky::Filters($arr) config -image ::img::nocheck
    }
}
proc ::OpenSky::Reset {} {
    variable osData
    variable osData_unfiltered
    set osData $osData_unfiltered

    ::OpenSky::DeleteTempFiles
    ::OpenSky::Nocheck
    ::OpenSky::ShowData
    return
}
proc ::OpenSky::Bounds {which value} {
    variable osData
    variable Filters

    if {$value eq "?"} {set value [string trimright $Filters(bounds,$which) \xb0]}
    set idx [expr {$which in {east west} ? 5 : 6}]
    set op [expr {$which in {north east} ? ">=" : "<"}]

    set result {}
    foreach row $osData {
        set actual [lindex $row $idx]
        if {$actual ne "null" &&[::tcl::mathop::$op $actual $value]} {
            lappend result $row
        }
    }
    set osData $result
    ::OpenSky::ShowData
    return "$which of $value\xb0"
}
proc ::OpenSky::Nulls {} {
    variable osData

    set osData [lmap row $osData {
        lassign $row . . . . . lon lat
        if {$lat eq "null" || $lon eq "null"} continue
        return -level 0 $row
    }]
    ::OpenSky::ShowData
    return "remove missing location"
}
proc ::OpenSky::Landed {} {
    variable osData

    set osData [lmap row $osData {
        lassign $row . . . . . lon lat . onGround
        if {$onGround ne "false"} continue
        return -level 0 $row
    }]
    ::OpenSky::ShowData
    return "remove already landed"
}
proc ::OpenSky::NearCity {within whichCity} {
    # Filter out flights furthen than within from whichCity, also update
    # the bearing field to be relative to whichCity
    variable Filters
    variable osData
    variable TREE

    if {$within eq "?"} { set within $Filters(miles) }
    if {$whichCity eq "?"} { set whichCity $Filters(city) }

    set newOsData {}
    foreach row $osData {
        lassign $row . . . . . lon lat
        if {$lat eq "null" || $lon eq "null"} continue

        set closest [::Cities::ClosestCity $lat $lon $whichCity]
        lassign $closest distance bearing . . city country .
        if {$distance > $within} continue

        set prettyBearing [lindex [::OpenSky::PrettyHeading $bearing] end]
        set datum "$distance miles $prettyBearing of $city, $country"
        lset row 17 $datum
        lappend newOsData $row
    }
    set osData $newOsData
    ::OpenSky::ShowData
    ::ButtonListBox::_SortBy $TREE bearing 0
    return "within $within miles of $whichCity"
}
proc ::OpenSky::Origin {idx} {
    variable osData
    variable Filters
    global STATS

    if {[string is integer -strict $idx]} {
        set origin $STATS(origin,$idx)
    } else {
        set origin $idx
    }
    if {$origin eq ""} return

    set osData [lmap row $osData {
        if {[lindex $row 2] ne $origin} continue
        return -level 0 $row
    }]
    ::OpenSky::ShowData
    return "originating from $origin"
}
proc ::OpenSky::Airline {idx} {
    _GrabArgs
    variable osData
    variable Filters
    global STATS

    if {[string is integer -strict $idx]} {
        set airline [string range $STATS(airline,$idx) 0 2]
    } else {
        set airline [string range $idx 0 2]
    }
    if {$airline eq ""} return

    set osData [lmap row $osData {
        if {[string match ${airline}* [lindex $row 1]] == 0} continue
        return -level 0 $row
    }]
    ::OpenSky::ShowData
    return "airline $airline"
}
proc ::OpenSky::DeleteTempFiles {} {
    # Clean up files created by gmap
    variable Filters

    foreach fname $Filters(gmaps,fnames) {
        file delete $fname
    }
    set Filters(gmaps,fnames) {}
}

proc ::OpenSky::ButtonPressHandler {d} {
    set ::d $d
    array set D $d
    set closest [Cities::ClosestCity $D(latitude) $D(longitude)]
    lassign $closest distance bearing . . city country .

    set prettyLatLon [join [::OpenSky::PrettyLat $D(latitude) $D(longitude)] " "]
    set prettyLocation [string cat $prettyLatLon \n $D(bearing)]
    set url "https://www.google.com/maps/search/$D(latitude)%20$D(longitude)"

    set lv [list Flight $D(icao24) . \
                Callsign [::OpenSky::PrettyCallsign $D(callsign)] $D(callsign) \
                Origin $D(origin_country) $D(origin_country) \
                Location $prettyLocation $url \
                Heading [::OpenSky::PrettyHeadingVelocity $D(heading) $D(velocity)] .]

    destroy .show
    toplevel .show
    wm title .show "Flight Info $D(icao24)"
    wm transient .show .
    pack [::ttk::frame .show.t -relief solid -padding .2in ] -fill both -expand 1 -side top
    ::ttk::label .show.logo -image ::img::logo

    set logo .show.logo
    foreach {label value cmd} $lv {
        set widget1 .show.[string tolower $label]_key
        set widget2 .show.[string tolower $label]_value
        ::ttk::label $widget1 -text $label
        if {$label in {Callsign Origin Location}} {
            ::ttk::button $widget2 -text $value -command [list ::OpenSky::Doit $label $cmd]
            set ::value $value
        } else {
            ::ttk::label $widget2 -text $value -foreground red
        }
        grid $logo $widget1 $widget2 -in .show.t -sticky nw
        set logo "^"
    }

    ::ttk::frame .show.bottom
    ::ttk::button .show.exit -text Close -command [list destroy .show]
    grid x .show.bottom - -sticky ew -in .show.t
    pack .show.exit -side left -in .show.bottom -expand 1 -fill y -pady {.2i .1i}
    ::OpenSky::PlaceWindow . .show
}
proc ::OpenSky::PlaceWindow {parent child} {
    scan [wm geom $parent] "%dx%d+%d+%d" width height x0 y0

    set x [expr {$x0 + $width / 2}]
    set y [expr {$y0 + $height / 4}]

    set cwidth [winfo reqwidth $child]
    set cheight [winfo reqheight $child]

    set x1 [expr {$x - $cwidth / 2}]
    set y1 [expr {$y - $cheight / 2}]

    wm geom $child +${x1}+${y1}
}

proc ::OpenSky::PrettyHeadingVelocity {heading velocity} {
    return [string cat [lindex [::OpenSky::PrettyHeading $heading] 1] \
                " at " [::OpenSky::PrettyVelocity $velocity]]
}
proc ::OpenSky::PrettyHeading {heading} {
    if {! [string is double -strict $heading]} { return "??\xb0 ??" }
    set heading [expr {round($heading)}]
    while {$heading < 0} { incr heading 360 }

    set H {N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW N}

    set nearest 999
    for {set i 0} {$i < [llength $H]} {incr i} {
        set degree [expr {$i * 360.0 / ([llength $H] - 1)}]
        set bearing [lindex $H $i]
        set diff [expr {abs($degree - $heading)}]
        if {$diff < $nearest} {
            set nearest $diff
            set who $bearing
        }
    }
    return [format "%d\xb0 %s" $heading $who]
}
proc ::OpenSky::PrettyVelocity {velocity} {
    set mph [expr {round($velocity * 2.2369)}]
    return [format "%d m/s \u2014 %d mph" [expr {round($velocity)}] $mph]
}
proc ::OpenSky::PrettyCallsign {callsign} {
    set callsign [string trim $callsign]
    lassign [::OpenSky::LookupAirline $callsign] . company country
    if {$company eq ""} { return $callsign }

    if {[string length $company] > 30} {
        set company "[string range $company 0 30]..."
    }
    return "$callsign -- $company, $country"
}

proc ::OpenSky::PrettyLat {lat lon} {
    lassign [int2lat $lat] lat1 lat2 lat3
    lassign [int2lat $lon] lon1 lon2 lon3

    set lat "$lat1\xB0 $lat2' $lat3\x22 N"
    set lon "$lon1\xB0 $lon2' $lon3\x22 W"
    return [list $lat $lon]
}
proc ::OpenSky::PrettyDuration {sec} {
    if {$sec < 3600} {
        set time [clock format $sec -gmt 1 -format %M:%S]
    } elseif {$sec < 3600 * 24} {
        set time [clock format $sec -gmt 1 -format %H:%M:%S]
    } else {
        set days [expr {$sec / (3600*24)}]
        set sec [expr {$sec % (3600*24)}]
        if {$days == 1} {
            set time "1 day [clock format $sec -gmt 1 -format %H:%M:%S]"
        } else {
            set time "$days days [clock format $sec -gmt 1 -format %H:%M:%S]"
        }
    }
    return $time
}
proc int2lat {lat} {
    if {! [string is double -strict $lat]} {
        return [list ?? ?? ??]
    }
    set deg [expr {int($lat)}]
    set lat [expr {($lat - $deg)*60}]
    set min [expr {int($lat)}]
    set sec [format "%.2f" [expr {($lat - $min)*60}]]
    regsub {(.)\.?0*$} $sec {\1} sec
    return [list $deg $min $sec]
}

proc List- {minuend subtrahend} {
    set difference {}
    foreach item $minuend {
        if {$item ni $subtrahend} {
            lappend difference $item
        }
    }
    return $difference
}
proc Plural {what singular {plural ""}} {
    set n [expr {[string is integer -strict $what] ? $what : [llength $what]}]
    if {$n == 1} { return "1 $singular" }
    if {$plural eq ""} { set plural "${singular}s"}
    return "[Comma $n] $plural"
}
proc Comma {num} {
    while {[regsub {^([-+]?[0-9]+)([0-9][0-9][0-9])} $num {\1,\2} num]} {}
    return $num
}
proc Range {lo hi {step 1}} {
    set result {}
    for {set i $lo} {$i < $hi} {incr i $step} {
        lappend result $i
    }
    return $result
}
proc Filter {l match} {
    return [lmap item $l { if {$item eq $match} continue ; return -level 0 $item}]
}
proc LaunchBrowser {url} {
    global tcl_platform

    if {$tcl_platform(platform) eq "windows"} {
        # first argument to "start" is "window title", which is not used here
        set command [list {*}[auto_execok start] {}]
        # (older) Windows shell would start a new command after &, so shell escape it with ^
        #set url [string map {& ^&} $url]
        # but 7+ don't seem to (?) so this nonsense is gone
        if {[file isdirectory $url]} {
            # if there is an executable named eg ${url}.exe, avoid opening that instead:
            set url [file nativename [file join $url .]]
        }
    } elseif {$tcl_platform(os) eq "Darwin"} {
        # It *is* generally a mistake to use $tcl_platform(os) to select functionality,
        # particularly in comparison to $tcl_platform(platform).  For now, let's just
        # regard it as a stylistic variation subject to debate.
        set command [list open]
    } else {
        set command [list xdg-open]
    }
    exec {*}$command $url &
}

proc ::OpenSky::LookupAirline {callsign} {
    if {[info exists ::AIRLINES($callsign)]} { return [concat $callsign $::AIRLINES($callsign)] }
    if {[regexp {^([a-zA-Z]{3})\d} $callsign . airline]} {
        if {[info exists ::AIRLINES($airline)]} { return [concat $airline $::AIRLINES($airline)] }
    }
    return [list {} {} {}]
}

# https://www.wikiwand.com/en/List_of_airline_codes
# https://www.faa.gov/documentlibrary/media/order/7340.2g_chg_1_dtd_4-27-17.pdf
array set AIRLINES {
    AAA {"Ansett Australia" Australia}          AAB {"Abelag Aviation" Belgium}
    AAC {"Army Air Corps" "United Kingdom"}     AAD {"Mann Air Ltd" "United Kingdom"}
    AAE {"Western Express Air" "United States"} AAF {"Aigle Azur" France}
    AAG {"Air Atlantique" "United Kingdom"}     AAH {"Aloha Airlines" "United States"}
    AAI {"Air Aurora" "United States"}          AAJ {"Alfa Airlines" Sudan}
    AAK {"Alaska Island Air" "United States"}   AAL {"American Airlines" "United States"}
    AAM {"Aim Air" Moldova}
    AAN {"Oasis International AirlinesNow assigned to Boliviana de Aviacion (BoA)" Spain}
    AAO {"Atlantis Airlines (USA)" "United States"}    AAP {"Arabasco Air Services" "Saudi Arabia"}
    AAQ {Copterline Finland}                    AAR {"Americ Air" "United States"}
    AAS {"Sunshine Airlines" }                  AAT {"Austrian Airtransport" Austria}
    AAU {"Australia Asia Airlines" Australia}    AAV {"Aly Aviation" "United Kingdom"}
    AAW {"Almeta Air" Austria}                  AAX {"Advance Aviation" Thailand}
    AAY {"Allegiant Air" "United States"}       AAZ {"Asian Air" Kyrgyzstan}
    ABA {Aero-Beta Germany}
    ABB {"African Business and Transportations" "Democratic Republic of the Congo"}
    ABD {"Air Atlanta Icelandic" Iceland}       ABE {"Arberia Airlines" Albania}
    ABF {"Aerial Oy" Finland}                   ABG {Abakan-Avia Russia}
    ABH {"Hokuriki-Koukuu Company" Japan}
    ABI {"Antigua and Barbuda Airways" "Antigua and Barbuda"}    ABJ {"Abaeté Linhas Aéreas" Brazil}
    ABK {"Alberta Citylink" Canada}             ABL {"Air Busan" "Republic of Korea"}
    ABM {"Aero Albatros" Spain}                 ABN {"Air Fret Senegal" Senegal}
    ABO {"APSA Colombia" Colombia}              ABP {"ABS Jets" "Czech Republic"}
    ABQ {Airblue Pakistan}                      ABR {"Air Bridge Carriers" "United Kingdom"}
    ABS {"Transwest Air" Canada}                ABT {Ambeo "United Kingdom"}
    ABU {"Eagle Aviation Services" "United States"}    ABV {"Antrak Air" Ghana}
    ABW {"AirBridge Cargo" Russia}              ABX {"ABX Air" "United States"}
    ABY {"Air Arabia" "United Arab Emirates"}   ABZ {"ATA Brasil" Brazil}
    ACA {"Air Canada" Canada}                   ACB {"African Cargo Services" Kenya}
    ACC {"Avcard Services" "United Kingdom"}    ACD {"Academy Airlines" "United States"}
    ACE {"Race Cargo Airlines" Ghana}
    ACF {"Centro de Formación Aeronáutica de Canarias" Spain}
    ACG {"Air Partner" "United Kingdom"}        ACH {"Air Cargo Plus" Liberia}
    ACI {"Air Caledonie International" France}  ACJ {Avicon Kenya}
    ACK {"Nantucket Airlines" "United States"}  ACL {"Itali Airlines" Italy}
    ACM {"Air Caledonia" Canada}                ACN {"Central American Airlines" Nicaragua}
    ACO {"Aero Comondu" Mexico}                 ACP {"Astral Aviation" Kenya}
    ACQ {"Nuevo Continente" Peru}
    ACR {"Aerocenter, Escuela de Formación de Pilotos Privados de Avión" Spain}
    ACS {"Aircraft Sales and Services" Pakistan}    ACT {"Flight Line" "United States"}
    ACU {"Air Cargo Transportation System" Kenya}    ACV {"Air Charter Service" "United Kingdom"}
    ACW {"Royal Air Force" "United Kingdom"}    ACX {"Air Charters" Canada}
    ACY {"Atlas Cargo Airlines" Morocco}        ADA {"Airservices Australia" Australia}
    ADB {"Antonov Airlines" Ukraine}            ADC {"AD Astra Executive Charter" Poland}
    ADD {"Advanced Air Co." Japan}              ADE {"Ada Air" Albania}
    ADF {"Ade, Aviación Deportiva" Spain}       ADG {"Aerea Flying Training Organization" Spain}
    ADI {"Audeli Air" Spain}                    ADJ {"Abidjan Air Cargo" "Côte d'Ivoire"}
    ADK {"ADC Airlines" Nigeria}                ADL {"Aero Dynamics" "United Kingdom"}
    ADM {Dominair "Dominican Republic"}         ADN {Aero-Dienst Germany}
    ADO {AIRDO Japan}                           ADP {Aerodiplomatic Mexico}
    ADQ {"Avion Taxi" Canada}                   ADR {"Adria Airways" Slovenia}
    ADS {"Aviones de Sonora" Mexico}
    ADT {"Arrendaminetos y Transportes Turisticos" Mexico}    ADU {"Airdeal Oy" Finland}
    ADV {"Advanced Flight Training" "United Kingdom"}    ADW {"ADC Airways" Lebanon}
    ADX {"Anderson Aviation" "United States"}    ADY {Aerodyne "United States"}
    ADZ {"Avio Delta" Bulgaria}                 AEA {"Air Europa" Spain}
    AEB {"Aero Benin" Benin}                    AEC {Aerocésar Colombia}
    AED {Aernord Italy}                         AEE {"Aegean Airlines" Greece}
    AEF {Aerea Spain}                           AEG {"Air East" Slovakia}
    AEH {Aviaexpress Hungary}                   AEI {"Air Italy Polska" Poland}
    AEJ {"Air Express" Tanzania}                AEK {"Aero Costa Rica" "Costa Rica"}
    AEL {"Air Europe Italy" Italy}              AEM {"Aero Madrid" Spain}
    AEN {"Aeroland Airways" Greece}
    AEO {"Aeroservicios Ejecutivos Del Occidente" Mexico}
    AEP {"Aerotec Escuela de Pilotos" Spain}    AEQ {"Air Express" Sweden}
    AER {"Alaska Central Express" "United States"}    AES {"Aerosur Paraguay" Paraguay}
    AET {Aerotime "United Kingdom"}             AEU {Astraeus "United Kingdom"}
    AEV {Aeroventas Mexico}                     AEW {"Aerosvit Airlines" Ukraine}
    AEX {"Airway Express" "United States"}      AEY {"Air Italy" Italy}
    AEZ {"Aerial Transit" "United States"}      AFA {"Alfa Air" "Czech Republic"}
    AFB {"American Falcon" Argentina}           AFC {"African West Air" Senegal}
    AFD {"Panorama Flight Service" "United States"}    AFE {"Airfast Indonesia" Indonesia}
    AFF {"Africa Airways" Benin}                AFG {"Ariana Afghan Airlines" Afghanistan}
    AFH {"Air Fecteau" Canada}                  AFI {Africaone "The Gambia"}
    AFJ {"Alliance Air" Uganda}                 AFK {"Africa Air Links" "Sierra Leone"}
    AFL {"Aeroflot Russian Airlines" Russia}    AFM {"Air Four" Italy}
    AFN {"African International Airlines" Lesotho}    AFO {"Aero Empresa Mexicana" Mexico}
    AFP {"Portuguese Air Force" Portugal}       AFQ {"Alba Servizi Aerotrasporti" Italy}
    AFR {"Air France" France}                   AFS {"Air Data" "United Kingdom"}
    AFU {"Afrinat International Airlines" Gambia}    AFV {"Air Afrique Vacancies" "Côte d'Ivoire"}
    AFW {"Africa World Airlines" Ghana}         AFX {"Airfreight Express" "United Kingdom"}
    AFY {"Africa Chartered Services" Nigeria}    AFZ {"Africa Freight Services" Zambia}
    AGA {"Aeronaves Del Centro" Venezuela}      AGB {"Air Service Gabon" Gabon}
    AGC {"Arab Agricultural Aviation Company" Egypt}
    AGE {"Servicios Aéreos de Los Ángeles" Mexico}    AGF {"Atlantic Gulf Airlines" "United States"}
    AGG {"Algoma Airways" Canada}               AGH {Altagna France}
    AGI {"Aereo Transportes Los Angeles de America" Mexico}
    AGM {"Aviation West Charters" "United States"}    AGN {"Air Gabon" Gabon}
    AGO {"Angola Air Charter" Angola}           AGP {"AERFI Group" Ireland}
    AGQ {Aerogala Chile}
    AGR {"United States Department Of Agriculture" "United States"}
    AGT {"Amadeus IT Group" Spain}              AGU {"Angara Airlines" Russia}
    AGV {"Air Glaciers" Switzerland}            AGW {"Aero Gambia" Gambia}
    AGX {Aviogenex Serbia}                      AGY {"Aero Flight Service" "United States"}
    AGZ {Agrolet-Mci Slovakia}                  AHA {"Air Alpha Greenland" Denmark}
    AHC {"Azal Avia Cargo" Azerbaijan}          AHD {"Czech Air Handling" "Czech Republic"}
    AHE {"Airport Helicopter Basel, Muller & Co." Switzerland}
    AHF {"Aspen Helicopters" "United States"}    AHG {"Aerochago Airlines" "Dominican Republic"}
    AHH {"Airplanes Holdings" Ireland}
    AHI {"Servicios Aéreos de Chihuahua Aerochisa" Mexico}    AHK {"Air Hong Kong" "Hong Kong"}
    AHL {"Aerolíneas Hidalgo" Mexico}           AHM {"Garrison Aviation" Canada}
    AHN {"Air Hungaria" Hungary}                AHO {"Air Hamburg" Germany}
    AHP {Aerochiapas Mexico}                    AHR {"Air Adriatic" Croatia}
    AHS {"Air Viggi San Raffaele" Italy}        AHT {"HTA Helicopteros" Portugal}
    AHU {"ABC Air Hungary" Hungary}             AHW {Aeromist-Kharkiv Ukraine}
    AHY {"Azerbaijan Airlines" Azerbaijan}      AIA {Avies Estonia}
    AIB {"Airbus Industrie" France}             AIC {"Air India Limited" India}
    AID {"Christian Konig - Century Airbirds" Austria}    AIE {"Air Inuit" Canada}
    AIF {"Compañía Aérea de Valencia" Spain}    AIG {"Air Inter Gabon" Gabon}
    AIH {"Air Incheon" "South Korea"}           AII {"Air Integra" Canada}
    AIJ {Interjet Mexico}                       AIK {"African Airlines International Limited" Kenya}
    AIL {"Air Illinois" "United States"}        AIM {"Trabajos Aéreos Murcianos" Spain}
    AIN {"African International Airways" Swaziland}
    AIO {"United States Air Force" "United States"}    AIP {"Alpine Air Express" "United States"}
    AIQ {"Thai AirAsia" Thailand}               AIR {"Airlift International" "United States"}
    AIS {"Air Sureste" Spain}                   AIT {Airest Estonia}
    AIU {"Alicante Internacional Airlines" Spain}    AIV {"Airvias S/A Linhas Aéreas" Brazil}
    AIW {"Atlantic Island Airways" Canada}      AIX {"Aircruising Australia" Australia}
    AIY {"Aircrew Check and Training Australia" Australia}    AIZ {"Arkia Israel Airlines" Israel}
    AJA {"Afghan Jet International Airlines" Afghanistan}    AJB {"Aero JBR" Mexico}
    AJC {"Bar Harbor Airlines" "United States"}    AJE {"Aero Jet Express" Mexico}
    AJF {"Avia Consult Flugbetriebs" Austria}    AJH {Aeroaljarafe Spain}
    AJI {"Ameristar Jet Charter" "United States"}    AJJ {"A2 Jet Leasing" "United States"}
    AJK {"Allied Air" Nigeria}                  AJM {"Air Jamaica" Jamaica}
    AJO {"Aero Ejecutivo" Mexico}               AJP {"Aero Jets Corporativos" Mexico}
    AJR {"A-Jet Aviation Company" Mongolia}     AJS {"Aeroejecutivos Colombia" Colombia}
    AJT {"Amerijet International" "United States"}    AJU {"Air Jetsul" Portugal}
    AJV {"ANA & JP Express" Japan}              AJW {"Alpha Jet International" "United States"}
    AJX {"Air Japan" Japan}                     AJY {AJet Cyprus}
    AKA {"Air Korea Co. Ltd." "Republic of Korea"}    AKB {Aktjubavia Kazakhstan}
    AKC {"Arca Aerovías Colombianas Ltda." Colombia}    AKF {"Anikay Air Company" Kyrgyzstan}
    AKG {"No. 84 Squadron RAF" "United Kingdom"}    AKH {Akhal Turkmenistan}
    AKI {Ibk-Petra Sudan}                       AKK {"Aklak Air" Canada}
    AKL {"Air Kiribati" Kiribati}               AKM {"Mak Air" Kazakhstan}
    AKN {"Alkan Air" Canada}                    AKR {"Aero Clinker" Mexico}
    AKT {Karat Russia}                          AKW {"Angkor Airways" Cambodia}
    AKX {"Air Nippon Network Co. Ltd." Japan}    AKY {Yak-Service Russia}
    AKZ {"AK Navigator LLC" Kazakhstan}         ALB {"Aero Albatros" Mexico}
    ALC {"Southern Jersey Airways, Inc." "United States"}
    ALD {"Albion Aviation" "United Kingdom"}    ALE {"Aeroalas Colombia" Colombia}
    ALF {"Allied Command Europe (Mobile Force)" Belgium}    ALG {"Air Logistics" "United States"}
    ALJ {"Heli Ambulance Team" Austria}         ALK {"SriLankan Airlines" "Sri Lanka"}
    ALL {Aerovallarta Mexico}                   ALM {"Air ALM" "Netherlands Antilles"}
    ALN {"Air Lincoln" "United States"}         ALO {"Allegheny Commuter Airlines" "United States"}
    ALP {"Alpliner AG" Switzerland}             ALQ {"Altair Aviation (1986)" Canada}
    ALR {"Líneas Aéreas Alaire S.L." Spain}     ALS {Aeralp France}
    ALT {"Aerolíneas Centrales" Mexico}         ALU {"Air Luxor STP" "São Tomé and Príncipe"}
    ALV {"Aeropostal Alas de Venezuela" Venezuela}
    ALW {"Alas Nacionales, S.A." "Dominican Republic"}
    ALX {"Hewa Bora Airways" "Democratic Republic of the Congo"}
    ALY {"Alyeska Air Service" "United States"}    ALZ {"Alta Flights (Charters) Ltd." Canada}
    AMA {ATMA Kazakhstan}                       AMB {"Deutsche Rettungsflugwacht" Germany}
    AMC {"Air Malta" Malta}                     AMD {"Aerolíneas Medellín" Colombia}
    AME {"Spanish Air Force" Spain}             AMF {Ameriflight "United States"}
    AMG {"Air Minas Linhas Aéreas" Brazil}      AMH {"Alan Mann Helicopters Ltd." "United Kingdom"}
    AMI {"Air Maldives" Maldives}               AMJ {"Aviation Amos" Canada}
    AMK {"Amerer Air" Austria}                  AML {"Air Malawi" Malawi}
    AMM {"Aeroputul International Marculesti" Moldova}    AMN {"Air Montenegro" Montenegro}
    AMO {"Air Montreal (Air Holdings Inc.)" Canada}    AMP {"Aero Transporte S.A. (ATSA)" Peru}
    AMQ {"Aircraft Management and Consulting" Poland}
    AMR {"Air Specialties Corporation" "United States"}    AMS {"Air Muskoka" Canada}
    AMT {"ATA Airlines" "United States"}        AMU {"Air Macau" Macao}
    AMV {"AMC Airlines" Egypt}                  AMW {"Air Midwest" "United States"}
    AMX {Aeroméxico Mexico}                     AMY {"Air Ambar" "Dominican Republic"}
    AMZ {"Amiya Airline" Nigeria}               ANA {"All Nippon Airways" Japan}
    ANB {"Air Navigation And Trading Co. Ltd." "United Kingdom"}
    ANC {"Anglo Cargo" "United Kingdom"}        AND {"Servicios Aéreos de los Andes" Peru}
    ANE {"Air Nostrum" Spain}                   ANG {"Air Niugini" "Papua New Guinea"}
    ANH {"Alajnihah for Air Transport" Libya}    ANI {"Air Atlantic (Nig) Limited" Nigeria}
    ANK {"Air Nippon" Japan}                    ANL {"Nacoia Lda" Angola}
    ANM {"Antares Airtransport, Maintenance & Service GmbH" Germany}    ANO {Airnorth Australia}
    ANQ {"Aerolínea de Antioquia" Colombia}     ANS {"Andes Líneas Aéreas" Argentina}
    ANT {"Air North Charter - Canada" Canada}    ANV {"Air Nevada" "United States"}
    ANW {"Aviación Del Noroeste, S.A. de C.V." Mexico}    ANX {"Secretaria de Marina" Mexico}
    ANZ {"Air New Zealand" "New Zealand"}       AOA {"Alcon Servicios Aéreos, S.A. de C.V." Mexico}
    AOB {"Aerocaribe Coro" Venezuela}           AOC {AVCOM Russia}
    AOD {"Aero Vodochody" "Czech Republic"}     AOE {"Livingstone Executive" Italy}
    AOF {"Atair Pty Ltd." "South Africa"}       AOG {"Aero VIP" Argentina}
    AOI {"Astoria, Inc." Canada}                AOJ {"Avcon Jet" Austria}
    AOK {"Aeroatlantico Colombia" Colombia}     AOL {"Angkor Airlines" Cambodia}
    AOM {"AOM French Airlines" France}          AON {"Aero Entreprise" France}
    AOO {"As, Opened Joint Stock Company" Ukraine}    AOP {Aeropiloto Portugal}
    AOR {"Afro International Ent. Limited" Nigeria}
    AOS {"Servicios Aéreos Del Sol, S.A. de C.V." Mexico}
    AOT {"Asia Overnight Express" Philippines}    AOU {"Air Tractor" Croatia}
    AOV {"Aero Vision" France}                  AOX {"Aerotaxi Del Valle" Colombia}
    APA {"Air Park Aviation Ltd." Canada}       APC {"Airpac Airlines, Inc." "United States"}
    APD {"Sabre Pacific" Australia}             APE {"Parcel Express" "United States"}
    APF {"Amapola Flyg AB" Sweden}              APG {"Air People International" Thailand}
    APH {"Alpha Aviation, Inc." "United States"}    API {"ASA Pesada, Lda." Angola}
    APJ {"Air Print, S.A." Luxembourg}          APL {"Corporativo Aereo Principal" Mexico}
    APM {"Airpac, Inc." "United States"}        APO {Aeropro Canada}
    APP {"Aerolíneas Pacífico Atlántico, S.A. (Apair)" Panama}
    APQ {"Aspen Aviation" "United States"}      APR {"Aerolíneas Primordiales" Mexico}
    APT {"LAP Colombia - Líneas Aéreas Petroleras, S.A." Colombia}
    APU {"Aeropuma, S.A." "El Salvador"}
    APV {"Air Plan International" "Democratic Republic of the Congo"}
    APW {"Arrow Air" "United States"}           APX {"Apex Air Cargo" "United States"}
    APY {"APA Internacional" "Dominican Republic"}    AQA {"Aeroatlas, S.A." Colombia}
    AQL {"Aquila Air Ltd." Canada}              AQN {"Air Queensland" Australia}
    AQO {"Aluminum Company Of America" "United States"}
    AQT {"Aviones de Renta de Quintana Roo, S.A. de C.V." Mexico}
    AQU {"AirQuarius Aviation" "South Africa"}    AQZ {"Aerodyne Charter Company" "United States"}
    ARA {"Arik Air" Nigeria}                    ARB {"Avia Air N.V." Aruba}
    ARC {"Air Routing International Corp." "United States"}    ARE {"LATAM Colombia" Colombia}
    ARF {"Aero Flight" Germany}                 ARG {"Aerolíneas Argentinas" Argentina}
    ARH {"Arrowhead Airways" "United States"}    ARI {"Aero Vics" Mexico}
    ARJ {"Aerojet de Costa Rica, S.A." "Costa Rica"}    ARK {"Aero Link Air Services S.L." Spain}
    ARL {"Airlec - Air Aquitaine Transport" France}    ARM {"Aeromarket Express" Spain}
    ARO {"Acero Taxi" Mexico}                   ARP {"Aero Corporate" "Côte d'Ivoire"}
    ARQ {"Armstrong Air, Inc." Canada}          ARR {"Air Armenia" Armenia}
    ARS {"Aeromet Servicios" Chile}             ART {"Smartlynx Airlines" Latvia}
    ARU {"Aruba Airlines" Aruba}                ARV {"Aravco Ltd." "United Kingdom"}
    ARW {Aria France}                           ARX {"Air Xpress, Inc." "United States"}
    ARY {"Argosy Airways" "United States"}      ARZ {"Air Resorts" "United States"}
    ASA {"Alaska Airlines, Inc." "United States"}    ASB {"Air-Spray 1967 Ltd." Canada}
    ASC {"Air Star Corporation" Canada}         ASD {"Air Sinai" Egypt}
    ASE {Airstars Russia}                       ASF {"Air Schefferville, Inc." Canada}
    ASG {"African Star Airways (PTY) Ltd." "South Africa"}    ASH {"Mesa Airlines" "United States"}
    ASI {"Aerosun International, Inc." "United States"}    ASJ {"Air Satellite" Canada}
    ASK {"La Ronge Aviation Services" Canada}    ASL {"Air Serbia" Serbia}
    ASM {"Awesome Flight Services (PTY) Ltd." "South Africa"}
    ASN {"Air and Sea Transport" Russia}        ASO {"Aero Slovakia" Slovakia}
    ASP {Airsprint Canada}                      ASQ {ExpressJet "United States"}
    ASR {"All Star Airlines, Inc." "United States"}    ASS {"Air Class, S.A. de C.V." Mexico}
    AST {"Aerolíneas Del Oeste" Mexico}
    ASV {"Astravia-Bissau Air Transports Ltd." Guinea-Bissau}    ASW {"Air Southwest Ltd." Canada}
    ASX {"Air Special" "Czech Republic"}        ASY {"Royal Australian Air Force" Australia}
    ASZ {"Astrakhan Airlines" Russia}           ATA {"Air Transport Association" "United States"}
    ATB {"Atlantair Ltd." Canada}               ATC {"Air Tanzania Company Limited" Tanzania}
    ATD {"Aerotours Dominicana" "Dominican Republic"}
    ATE {"Atlantis Transportation Services, Ltd." Canada}
    ATF {"Compañía Aerotécnicas Fotográficas" Spain}    ATG {Aerotranscargo[6] Moldova}
    ATH {"Air Travel Corp." "United States"}    ATI {"Aero-Tropics Air Services" Australia}
    ATJ {"Air Traffic GmbH" Germany}            ATK {AeroTACA Colombia}
    ATM {"Airlines of Tasmania" Australia}      ATN {"Air Transport International" "United States"}
    ATP {"ASTRAL Colombia - Aerotransportes Especiales Ltda." Colombia}
    ATQ {"CHC Helicopters Nigeria" Nigeria}     ATR {"Atlas Airlines" "United States"}
    ATS {"Air Transport Service" "Democratic Republic of the Congo"}    ATT {"Aer Turas" Ireland}
    ATU {"Atlant Aerobatics Ltd." Hungary}      ATV {"Avanti Air" Germany}
    ATW {"Aero Trades (Western) Ltd." Canada}
    ATX {"Warwickshire Aerocentre Ltd." "United Kingdom"}    ATZ {"Ace Air" "South Korea"}
    AUA {"Austrian Airlines" Austria}           AUB {"Augsburg Airways" Germany}
    AUC {"Transaustralian Air Express" Australia}    AUD {"Audi Air, Inc." "United States"}
    AUF {"Augusta Air Luftfahrtunternehmen" Germany}
    AUH {"Abu Dhabi Amiri Flight" "United Arab Emirates"}
    AUI {"Ukraine International Airlines" Ukraine}    AUJ {"Business Flight Salzburg" Austria}
    AUL {Nordavia Russia}                       AUM {"Air Atlantic Uruguay" Uruguay}
    AUN {"Common Sky" Austria}                  AUO {"Empresa (Aero Uruguay), S.A." Uruguay}
    AUP {"Avia Business Group" Russia}          AUR {"Aurigny Air Services" "United Kingdom"}
    AUS {Aus-Air Australia}                     AUT {"Austral Líneas Aéreas" Argentina}
    AUU {"Aurora Aviation, Inc." "United States"}    AUX {"Air Uganda International Ltd." Uganda}
    AUY {"Aerolíneas Uruguayas, S.A." Uruguay}    AUZ {"Australian Airlines" Australia}
    AVA {Avianca Colombia}                      AVB {"Aviation Beauport" "United Kingdom"}
    AVD {"Álamo Aviación, S.L." Spain}          AVE {Avensa Venezuela}
    AVF {"Aviair Aviation Ltd." Canada}         AVG {"Air Falcon" Djibouti}
    AVH {"AV8 Helicopters" "United Kingdom"}    AVJ {"Avia Traffic Company" Kyrgyzstan}
    AVK {"AV8 Helicopters" "South Africa"}      AVM {"Aviación Ejecutiva Mexicana, S.A." Mexico}
    AVN {"Air Vanuatu" Vanuatu}                 AVO {"Aviation at Work" "South Africa"}
    AVP {"Aviacion Corporativa de Peubla" Mexico}    AVQ {"Aviation Services, Inc." "United States"}
    AVR {"Active Aero Charter, Inc." "United States"}    AVS {"Avialsa T-35" Spain}
    AVT {"Asia Avia Airlines" Indonesia}        AVU {"Avia Sud Aérotaxi" France}
    AVV {"Airvantage Incorporated" "United States"}    AVW {"Aviator Airways" Greece}
    AVX {"Aeroclub de Vitoria" Spain}           AVY {"Aerovaradero, S.A." Cuba}
    AVZ {"Air Valencia" Spain}                  AWB {"Airways International, Inc." "United States"}
    AWC {"Titan Airways" "United Kingdom"}      AWD {"Providence Aviation Services" Pakistan}
    AWE {"US Airways" "United States"}          AWF {Aeroforward "United States"}
    AWI {"Air Wisconsin" "United States"}       AWJ {"Sahel Airlines" Niger}
    AWK {Airwork "New Zealand"}                 AWL {"Australian Wetleasing" Australia}
    AWN {"Air Niamey" Niger}                    AWO {"Awood Air Ltd." Canada}
    AWP {"Aeroworld Pakistan" Pakistan}         AWQ {"Indonesia AirAsia" Indonesia}
    AWR {"Arctic Wings And Rotors Ltd." Canada}    AWS {"Arab Wings" Jordan}
    AWT {Albawings Albania}                     AWU {"Sylt Air GmbH" Germany}
    AWV {"Airwave Transport, Inc." Canada}      AWW {"Air Wales" "United Kingdom"}
    AWX {"Civil Aviation Authority Directorate of Airspace Policy" "United Kingdom"}
    AWY {"Aeroway, S.L." Spain}                 AWZ {AirWest Sudan}
    AXB {"Air India Express" India}             AXD {"Air Express" Sudan}
    AXF {"Asian Express Airlines" Australia}    AXH {Aeromexhaga Mexico}
    AXI {"Aeron International Airlines, Inc." "United States"}
    AXK {"African Express Airways" Kenya}       AXL {"Air Exel" Netherlands}
    AXM {AirAsia Malaysia}                      AXN {Alexandair Greece}
    AXP {Aeromax Spain}
    AXQ {"Action Airlines (Action Air Charter)" "United States"}    AXR {"Axel Rent, S.A." Mexico}
    AXS {"Altus Airlines" "United States"}      AXV {Aviaxess France}
    AXX {"Advance Air Luftfahrtgesellschaft" Germany}    AXY {"Axis Airways" France}
    AYB {"Belgian Army" Belgium}                AYD {"Aladia Airlines" Mexico}
    AYE {"Yunnan Yingan Airlines" China}        AYG {"Yangon Airways" Burma}
    AYK {"Aykavia Aircompany" Armenia}          AYM {"Airman, S.L." Spain}
    AYN {"Atlantic Airlines, S.A." Nicaragua}    AYR {"Flight Training Europe" Spain}
    AYS {"Awsaj Aviation Services" Libya}       AYT {"Ayeet Aviation & Tourism" Israel}
    AYU {"Yuhi Air Lines" Japan}                AYZ {"Atlant-Soyuz Airlines" Russia}
    AZA {Alitalia Italy}                        AZB {"Zaab Air" Ghana}
    AZE {"Arcus-Air Logistic" Germany}          AZF {"Air Zermatt AG" Switzerland}
    AZG {Sakaviaservice Georgia}                AZI {"Azzurra Air" Italy}
    AZJ {"Zas Air" Egypt}                       AZK {Azalhelikopter Azerbaijan}
    AZL {"Africa One" Zambia}                   AZM {Aerocozumel Mexico}
    AZN {"Línea Aérea Amaszonas" Bolivia}       AZP {"Amaszonas Paraguay" Paraguay}
    AZQ {"Silk Way Airlines" Azerbaijan}        AZR {"Zenith Air" "South Africa"}
    AZS {"Aviacon Zitotrans Air Company" Russia}    AZT {"Azimut, S.A." Spain}
    AZU {"Azul Linhas Aéreas Brasileiras" Brazil}    AZV {"Azov Avia Airlines" Ukraine}
    AZW {"Air Zimbabwe" Zimbabwe}               AZX {"Air Max Africa" Gabon}
    AZY {"Arizona Airways, Inc." "United States"}    AZZ {"Azza Transport" Sudan}
    BAA {"Balkan Agro Aviation" Bulgaria}       BAB {"Bahrain Air BSC (Closed)" Bahrain}
    BAC {"BAC Leasing Limited" "United Kingdom"}    BAE {"BAE Systems" "United Kingdom"}
    BAF {"Belgian Air Force" Belgium}           BAG {Dba Germany}
    BAH {"The Amiri Flight" Bahrain}            BAJ {"Baker Aviation" "United States"}
    BAK {"Blackhawk Airways" "United States"}    BAL {"Britannia Airways" "United Kingdom"}
    BAM {"Business Air Services" Canada}        BAN {"British Antarctic Survey" "United Kingdom"}
    BAP {"Trans International Express Aviation" "United States"}
    BAR {"Bradly Air (Charter) Services" Canada}    BAS {"Aero Services" Barbados}
    BAT {Premiair Luxembourg}                   BAU {"Bissau Airlines" Guinea-Bissau}
    BAV {"Bay Aviation Ltd" Bangladesh}         BAW {"British Airways" "United Kingdom"}
    BAX {"Best Aero Handling Ltd" Russia}       BAY {"Bravo Airways" Ukraine}
    BBA {"Bannert Air" Austria}                 BBB {"SwedJet Airways" Sweden}
    BBC {"Biman Bangladesh Airlines" Bangladesh}    BBD {"Bluebird Nordic" Iceland}
    BBE {"Ababeel Aviation" Sudan}              BBF {"B-Air Charter" Germany}
    BBJ {"Blue Air Lines" "South Korea"}        BBL {"IBM Euroflight Operations" Switzerland}
    BBN {"Civil Aviation Authority Airworthiness Division" "United Kingdom"}
    BBO {Flybaboo Switzerland}                  BBR {"Santa Barbara Airlines" Venezuela}
    BBS {"Beibars CJSC" Kazakhstan}             BBT {"Air Bashkortostan" Russia}
    BBV {"Bravo Airlines" Spain}                BBW {"BB Airways" Nepal}
    BBZ {"Bluebird Aviation" Kenya}             BCB {"Carib Express" Barbados}
    BCF {"BACH Flugbetriebsges" Austria}        BCH {"Phillips Air" "United States"}
    BCI {"Blue Islands" "United Kingdom"}       BCJ {"Blue Jet Charters" Poland}
    BCK {"Priority Aviation Company" "United States"}
    BCL {"British Caribbean Airways" "United Kingdom"}    BCN {"Ocean Air" Mauritania}
    BCR {"British Charter" "United Kingdom"}    BCS {"European Air Transport" Belgium}
    BCT {"BCT Aviation" "United Kingdom"}       BCV {"Business Aviation Center" Ukraine}
    BCY {CityJet Ireland}                       BDA {"Blue Dart Aviation" India}
    BDF {"Bissau Discovery Flying Club" Guinea-Bissau}
    BDG {"Mississippi State University" "United States"}    BDM {"Air Bandama" "Ivory Coast"}
    BDN {"DERA Boscombe Down" "United Kingdom"}    BDR {"Badr Airlines" Sudan}
    BDS {"South Asian Airlines" Bangladesh}     BDV {"Aberdair Aviation" Kenya}
    BEA {"Best Aviation Ltd" Bangladesh}        BEC {"State Air Company Berkut" Kazakhstan}
    BED {"Belgorod Aviation Enterprise" Russia}    BEE {Flybe "United Kingdom"}
    BEF {"Balear Express" Spain}                BEH {"Bel Air Helicopters" Denmark}
    BEK {"Berkut Air" Kazakhstan}               BEL {"Brussels Airlines" Belgium}
    BER {"Air Berlin" Germany}                  BES {"Aero Services Executive" France}
    BET {"BETA - Brazilian Express Transportes Aéreos" Brazil}
    BEZ {"Kingfisher Air Services" "United States"}    BFA {"Presidence Du Faso" "Burkina Faso"}
    BFC {"Basler Flight Service" "United States"}    BFF {"Air Baffin" Canada}
    BFG {"Bear Flight" Sweden}                  BFL {"Buffalo Airways" Canada}
    BFN {"Compangnie Nationale Naganagani" "Burkina Faso"}    BFO {Bombardier Canada}
    BFR {"Burkina Airlines" "Burkina Faso"}     BFS {"Business Flight Sweden" Sweden}
    BFW {"Bahrain Defence Force" Bahrain}       BGA {"Airbus Transport International" France}
    BGD {"Air Bangladesh" Bangladesh}           BGF {Aviodetachment-28 Bulgaria}
    BGG {"Aero BG" Mexico}                      BGH {"BH Air" Bulgaria}
    BGI {"British Gulf International" "São Tomé and Príncipe"}
    BGK {"British Gulf International-Fez" Kyrgyzstan}    BGL {"Benin Golf Air" Benin}
    BGM {"Bugulma Air Enterprise" Russia}       BGR {"Budget Air Bangladesh" Bangladesh}
    BGT {"Bergen Air Transport" Norway}         BHA {"Buddha Air" Nepal}
    BHC {"Aerotaxis De La Bahia" Mexico}        BHI {"Balkh Airlines" Afghanistan}
    BHK {"Blu Halkin" "United Kingdom"}         BHL {"Bristow Helicopters" "United Kingdom"}
    BHN {"Bristow Helicopters Nigeria" Nigeria}    BHO {"Bhoja Airlines" Pakistan}
    BHP {"Belair Airlines" Switzerland}         BHR {"Bighorn Airways" "United States"}
    BHS {Bahamasair Bahamas}                    BHT {"Bright Air" Netherlands}
    BHV {"Specavia Air Company" Russia}         BHY {"Bosphorus European Airways" Turkey}
    BIB {"Michelin Air Services" France}        BID {Binair Germany}
    BIE {"Air Mediterranee" France}             BIG {"Big Island Air" "United States"}
    BIH {"British International Helicopters" "United Kingdom"}    BIL {"Billund Air Center" Denmark}
    BIN {"Boise Interagency Fire Center" "United States"}    BIO {"Bioflight A/S" Denmark}
    BIR {"Bird Leasing" "United States"}        BIS {"Sky Bishek" Kyrgyzstan}
    BIV {Aviaservice Georgia}                   BIZ {"Bizjet Ltd" "United Kingdom"}
    BJA {"Baja Air" Mexico}                     BJC {"Baltic Jet Aircompany" Latvia}
    BJK {"Atlantic Airlines" "United States"}    BJS {"Business Jet Solutions" "United States"}
    BJT {"ACM Aviation" "United States"}        BJV {"Beijing Vistajet Aviation" China}
    BKA {Bankair "United States"}               BKF {"BF-Lento OY" Finland}
    BKH {"RAF Barkston Heath" "United Kingdom"}    BKJ {"Barken International" "United States"}
    BKK {Blink "United Kingdom"}                BKL {"Aircompany Barcol" Russia}
    BKP {"Bangkok Airways" Thailand}
    BKR {"Civil Air Patrol South Carolina Wing" "United States"}    BKV {Bukovyna Ukraine}
    BLA {"All Charter Limited" "United Kingdom"}    BLB {"Blue Bird Aviation" Sudan}
    BLC {Bellesavia Belarus}                    BLE {"Blue Line" France}
    BLF {Blue1 Finland}                         BLG {Belgavia Belgium}
    BLH {"Blue Horizon Travel Club" "United States"}    BLI {"Thyssen Krupp AG" Germany}
    BLJ {"Blue Jet" Spain}                      BLK {"Westcoast Energy" Canada}
    BLL {"Baltic Airlines" Russia}              BLM {"Blue Sky Airlines" Armenia}
    BLN {"Bali International Air Service" Indonesia}
    BLR {"Atlantic Coast Airlines" "United States"}    BLS {"Bearskin Lake Air Service" Canada}
    BLT {"Baltic Aviation" "United States"}     BLU {"IMP Aviation Services" Canada}
    BLV {"Bellview Airlines" Nigeria}           BLW {"Wermlandsflyg AB" Sweden}
    BLX {"TUIfly Nordic" Sweden}                BLY {Starair Ireland}
    BLZ {"Aero Barloz" Mexico}                  BMA {BMI "United Kingdom"}
    BMD {"British Medical Charter" "United Kingdom"}
    BME {"Briggs Marine Environmental Services" "United Kingdom"}
    BMH {"Bristow Masayu Helicopters" Indonesia}    BMI {Bmibaby "United Kingdom"}
    BMJ {"Bemidji Airlines" "United States"}    BMK {"GST Aero Aircompany" Kazakhstan}
    BML {"Bismillah Airlines" Bangladesh}       BMM {"Atlas Blue" Morocco}
    BMN {"Bowman Aviation" "United States"}     BMR {"BMI Regional" "United Kingdom"}
    BMS {"Blue Air" Romania}                    BMV {"Alatau Airlines" Kazakhstan}
    BMW {BMW Germany}                           BMX {"Banco de Mexico" Mexico}
    BNA {"Bun Air Corporation" "United States"}    BNB {"Aero Banobras" Mexico}
    BNC {"Sundance Air" "United States"}        BND {"Bond Offshore Helicopters" "United Kingdom"}
    BNE {"Benina Air" Libya}
    BNF {"Braniff International Airways" "United States"}
    BNG {"BN Group Limited" "United Kingdom"}    BNI {"Alberni Airways" Canada}
    BNJ {"Air Service Liège (ASL)" Belgium}     BNL {"Blue Nile Ethiopia Trading" Ethiopia}
    BNR {"Bonair Aviation" Canada}
    BNS {"Bancstar - Valley National Corporation" "United States"}
    BNT {"Bentiu Air Transport" Sudan}          BNV {"Benane Aviation Corporation" Mauritania}
    BNW {"British North West Airlines" "United Kingdom"}
    BNX {"LAI - Línea Aérea IAACA" Venezuela}    BNZ {"Aerolíneas Bonanza" Mexico}
    BOA {Boniair Macedonia}                     BOB {"Backbone A/S" Denmark}
    BOC {Aerobona Mexico}                       BOD {"Bond Air Services" Uganda}
    BOE {Boeing "United States"}                BOF {Bordaire Canada}
    BOI {"Aboitiz Air" Philippines}             BOL {"Transportes Aéreos Bolivianos" Bolivia}
    BON {"B&H Airlines" "Bosnia and Herzegovina"}    BOO {"Bookajet Limited" "United Kingdom"}
    BOS {OpenSkies "United Kingdom"}            BOT {"Air Botswana" Botswana}
    BOU {"Bouraq Indonesia Airlines" Indonesia}    BOV {"Boliviana de Aviación" Bolivia}
    BOX {"Tiphook PLC" "United Kingdom"}        BPA {"Blue Panorama Airlines" Italy}
    BPH {"Phoenix Helicopter Academy" "United Kingdom"}    BPK {"Berkhut ZK" Kazakhstan}
    BPO {Bundespolizei-Fliegertruppe Germany}    BPS {"Budapest Aircraft Services/Manx2" Hungary}
    BPT {"Bonus Aviation" "United Kingdom"}     BPX {"British Petroleum Exploration" Colombia}
    BRB {"BRA-Transportes Aéreos" Brazil}       BRD {"Brock Air Services" Canada}
    BRE {"Breeze Ltd" Ukraine}                  BRF {"Air Bravo" Uganda}
    BRG {"Bering Air" "United States"}          BRJ {Borajet Turkey}
    BRK {"Briansk State Air Enterprise" Russia}    BRL {"Air Brasd'or" Canada}
    BRM {"Air 500" Canada}                      BRN {"Branson Airlines" "United States"}
    BRO {"BASE Regional Airlines" Netherlands}    BRP {AeroBratsk Russia}
    BRQ {"El-Buraq Air Transport" Libya}        BRR {"Mountain Air Service" "United States"}
    BRS {"Brazilian Air Force" Brazil}          BRT {"British Regional Airlines" "United Kingdom"}
    BRU {"Belavia Belarusian Airlines" Belarus}
    BRV {"Bravo Air Congo" "Democratic Republic of the Congo"}
    BRW {"Bright Aviation Services" Bulgaria}    BRX {"Buffalo Express Airlines" "United States"}
    BRY {Burundayavia Kazakhstan}               BRZ {"Samara Airlines" Russia}
    BSB {"Air Wings" Moldova}                   BSC {"Bistair - Fez" Kyrgyzstan}
    BSD {"Blue Star Airlines" Mexico}           BSI {"Brasair Transportes Aéreos" Brazil}
    BSJ {"Skybus Jet" Bahamas}                  BSK {"Miami Air International" "United States"}
    BSM {"Blue Sky Aviation" Lebanon}           BSN {"Connectair Charters" Canada}
    BSO {"Aeroclub Barcelona-Sabadell" Spain}
    BSP {"Global Airways (BSP)" "Democratic Republic of Congo"}
    BSR {"Guine Bissaur Airlines" Guinea-Bissau}    BSS {"Bissau Aero Transporte" Guinea-Bissau}
    BST {"Best Air" Turkey}                     BSW {"Blue Sky Airways" "Czech Republic"}
    BSY {"Big Sky Airlines" "United States"}    BTC {"BAL Bashkirian Airlines" Russia}
    BTH {"Baltijas Helicopters" Latvia}         BTI {"Air Baltic" Latvia}
    BTK {Baltyka Ukraine}                       BTL {"Baltia Air Lines" "United States"}
    BTP {"Veritair Ltd" "United Kingdom"}       BTR {Botir-Avia Kyrgyzstan}
    BTS {"Aerotaxis Albatros" Mexico}           BTT {BT-Slavuta Ukraine}
    BTU {"Rolls-Royce plc" "United Kingdom"}    BTV {"Batavia Air" Indonesia}
    BTZ {"Bristow U.S. LLC" "United States"}    BUB {"Air Bourbon" Reunion}
    BUC {"Bulgarian Air Charter" Bulgaria}      BUE {"Orebro Aviation" Sweden}
    BUG {"UVT Aero" Russia}
    BUL {"Blue Airlines" "Democratic Republic of the Congo"}
    BUN {"Buryat Airlines Aircompany" Russia}    BUZ {"Buzz Stansted" "United Kingdom"}
    BVA {"Buffalo Airways" "United States"}     BVC {"Bulgarian Aeronautical Centre" Bulgaria}
    BVN {"Baron Aviation Services" "United States"}    BVR {"ACM Air Charter" Germany}
    BVT {"Berjaya Air" Malaysia}
    BVU {"Bellview Airlines, Sierra Leone" "Sierra Leone"}    BVV {"Sparc Avia" Russia}
    BWA {"Caribbean Airlines" "Trinidad and Tobago"}
    BWD {"Bluewest Helicopters-Greenland" Denmark}    BWG {"Blue Wings" Germany}
    BWI {"Blue Wing Airlines" Suriname}         BWL {"British World Airlines" "United Kingdom"}
    BWY {"Fleet Requirements Air Direction Unit" "United Kingdom"}
    BXA {"Bahrain Executive Air Services" Bahrain}    BXH {"Bar XH Air" Canada}
    BXI {"Brussels International Airlines" Belgium}    BXJ {"Brixtel Group" "United States"}
    BYA {"Berry Aviation" "United States"}      BYC {"Northern Airlines Sanya" China}
    BYE {"Bayu Indonesia Air" Indonesia}        BYF {"San Carlos Flight Center" "United States"}
    BYG {"Bygone Aviation" "United States"}     BYL {"Bylina Joint-Stock Company" Russia}
    BYR {"Berytos Airlines" Lebanon}            BYT {"Patriot Aviation Limited" "United Kingdom"}
    BZA {"Bizair Fluggesellschaft" Germany}     BZD {"Canadian Global Air Ambulance" Canada}
    BZE {"Zenith Aviation" "United Kingdom"}    BZF {"Jet Aviation Business Jets" "United States"}
    BZH {"Brit Air" France}                     BZQ {"Seneca College" Canada}
    BZS {"Aero Biniza" Mexico}                  BZY {"Fresh Air Aviation" "United States"}
    BZZ {"Butane Buzzard Aviation Corporation" "United Kingdom"}
    CAA {"Civil Aviation Authority of the Czech Republic" "Czech Republic"}
    CAB {"Chesapeake Air Service" "United States"}    CAC {"Conquest Airlines" "United States"}
    CAD {"Chilliwack Aviation" Canada}          CAE {"Colibri Aviation" Canada}
    CAG {"China National Aviation Corporation" China}    CAH {"Charlan Air Charter" "South Africa"}
    CAI {"Corendon Airlines" Turkey}            CAJ {"Air Caraibes Atlantique" France}
    CAK {"Congo Air" Bahamas}                   CAL {"China Airlines" Taiwan}
    CAM {"Camai Air" "United States"}           CAN {"Crest Aviation" "United Kingdom"}
    CAO {"Air China Cargo" China}               CAP {"Civil Air Patrol" "United States"}
    CAQ {"Cityair (Chester) Limited" "United Kingdom"}
    CAR {"Inter RCA" "Central African Republic"}    CAS {"Christman Air System" "United States"}
    CAT {"Copenhagen Air Taxi" Denmark}         CAV {"Calm Air" Canada}
    CAW {Comair "South Africa"}
    CAX {"Central Air Express" "Democratic Republic of the Congo"}
    CAY {"Cayman Airways" "Cayman Islands"}     CAZ {"Cat Aviation" Switzerland}
    CBA {"Civil Aviation Inspectorate of the Czech Republic" "Czech Republic"}
    CBB {"Cheboksary Airenterprise JSC" Russia}
    CBD {"Lockheed Martin Aeronautics" "United States"}    CBE {"Aerovías Caribe" Mexico}
    CBF {"China Northern Airlines" China}
    CBH {"Corporate Eagle Management Services" "United States"}    CBI {Cabi Ukraine}
    CBJ {"Beijing Capital Airlines" China}
    CBL {"Cumberland Airways (Nicholson Air Service)" "United States"}
    CBM {"Cherokee Express" "United States"}    CBN {"Swedish Civil Aviation Administration" Sweden}
    CBO {"Aerotaxi del Cabo" Mexico}
    CBR {"Cabair College of Air Training" "United Kingdom"}    CBS {"Air Columbus" Ukraine}
    CBT {"Catalina Flying Boats" "United States"}    CBV {"Aereo Cabo" Mexico}
    CBY {"RAF Coningsby" "United Kingdom"}      CCA {"Air China" China}
    CCB {"Caricom Airways" Barbados}            CCE {"Cairo Air Transport Company" Egypt}
    CCF {"CCF Manager Airline" Germany}         CCH {"Chilchota Taxi Aéreo" Mexico}
    CCI {"Capital Cargo International Airlines" "United States"}
    CCK {"Flight Trac" "United States"}         CCL {"Cambodia Airlines" Cambodia}
    CCM {"Corse Méditerranée" France}           CCP {"Champion Air" "United States"}
    CCQ {"Capital City Air Carriers" "United States"}    CCT {"Connect Air" Canada}
    CCV {"Centro De Helicopteros Corporativos" Mexico}    CCW {"Central Charter" "Czech Republic"}
    CCX {"Colt International" "United States"}    CCY {"Cherry Air" "United States"}
    CDA {Aerocardal Chile}                      CDC {"Zhejiang Loong Airlines" China}
    CDE {"Comed Group" "United Kingdom"}        CDG {"Shandong Airlines" China}
    CDI {"Cards Air Services" Philippines}      CDL {"Sunbird Airlines" "United States"}
    CDM {"Carga Aérea Dominicana" "Dominican Republic"}    CDN {"Canadian Helicopters" Canada}
    CDP {"Aero Condor Peru" Peru}               CDR {"Canadian Regional Airlines" Canada}
    CDS {"Spectrem Air" "South Africa"}         CDT {"Real Aero Club de Reus-Costa Dorado" Spain}
    CDU {Aerotrans Russia}                      CDV {"Airline Skol" Russia}
    CDY {"Heliaviation Limited" "United Kingdom"}    CEA {RegionsAir "United States"}
    CEB {"Cebu Pacific" Philippines}            CEC {"Celtic Airways" "United Kingdom"}
    CED {"CEDTA (Compañía Ecuatoriana De Transportes Aéreos)" Ecuador}
    CEE {"Servicios Aéreos Centrales" Mexico}    CEF {"Czech Air Force" "Czech Republic"}
    CEG {"Cega Aviation" "United Kingdom"}      CEM {"Central Mongolia Airways" Mongolia}
    CEP {"Chipola Aviation" "United States"}
    CER {"Cetraca Aviation Service" "Democratic Republic of the Congo"}
    CES {"China Eastern Airlines" China}
    CET {"Centrafrican Airlines" "Central African Republic"}
    CEV {"Centre d'Essais en Vol" France}       CEX {"Capitol Air Express" "United States"}
    CFA {"China Flying Dragon Aviation" China}    CFB {"Chongqing Forebase General Aviation" China}
    CFC {"Canadian Forces" Canada}              CFD {"Cranfield University" "United Kingdom"}
    CFE {"CityFlyer Express" "United Kingdom"}    CFF {Aerofan Spain}
    CFG {"Condor Flugdienst" Germany}           CFH {CareFlight Australia}
    CFI {"Flight Inspection Center of the General Administration of Civil Aviation in China" China}
    CFJ {"Fujian Airlines" China}               CFL {"Swedish Airlines" Sweden}
    CFM {ACEF Portugal}                         CFN {"RAF Church Fenton" "United Kingdom"}
    CFR {"Africa One" "Democratic Republic of the Congo"}    CFS {"Empire Airlines" "United States"}
    CFT {"Jet Freighters" "United States"}
    CFU {"United Kingdom Civil Aviation Authority" "United Kingdom"}    CFV {"Aero Calafia" Mexico}
    CFZ {"Zhongfei General Aviation" China}     CGA {"Congressional Air" "United States"}
    CGB {"Air Cargo Belize" Belize}             CGC {"Cal Gulf Aviation" "São Tomé and Príncipe"}
    CGD {"Charlotte Air National Guard" "United States"}
    CGF {"Cargo Air Ltd" Bulgaria}
    CGE {"Nelson Aviation College" "New Zealand"}    CGG {"Walmart Aviation" "United States"}
    CGH {"Guizhou Airlines" China}              CGI {"Rusair JSAC" Russia}
    CGK {"Click Airways" Kyrgyzstan}            CGL {"Seagle Air" Slovakia}
    CGM {Cargoman Oman}                         CGN {"Chang An Airlines" China}
    CGO {"Chicago Air" "United States"}         CGP {"Cargo Plus Aviation" "United Arab Emirates"}
    CGR {"Compagnia Generale Ripreseaeree" Italy}    CGS {"Centre of Applied Geodynamica" Russia}
    CGU {"Chinguetti Airlines" Mauritania}      CGV {"Aero Clube Do Algarve" Portugal}
    CGW {"Air Great Wall" China}
    CGX {"United States Coast Guard Auxiliary" "United States"}
    CGY {"Corporacion Paraguaya De Aeronautica" Paraguay}
    CHA {"Central Flying Service" "United States"}    CHB {"West Air (China)" China}
    CHC {"China Ocean Helicopter Corporation" China}    CHD {"223rd Flight Unit" Russia}
    CHE {"Top Flight Air Service" "United States"}    CHF {Chitaavia Russia}
    CHG {"Challenge Aero" Ukraine}              CHH {"Hainan Airlines" China}
    CHI {"Cougar Helicopters" Canada}           CHJ {"Aircompany Chaika" Ukraine}
    CHK {"Chalk's International Airlines" "United States"}
    CHL {"Cohlmia Aviation" "United States"}    CHM {"Chemech Aviation" Pakistan}
    CHN {"Channel Island Aviation" "United States"}    CHO {"Chrome Air Services" "United States"}
    CHP {Aviacsa Mexico}                        CHQ {"Chautauqua Airlines" "United States"}
    CHR {"Air Charter Services" "Democratic Republic of the Congo"}
    CHS {"Challenge Aviation" Australia}        CHU {"Church Aircraft" "United States"}
    CHV {"Air Charter Professionals" "United States"}    CHW {"Charter Air" Austria}
    CHZ {Cherline Russia}                       CIA {"Civil Aviation Authority" Slovakia}
    CIB {Condor Germany}                        CIC {"ICC Canada" Canada}
    CID {"Asia Continental Airlines" Kazakhstan}
    CIE {"Czech Government Flying Service" "Czech Republic"}    CIG {Sirius-Aero Russia}
    CII {Cityfly Italy}                         CIK {"Country International Airlines" Kyrgyzstan}
    CIL {"Cecil Aviation" "United Kingdom"}     CIM {"Cimber Sterling" Denmark}
    CIN {"Cinnamon Air" "Sri Lanka"}            CIO {"Il Ciocco International Travel Service" Italy}
    CIR {"Arctic Circle Air Service" "United States"}    CIT {"Zanesville Aviation" "United States"}
    CIU {"Cielos Airlines" Peru}
    CIV {"Civil Aviation Authority of New Zealand" "New Zealand"}
    CIW {"Civair Airways" "South Africa"}       CIX {"City Connexion Airlines" Burundi}
    CJA {CanJet Canada}                         CJC {"Colgan Air" "United States"}
    CJE {"Aeroservices Corporate" France}       CJG {"Zhejiang Airlines" China}
    CJI {"Corporate Jets" "United States"}      CJR {"Caverton Helicopters" Nigeria}
    CJS {"Commonwealth Jet Service" "United States"}    CJT {"Cargojet Airways" Canada}
    CJZ {"Caliber Jet" "United States"}         CKA {"Cook Inlet Aviation" "United States"}
    CKC {"CKC Services" "United States"}        CKE {"Corporate Aviation Services" "United States"}
    CKK {"China Cargo Airlines" China}          CKL {"Aviation Charter Services" "United States"}
    CKM {"BKS Air (Rivaflecha)" Spain}          CKR {"Crown Air Systems" "United States"}
    CKS {"Kalitta Air" "United States"}         CLA {"Comlux Aviation" Switzerland}
    CLB {"Flight Precision Limited" "United Kingdom"}
    CLD {"Clowes Estates Limited" "United Kingdom"}    CLE {"Colemill Enterprises" "United States"}
    CLF {"Bristol Flying Centre" "United Kingdom"}    CLG {"Chalair Aviation" France}
    CLH {"Lufthansa CityLine" Germany}          CLI {Clickair Spain}
    CLK {"Clark Aviation" "United States"}      CLL {"Aerovías Castillo" Mexico}
    CLM {"Cargo Link (Caribbean)" Barbados}     CLN {"Barnes Olsen Aeroleasing" "United Kingdom"}
    CLP {"Aero Club De Portugal" Portugal}      CLR {"Trans America" "United States"}
    CLS {"Challenge Air Transport" Germany}     CLT {"Club Aerocelta de Vuelo Con Motor" Spain}
    CLU {"Triple Alpha" Germany}                CLV {"Lom Praha Flying School" "Czech Republic"}
    CLW {Centralwings Poland}                   CLX {Cargolux Luxembourg}
    CLY {"Clay Lacy Aviation" "United States"}    CLZ {"Cloud 9 Air Charters" "South Africa"}
    CMA {"Central European Airlines" "Czech Republic"}    CME {"Prince Edward Air" Canada}
    CMF {"Air Care Alliance" "United States"}    CMG {"Comet Airlines" Nigeria}
    CMH {"Commair Aviation" "United Kingdom"}    CMI {"Continental Micronesia" "United States"}
    CMJ {"Mudanjiang General Aviation" China}    CMK {Chernomor-Avia Russia}
    CML {"Commander Air Charter" Canada}        CMM {"Compagnie Aérienne du Mali" Mali}
    CMN {"Eckles Aircraft" "United States"}     CMP {"Copa Airlines" Panama}
    CMR {"CAM Air Management" "United Kingdom"}    CMS {"Commercial Aviation" Canada}
    CMT {"Casement Aviation" "United States"}    CMU {"Northern Aviation Service" Thailand}
    CMV {"Calima Aviación" Spain}               CMX {"El Caminante Taxi Aéreo" Mexico}
    CMY {"Cape Smythe Air" "United States"}     CMZ {"CM Stair" Mauritania}
    CNB {"Cityline Hungary" Hungary}            CNC {"Corporación Aéreo Cencor" Mexico}
    CND {"Corendon Dutch Airlines" Netherlands}    CNE {"Air Toronto" Canada}
    CNG {"Coastal Airways" "United States"}     CNH {"Aquila Air" "United States"}
    CNI {"Empresa Nacional De Servicios Aéreos" Cuba}    CNJ {"Nanjing Airlines" China}
    CNK {"Sunwest Home Aviation" Canada}        CNL {"Centennial Airlines" "United States"}
    CNM {"Air China Inner Mongolia" China}      CNO {"SAS Braathens" Norway}
    CNR {"Condor Aero Services" "United States"}    CNS {"Cobalt Air LLC" "United States"}
    CNT {"Centre national d'études des télécommunications - C.N.E.T." France}
    CNU {"Air Consul" Spain}
    CNV {"U.S. Navy Reserve Logistic Air Forces" "United States"}
    CNW {"China Northwest Airlines" China}      CNX {"AllCanada Express" Canada}
    CNY {"Central Airways" "Sierra Leone"}      COA {"Continental Airlines" "United States"}
    COD {Concordavia Ukraine}                   COF {"Confort Air" Canada}
    COH {"RAF Coltishall" "United Kingdom"}     COM {Comair "United States"}
    CON {"Continental Oil" "United States"}     COO {"Corporate Airlink" Canada}
    COP {"Copper State Air Service" "United States"}    COT {"RAF Cottesmore" "United Kingdom"}
    COV {"Helicentre Coventry" "United Kingdom"}    COW {COWI Denmark}
    COY {"Coyne Aviation" "United Kingdom"}     COZ {"Cosmic Air" Nepal}
    CPA {"Cathay Pacific" "Hong Kong"}          CPB {"Corpac Canada" Canada}
    CPC {"Canadian Pacific Airlines" Canada}    CPD {"Capital Airlines" Kenya}
    CPF {Airtechservice Ukraine}                CPG {"Corporacion Aeroangeles" Mexico}
    CPH {"Champagne Airlines" France}           CPI {"Compagnia Aerea Italiana" Italy}
    CPJ {"Baltimore Air Transport" "United States"}    CPL {"Chaparral Airlines" "United States"}
    CPM {"Compagnie Mauritanienne Des Transports" Mauritania}    CPN {"Caspian Airlines" Iran}
    CPO {"Corporate Aircraft Company" "United States"}    CPR {"Corporate Air" "United States"}
    CPS {"Compass International Airways" "United Kingdom"}    CPT {"Corporate Air" "United States"}
    CPV {"Air Corporate" Italy}                 CPW {"Chippewa Air Commuter" "United States"}
    CPX {"Capital Air Service" "United States"}    CPZ {"Compass Airlines" "United States"}
    CQC {"Central Queensland Aviation College" Australia}    CQH {"Spring Airlines" China}
    CRA {"Coronado Aerolíneas" Colombia}        CRB {"Caricom Airways" Suriname}
    CRC {"Conair Aviation" Canada}              CRD {"Air Corridor" Mozambique}
    CRE {"Cree Airways" Canada}                 CRF {"Croix Rouge Francais" France}
    CRG {Cargoitalia Italy}                     CRH {"CRI Helicopters Mexico" Mexico}
    CRJ {"Air Cruzal" Angola}                   CRK {"Hong Kong Airlines" "Hong Kong"}
    CRL {Corsairfly France}                     CRM {"Commander Mexicana" Mexico}
    CRN {"Empresa Aerocaribbean" Cuba}          CRO {"Crown Airways" "United States"}
    CRP {"Aerotransportes Corporativos" Mexico}    CRQ {"Air Creebec" Canada}
    CRR {Carranza Chile}                        CRS {"Comercial Aérea" Mexico}
    CRT {Caribintair Haiti}                     CRV {"Cargo Ivoire" "Ivory Coast"}
    CRW {Crownair Canada}                       CRX {"Cross Aviation" "United Kingdom"}
    CRY {"Primavia Limited" "United Kingdom"}    CSA {"Czech Airlines" "Czech Republic"}
    CSC {"Sichuan Airlines" China}              CSD {"Courier Services" "United States"}
    CSE {"CSE Aviation" "United Kingdom"}       CSF {Clasair "United Kingdom"}
    CSH {"Shanghai Airlines" China}             CSI {"Central Skyport" "United States"}
    CSJ {"Castle Aviation" "United States"}     CSK {Flightcraft "United States"}
    CSL {"California Air Shuttle" "United States"}    CSM {"Ratkhan Air" Kazakhstan}
    CSN {"China Southern Airlines" China}       CSO {"Casino Airline" "United States"}
    CSP {"Casper Air Service" "United States"}    CSQ {"IBC Airways" "United States"}
    CSS {"SF Airlines" China}                   CST {"Coast Air" Norway}
    CSU {"Chari Aviation Services" Chad}        CSV {"Coastal Travels" Tanzania}
    CSW {"SW Italia" Italy}                     CSX {"Choice Airways" "United States"}
    CSY {"Shuangyang General Aviation" China}    CSZ {"Shenzhen Airlines" China}
    CTA {"Aero Charter and Transport" "United States"}    CTD {Aerocorporativos Mexico}
    CTE {"Air Tenglong" China}                  CTF {"Cutter Aviation" "United States"}
    CTG {"Canadian Coast Guard" Canada}         CTH {"China General Aviation Corporation" China}
    CTK {"East Midlands Helicopters" "United Kingdom"}    CTL {"Central Airlines" "United States"}
    CTM {"Commandement Du Transport Aerien Militaire Francais" France}
    CTN {"Croatia Airlines" Croatia}            CTO {"Cape Air Transport" Australia}
    CTP {"Tashkent Aircraft Production Corporation" Uzbekistan}
    CTQ {"CTK Network Aviation" Ghana}          CTR {"Aerolíneas Centauro" Mexico}
    CTS {Center-South Russia}                   CTT {"Custom Air Transport" "United States"}
    CTV {"Escuela De Pilotos Are Aviación" Spain}    CTW {"Cargo Three" Panama}
    CTY {"Cryderman Air Service" "United States"}    CTZ {"CATA Línea Aérea" Argentina}
    CUA {"China United Airlines" China}         CUB {"Cubana de Aviación" Cuba}
    CUH {"Urumqi Airlines" China}               CUI {"Cancun Air" Mexico}
    CUK {"Polo Aviation" "United Kingdom"}      CUO {Aerocuahonte Mexico}
    CUT {"Court Helicopters" "South Africa"}    CVA {"Air Chathams" "New Zealand"}
    CVC {Centre-Avia Russia}                    CVE {"Cabo Verde Express" "Cape Verde"}
    CVF {"Dassault Falcon Jet Corporation" "United States"}
    CVG {"Carill Aviation" "United Kingdom"}    CVK {"CAVOK Airlines" Ukraine}
    CVL {"Coval Air" Canada}                    CVO {"Center Vol" Spain}
    CVR {"Chevron U.S.A" "United States"}       CVT {Peran Kazakhstan}
    CVU {"Grand Canyon Airlines" "United States"}    CVV {Comeravia Venezuela}
    CWA {"Canadian Western Airlines" Canada}    CWC {"Centurion Air Cargo" "United States"}
    CWD {"Caernarfon Airworld" "United Kingdom"}    CWE {"Celtic West" "United Kingdom"}
    CWH {"Canadian Warplane Heritage Museum" Canada}    CWK {"Comores Airlines" Comoros}
    CWL {"RAF Cranwell" "United Kingdom"}       CWM {"Air Marshall Islands" "Marshall Islands"}
    CWN {"Cardiff Wales Flying Club" "United Kingdom"}
    CWP {"Australian Customs Service" Australia}    CWR {"Beijing City International Jet" China}
    CWT {"Texas Airways" "United States"}       CWU {"Wuhan Airlines" China}
    CWW {Canair China}                          CWX {"Crow Executive Air" "United States"}
    CWY {"Woodgate Aviation" "United Kingdom"}    CWZ {"Capitol Wings Airline" "United States"}
    CXA {"Xiamen Airlines" China}
    CXE {"Caicos Express Airways" "Turks and Caicos Islands"}    CXH {"China Xinhua Airlines" China}
    CXI {"Shanxi Airlines" China}               CXJ {"Xinjiang Airlines" China}
    CXN {"China Southwest Airlines" China}      CXO {"Conroe Aviation Services" "United States"}
    CXP {"Xtra Airways" "United States"}        CXS {"Boston-Maine Airways" "United States"}
    CYA {"Cheyenne Airways" "United States"}    CYC {"Cyprair Tours" Cyprus}
    CYD {AccessAir "United States"}             CYE {Aerocheyenne Mexico}
    CYF {"Company Flight" Denmark}              CYG {"Yana Airlines" Cambodia}
    CYH {"China Yunnan Airlines" China}         CYL {"Air One Cityliner" Italy}
    CYN {"Zhongyuan Aviation" China}            CYO {"Air Transport" "United States"}
    CYP {"Cyprus Airways" Cyprus}               CYS {"Cypress Airlines" Canada}
    CYT {"Crystal Shamrock" "United States"}    CYZ {"China Postal Airlines" China}
    DAA {"Decatur Aviation" "United States"}    DAB {"Dassault Aviation" France}
    DAC {"McDonnell Douglas" "United States"}    DAD {"Dorado Air" "Dominican Republic"}
    DAE {"DHL Aero Expreso" Panama}             DAF {"Danish Air Force" Denmark}
    DAG {"Dagestan Airlines" Russia}            DAH {"Air Algérie" Algeria}
    DAL {"Delta Air Lines" "United States"}     DAM {"Kyrgyzstan Department of Aviation" Kyrgyzstan}
    DAO {"Daallo Airlines" Djibouti}            DAP {"Aerovías DAP" Chile}
    DAR {"Danish Army" Denmark}                 DAS {"Damascene Airways" "Syrian Arab Republic"}
    DAU {Dauair Germany}                        DAV {"Dornier Aviation Nigeria" Nigeria}
    DAY {"Daya Aviation" "Sri Lanka"}           DBA {"Air Alpha" "United States"}
    DBC {"Gemini Air Group" "United States"}    DBD {"Air Niagara Express" Canada}
    DBJ {"Duchess of Britany (Jersey) Limited" "United Kingdom"}    DBK {"Dubrovnik Air" Croatia}
    DBR {"Dobrolet LLC" Russia}                 DCA {"Dreamcatcher Airways" "United Kingdom"}
    DCC {"Caribbean Air Cargo" Barbados}
    DCE {"Dutch Caribbean Express" "Netherlands Antilles"}
    DCL {"Transportes Aéreos Don Carlos" Chile}
    DCM {"FLTPLAN (anonymized service)" "United States"}    DCN {"Federal Armed Forces" Germany}
    DCO {"David Crawshaw Consultants Limited" "United Kingdom"}    DCS {"DC Aviation" Germany}
    DCT {"Direct Flight" "United Kingdom"}      DCV {"Discover Air" "United States"}
    DCX {Daimler-Chrysler "United States"}      DDA {"D & D Aviation" "United States"}
    DDL {"Danish Air Lines" Denmark}            DDS {"Addis Airlines" Ethiopia}
    DEA {"Delta Aerotaxi" Italy}                DEE {"Dixie Airways" "United States"}
    DEF {"Aviation Defense Service" France}     DEG {"Air Service Groningen" Netherlands}
    DEI {Ecoair Algeria}                        DEL {"Carib Aviation" "Antigua and Barbuda"}
    DES {"Servicios Aereos Especializados Destina" Mexico}    DET {"DETA Air" Kazakhstan}
    DEV {"Red Devils Parachute Display Team" "United Kingdom"}
    DFA {"Aero Coach Aviation" "United States"}    DFS {"Dwyer Aircraft Services" "United States"}
    DGA {"Yellow River Delta General Aviation" China}    DGO {"DGO Jet" Mexico}
    DGT {"Digital Equipment Corporation" "United States"}    DGX {Dasnair Switzerland}
    DHA {"Dahla Airlines" "Democratic Republic of Congo"}    DHC {"De Havilland" Canada}
    DHE {"DAP Helicopteros" Chile}              DHI {"Adam Air" Indonesia}
    DHK {"DHL Air Limited" "United Kingdom"}    DHL {"Astar Air Cargo" "United States"}
    DHM {"Archer Aviation" "United Kingdom"}    DHV {"DHL Aviation" "South Africa"}
    DHX {"DHL International" Bahrain}           DIA {"Direct Air" "United States"}
    DIC {Aeromedica Mexico}                     DIN {Aerodin Mexico}
    DIP {"Diplomatic Freight Services" "United Kingdom"}    DIR {"Dirgantara Air Service" Indonesia}
    DIS {"Di Air" Serbia}                       DIX {"Dix Aviation" Germany}
    DJA {"Antinea Airlines" Algeria}            DJE {"Durango Jet" Mexico}
    DJR {"Desert Jet" "United States"}          DJS {DayJet "United States"}
    DJT {"Denver Jet" "United States"}          DJU {"Air Djibouti" Djibouti}
    DKA {Daka Kazakhstan}                       DKE {"Jubilee Airways" "United Kingdom"}
    DKH {"Juneyao Airlines" China}              DKN {"Deccan Charters" India}
    DKT {"Sioux Falls Aviation" "United States"}    DKY {"Servicios Aéreos Elite" Spain}
    DLA {"Air Dolomiti" Italy}                  DLC {"Dehong South Asian General Aviation" China}
    DLH {Lufthansa Germany}                     DLI {"Delta Express International" Ukraine}
    DLK {"Millennium Airlines" "Sri Lanka"}     DLR {"Dala Air Services" Nigeria}
    DLS {"Aero Modelo" Mexico}                  DLU {"Aerolíneas del Sur" Chile}
    DMC {"Aerodinamica de Monterrey" Mexico}    DMD {"Namdeb Diamond Corporation" Namibia}
    DMF {DMCFLY Mexico}                         DMI {"Aeroservicios Dinamicos" Mexico}
    DMJ {"Aerolíneas Damojh" Mexico}            DML {"Aerotaxis Dosmil" Mexico}
    DMO {"Domodedovo Airlines" Russia}          DNA {"Aerodespachos de El Salvador" "El Salvador"}
    DNC {"Aerodynamics Málaga" Spain}           DND {"Eldinder Aviation" Sudan}
    DNI {"Servicios Aéreos Denim" Mexico}       DNJ {"Aerodynamics Incorporated" "United States"}
    DNK {"D&K Aviation" "United States"}
    DNL {"Dutch Antilles Express" "Netherlands Antilles"}    DNM {"Denim Air" Netherlands}
    DNR {"Dynamair Aviation" Canada}            DNS {"Dniproaviaservis Company" Ukraine}
    DNU {"Danu Oro Transportas" Lithuania}      DNV {Donavia Russia}
    DNY {"Danish Navy" Denmark}                 DOA {"Dominicana de Aviación" "Dominican Republic"}
    DOC {"Norsk Luftambulanse" Norway}
    DOD {"USAF Air Mobility Operations Control Center" "United States"}
    DOI {"U.S. Department of the Interior" "United States"}
    DOJ {"Justice Prisoner and Alien Transportation System" "United States"}
    DOM {"Dos Mundos" "Dominican Republic"}     DON {"Donair Flying Club" "United Kingdom"}
    DOP {Dancopter Denmark}                     DOR {Dornier Germany}
    DOT {"Telnic Limited" "United Kingdom"}     DPJ {"Delta Private Jets" "United States"}
    DPL {"Dome Petroleum" Canada}               DQA {"Maldivian (airline)" Maldives}
    DRB {"Didier Rousset Buy" Chile}            DRC {"Triton Airlines" Canada}
    DRD {"Aereo Dorado" Mexico}                 DRE {"Drummond Island Air" "United States"}
    DRF {"Dream Flyers Training Center" Spain}    DRK {"Druk Air" Bhutan}
    DRL {"Omni Air Transport" "United States"}    DRM {"Airways Flight Training" "United Kingdom"}
    DRN {"Central De Discos De Reynosa" Mexico}    DRO {"Aeronaves Del Noreste" Mexico}
    DRT {Darta France}                          DRU {"Alrosa Air Company" Russia}
    DRX {"Des R Cargo Express" Mauritania}      DRY {"Deraya Air Taxi" Indonesia}
    DSA {"Danbury Airways" "United States"}     DSC {"Addis Air Cargo Services" Ethiopia}
    DSH {"Dash Air Charter" "United States"}    DSK {"Aero Algarve" Portugal}
    DSL {"Meridian Aviation" "United Kingdom"}    DSM {"LATAM Argentina" Argentina}
    DSN {DESNA Ukraine}                         DSO {"Dassault Falcon Service" France}
    DSQ {"Dasab Airlines" Uganda}               DSR {"DAS Air Cargo" Uganda}
    DST {"Aex Air" "United States"}             DSU {"Delta State University" "United States"}
    DTA {"TAAG Angola Airlines" Angola}         DTH {"Tassili Airlines" Algeria}
    DTN {"Data International" Sudan}            DTR {"DAT Danish Air Transport" Denmark}
    DTV {"Centre Airlines" "United States"}     DTY {"Destiny Air Services" "Sierra Leone"}
    DUB {"Dubai Airwing" "United Arab Emirates"}    DUK {Ducair Luxembourg}
    DUN {Dun'Air Mauritania}                    DUO {"Duo Airways" "United Kingdom"}
    DVA {"Discovery Airways" "United States"}    DVB {"Don Avia" Kazakhstan}
    DVI {"Aero Davinci International" Mexico}    DVN {Adventia Spain}
    DWN {"Dawn Air" "United States"}            DWR {"Delaware Skyways" "United States"}
    DWT {"Darwin Airline" Switzerland}          DWW {"Jet Courier Service" "United States"}
    DXH {"East Star Airlines" China}            DXP {"Dallas Express Airlines" "United States"}
    DYA {"Dynamic Airways" "United States"}     DYE {"Dynamic Air" Netherlands}
    DYN {"Aero Dynamics" "United States"}       DZR {"Midwest Aviation" "United States"}
    EAB {"Swiss Eagle" Switzerland}             EAC {"Executive Air Charter" "United States"}
    EAD {"Escola De Aviacao Aerocondor" Portugal}    EAE {"Aeroservicios Ecuatorianos" Ecuador}
    EAF {"European Aviation Air Charter" "United Kingdom"}
    EAG {"European Aeronautical Group UK" "United Kingdom"}
    EAH {"Baltimore Airways" "United States"}    EAI {"Elite Air" Togo}
    EAK {"Euro-Asia Air" Kazakhstan}            EAL {"European Air Express" Germany}
    EAM {"Embassy Airlines" Nigeria}            EAN {"Skypower Express Airways" Nigeria}
    EAP {Aero-Pyrenees France}                  EAQ {"Eastern Australia Airlines" Australia}
    EAR {"Transporte Ejecutivo Aéreo" Mexico}    EAT {"Air Transport" Slovakia}
    EAV {"Eagle Airlines Luftverkehrsges" Austria}    EAX {"Eastern Air Executive" "United Kingdom"}
    EAY {"Aero Airlines" Estonia}               EAZ {"Eastern Air" Zambia}
    EBA {"Bond Aviation" Italy}                 EBC {"Aero Ejecutivo De Baja California" Mexico}
    EBE {"Minebea Technologies" "United States"}    EBF {"MSR Flug-Charter" Germany}
    EBG {Eurosense Bulgaria}                    EBJ {"European Business Jets" "United Kingdom"}
    EBS {"AEG Aviation Services" "United States"}    ECA {"Eurocypria Airlines" Cyprus}
    ECB {"European Coastal Airlines" Croatia}    ECC {"Eclair Aviation" "Czech Republic"}
    ECD {Ecotour Mexico}                        ECE {"Air City" Germany}
    ECF {Eurocopter France}                     ECG {"Aero Ejecutivos RCG" Mexico}
    ECI {"Eastern Carolina Aviation" "United States"}    ECJ {"East Coast Jets" "United States"}
    ECL {"Aeronáutica Castellana" Spain}        ECM {"Aerolíneas Comerciales" Mexico}
    ECN {"Euro Continental AIE" Spain}          ECQ {"Eco Air" Nigeria}
    ECS {"Executive Aircraft Charter and Charter Services" Ireland}
    ECT {"East Coast Airways" "South Africa"}    ECU {Ecuavia Ecuador}
    ECV {"Ecuatoguineana De Aviación (EGA)" "Equatorial Guinea"}    ECX {"Ecomex Air Cargo" Angola}
    ECY {"Euroceltic Airways" "United Kingdom"}    EDA {"Aerolineas Nacionales Del Ecuador" Ecuador}
    EDC {"Air Charter Scotland" "United Kingdom"}
    EDD {"Líneas Aéreas Ejectuivas De Durango" Mexico}
    EDJ {"Edwards Jet Center of Montana" "United States"}
    EDL {"Polizeihubschrauberstaffel Bayern" Germany}    EDO {Elidolomiti Italy}
    EDR {"Líneas Aéreas Eldorado" Colombia}     EDV {"Endeavor Air" "United States"}
    EDW {"Edelweiss Air" Switzerland}           EDY {"Apollo Air Service" "United Kingdom"}
    EEA {"Empresa Ecuatoriana De Aviación" Ecuador}    EEF {"Estonian Air Force" Estonia}
    EES {"Eagle Express" Serbia}                EET {"Air Este" Spain}
    EEU {"Eurofly Service" Italy}               EEZ {Eurofly Italy}
    EFC {"Air Mana" France}                     EFD {"Eisele Flugdienst" Germany}
    EFG {Elifriulia Italy}                      EFL {"Eagle Air" Tanzania}
    EFS {"EFAOS- Agencia De Viagens e Turismo" Angola}
    EFT {"Embassy Freight Company" "United States"}
    EGF {"American Eagle Airlines" "United States"}    EGJ {"Eagle Jet Charter" "United States"}
    EGL {"Capital Trading Aviation" "United Kingdom"}    EGN {"Eagle Aviation France" France}
    EGO {"Gauteng Air Cargo" "South Africa"}    EGR {"Eagle Air" "Sierra Leone"}
    EGU {"Eagle Air" Uganda}                    EGV {"Enrique Gleisner Vivanco" Chile}
    EGX {"Eagle Air Company" Thailand}          EGY {"Egyptian Air Force" Egypt}
    EHA {"East Hampton Aire" "United States"}    EHD {"E H Darby Aviation" "United States"}
    EHR {Valfell-Verkflug Iceland}
    EIA {"Evergreen International Airlines" "United States"}
    EIC {"Express International Cargo" "São Tomé and Príncipe"}
    EIJ {"Efata Papua Airlines" Indonesia}      EIN {"Aer Lingus" Ireland}
    EIR {Eirjet Ireland}                        EIS {"EIS Aircraft" Germany}
    EIX {"Ei Air Exports" Ireland}              EJA {NetJets "United States"}
    EJC {"Grupo De Aviación Ejecutiva" Mexico}    EJD {"Elite Jets" "United Arab Emirates"}
    EJM {"Executive Jet Management" "United States"}
    EJO {"Execujet Middle East" "United Arab Emirates"}
    EJP {"Aeroservicios Ejecutivos Corporativos" Mexico}    EJS {"Eurojet Servis" "Czech Republic"}
    EJT {"Eclipse Aviation" "United States"}    EJU {"easyJet Europe" Austria}
    EJV {"Compania Ejecutiva" Mexico}           EJX {"Egyptian Aviation" Egypt}
    EKA {"Equaflight Service" "Republic of the Congo"}
    EKC {"East Kansas City Aviation" "United States"}    ELA {"Eastland Air" Australia}
    ELB {Elieuro Italy}                         ELG {"Alpi Eagles" Italy}
    ELH {"Elilario Italia" Italy}               ELJ {"Delta Private Jets" "United States"}
    ELL {"Estonian Air" Estonia}                ELM {Crelam Mexico}
    ELN {"Eleron Aviation Company" Ukraine}     ELO {Eurolot Poland}
    ELR {"Elrom Aviation and Investments" Israel}    ELS {"El Sal Air" "El Salvador"}
    ELT {"Elliott Aviation" "United States"}    ELU {"Egyptian Leisure Airlines" Egypt}
    ELV {"Transportes Aéreos Nacionales De Selva Tans" Peru}
    ELW {"Yellow Wings Air Services" Kenya}     ELX {"Elan Express" "United States"}
    ELY {"El Al Israel Airlines" Israel}        EMA {"Egyptian Aviation Company" Egypt}
    EMB {"Empresa Brasileira De Aeronáutica" Brazil}
    EMD {"Eaglemed (Ballard Aviation)" "United States"}
    EME {"Eastern Metro Express" "United States"}    EMI {"Premium Air Shuttle" Nigeria}
    EMJ {"Yellow Air Taxi/Friendship Airways" "United States"}
    EMN {"Examiner Training Agency" "United Kingdom"}    EMP {"Empire Air Service" "United States"}
    EMR {"Zenmour Airlines" Mauritania}         EMS {"Aero Servicios Empresariales" Mexico}
    EMT {Emetebe Ecuador}                       EMU {"East Asia Airlines" Macao}
    EMX {"Euromanx Airways" Austria}
    ENA {"Dirección General de Aviación Civil y Telecomunicasciones" Spain}
    ENC {Endecots Ecuador}                      END {"Arrendadora y Transportadora Aérea" Mexico}
    ENI {Enimex Estonia}                        ENK {"Enkor JSC" Russia}
    ENR {"Scenic Air" Namibia}                  ENS {"Entergy Services" "United States"}
    ENT {"Enter Air" Poland}                    ENV {"Victoria Aviation" "United Kingdom"}
    ENW {"Aeronaves Del Noroeste" Spain}        ENY {"Envoy Air" "United States"}
    ENZ {"Jota Aviation" "United Kingdom"}      EOA {Elilombarda Italy}
    EOL {Airailes France}                       EOM {"Aero Ermes" Mexico}
    EPB {"Eastern Pacific Aviation" Canada}
    EPC {"Espace Aviation Services" "Democratic Republic of the Congo"}
    EPE {"Aero Empresarial" Mexico}             EPL {"Aero Transportes Empresariales" Mexico}
    EPR {"Express Airways" Slovenia}            EPU {"Aero Elite Acapulco" Mexico}
    EQC {"Ecuatorial Cargo" "Equatorial Guinea"}
    EQL {"Air São Tomé and Príncipe" "São Tomé and Príncipe"}
    EQT {"Equatorial Airlines" "Equatorial Guinea"}    EQZ {"Equatair Air Services (Zambia)" Zambia}
    ERC {"Esso Resources Canada" Canada}        ERE {"Erie Airways" "United States"}
    ERF {Erfoto Portugal}                       ERG {Avianergo Russia}
    ERH {"Era Helicopters" "United States"}     ERI {"Aero Servicios Regiomontanos" Mexico}
    ERJ {"Eurojet Italia" Italy}                ERK {Aerosec Chile}
    ERM {Aeromaan Mexico}                       ERO {"Sun D'Or" Israel}
    ERT {"Eritrean Airlines" Eritrea}           ERV {Yerevan-Avia Armenia}
    ERX {"Earth Airlines Services" Nigeria}     ESB {Aereosaba Mexico}
    ESC {"El Sol De América" Venezuela}         ESE {"Ensenada Vuelos Especiales" Mexico}
    ESF {"Estafeta Carga Aérea" Mexico}         ESI {"ESI Eliservizi Italiani" Italy}
    ESJ {"Eastern SkyJets" "United Arab Emirates"}    ESK {SkyEurope Slovakia}
    ESL {"Russian Sky Airlines" Russia}         ESN {"Euro Sun" Turkey}
    ESO {Avitat "United Kingdom"}               ESR {"Eastar Jet" "South Korea"}
    ESS {"Eos Airlines" "United States"}        EST {"Carga Express Internacional" Mexico}
    ESU {"Aerolíneas Ejecutivas Del Sureste" Mexico}    ESX {Euroskylink "United Kingdom"}
    ESZ {"Aeronáutica La Esperanza" Mexico}     ETA {"Estrellas Del Aire" Mexico}
    ETC {"African Transport Trading and Investment Company" Sudan}
    ETD {"Etihad Airways" "United Arab Emirates"}    ETE {"Aero Siete" Mexico}
    ETH {"Ethiopian Airlines" Ethiopia}         ETI {"H-Bird Aviation Services AB" Sweden}
    ETL {"Patterson Aviation Company" "United States"}    ETM {"Etram Air Wing" Angola}
    ETN {"Chim-Nir Aviation" Israel}            ETP {"Empire Test Pilots' School" "United Kingdom"}
    ETS {"Flygtransporter I Nykoping" Sweden}    ETV {"European Executive" "United Kingdom"}
    EUC {Eurocontrol Belgium}                   EUG {"Euroguineana de Aviación" "Equatorial Guinea"}
    EUJ {EUjet Ireland}                         EUK {"Air Atlanta Europe" "United Kingdom"}
    EUP {"Pan Europeenne Air Service" France}    EUT {"European 2000 Airlines" Malta}
    EUU {"Euroamerican Air" Uruguay}            EUW {"EFS European Flight Service" Sweden}
    EUY {"EU Airways" Ireland}                  EVA {"EVA Air" Taiwan}
    EVE {"Evelop Airlines" Spain}               EVK {"Everett Aviation" Kenya}
    EVL {"Evolem Aviation" France}
    EVM {"Natural Environment Research Council" "United Kingdom"}    EVN {Euraviation Italy}
    EVR {"Aeronautical Academy of Europe" Portugal}    EVT {"Everett Limited" Tanzania}
    EVY {"34 Squadron, Royal Australian Air Force" Australia}
    EWA {"East-West Airlines" Australia}        EWE {"Eurowings Europe" Austria}
    EWG {Eurowings Germany}                     EWR {"Ewa Air" France}
    EWS {"Enterprise World Airways" "Democratic Republic of the Congo"}
    EWW {"Emery Worldwide Airlines" "United States"}    EXA {"Execair Aviation" Canada}
    EXB {"Brazilian Army Aviation" Brazil}      EXC {"European Executive Express" Sweden}
    EXE {"Executive Flight" "United States"}    EXF {Eximflight Mexico}
    EXG {"Air Exchange" "United States"}        EXH {"G5 Executive" Switzerland}
    EXJ {"Executive Jet Charter" "United Kingdom"}    EXK {"Executive Airlines" "United States"}
    EXL {"Sunshine Express Airlines" Australia}
    EXM {"United Kingdom Civil Aviation Authority" "United Kingdom"}    EXN {Exin Poland}
    EXP {"Island Air Express" "United States"}    EXR {"Expertos En Carga" Mexico}
    EXS {Jet2.com "United Kingdom"}             EXT {"Night Express" Germany}
    EXU {"Executive Airlines" Spain}            EXV {FitsAir "Sri Lanka"}
    EXW {"Executive Airlines Services" Nigeria}
    EXX {"International Air Corporation" "United States"}
    EXY {"South African Express" "South Africa"}    EXZ {"East African Safari Air Express" Kenya}
    EYE {"F.S. Air Service" "United States"}    EZB {"Flugschule Eichenberger" Switzerland}
    EZD {"Zest Airways" Philippines}            EZE {"Eastern Airways" "United Kingdom"}
    EZJ {"Ezjet GT" Guyana}                     EZS {"easyJet Switzerland" Switzerland}
    EZX {"Eagle Express Air Charter" Malaysia}    EZY {easyJet "United Kingdom"}
    FAB {"First Air" Canada}                    FAC {"Atlantic Helicopters" Denmark}
    FAD {Rog-Air Canada}                        FAE {Freshaer "United Kingdom"}
    FAF {"Force Aerienne Francaise" France}     FAG {"Argentine Air Force" Argentina}
    FAH {"Farnair Hungary" Hungary}             FAJ {"Air Fiji" Fiji}
    FAK {"Financial Airxpress" "United States"}    FAL {"Friendship Air Alaska" "United States"}
    FAM {"Fumigación Aérea Andaluza" Spain}     FAN {"AF-Air International" Angola}
    FAO {"Falcon Air Express" "United States"}    FAP {"Parsons Airways Northern" Canada}
    FAQ {Aerofaq Ecuador}                       FAR {"Falcon Air" Slovenia}
    FAS {"Freedom Airways" Cyprus}              FAT {"ASL Airlines Switzerland" Switzerland}
    FAU {"Falcon Airline" Nigeria}              FAV {"Fair Aviation" "South Africa"}
    FAW {"Falwell Aviation" "United States"}    FAX {"Midwest Air Freighters" "United States"}
    FAY {"Fayban Air Services" Nigeria}         FAZ {"Flint Aviation Services" "United States"}
    FBA {"Fab Air" Kyrgyzstan}                  FBF {"Fine Airlines" "United States"}
    FBO {"TAG Farnborough Airport" "United Kingdom"}
    FBW {"Aviation Data Systems" "United States"}    FCA {"First Choice Airways" "United Kingdom"}
    FCB {Cobalt Cyprus}                         FCC {"First Cambodia Airlines" Cambodia}
    FCE {Flycolumbia Spain}                     FCI {"Air Carriers" "United States"}
    FCJ {"AirSprint US" "United States"}        FCK {"FCS Flight Calibration Services" Germany}
    FCL {"Florida Coastal Airlines" "United States"}    FCN {"Falcon Air" Sweden}
    FCO {Aerofrisco Mexico}                     FCP {"Nelson Aviation College Ltd" "New Zealand"}
    FCR {"Flying Carpet Company" Lebanon}       FCS {"Facts Air" Mexico}
    FCT {"Fly CI Limited" "United Kingdom"}     FCU {"Alfa 4" Mexico}
    FCV {"Flight Centre Victoria" Canada}       FDA {"African Airlines" Mali}
    FDB {Flydubai UAE}                          FDF {"IVV Femida" Russia}
    FDL {"Farmingdale State University" "United States"}
    FDN {"Dolphin Air" "United Arab Emirates"}    FDO {"France Douanes" France}
    FDP {"Flight Dispatch Services" Poland}     FDR {"Federal Air" "South Africa"}
    FDS {"African Medical and Research Foundation" Kenya}    FDX {"FedEx Express" "United States"}
    FDY {"Sun Air International" "United States"}    FEA {"Far Eastern Air Transport" Taiwan}
    FEC {"Denver Express" "United States"}      FED {"Líneas Aéreas Federales" Argentina}
     FEE {"Fly Europa Limited" "United Kingdom"}    FEI {"Eagle Air" Iceland}
     FEG {FlyEgypt Egypt}
    FEO {Aeroferinco Mexico}                    FER {"Feria Aviación" Spain}
    FES {"Aero Taxis Y Servicios Alfe" Mexico}    FET {"Old Dominion Freight Lines" "United States"}
    FEX {Flightexec Canada}                     FEY {"Fly Easy" India}
    FFA {Avialesookhrana Russia}                FFB {"Africair Service" Senegal}
    FFC {"Fairoaks Flight Centre" "United Kingdom"}    FFD {"Stuttgarter Flugdienst" Germany}
    FFF {"Freedom Air Services" Nigeria}        FFG {"Flugdienst Fehlhaber" Germany}
    FFH {"Shalom Air Services" Nigeria}         FFI {"Infinit Air" Spain}
    FFL {"Intavia Limited" "United Kingdom"}    FFM {Firefly Malaysia}
    FFP {"Fischer Air Polska" Poland}           FFR {"Fischer Air" "Czech Republic"}
    FFS {"Florida Department of Agriculture" "United States"}
    FFT {"Frontier Airlines" "United States"}    FFU {"GEC Marconi Avionics" "United Kingdom"}
    FFY {"Fun Flying Thai Air Service" Thailand}    FGA {"Georgian Aviation Federation" Georgia}
    FGC {"Departament d'Agricultura de laGeneralitat de Catalunya" Spain}
    FGE {"Fly Georgia" Georgia}                 FGL {"Futura Gael" Ireland}
    FGN {"National Gendarmerie" France}
    FGP {"Flying-Research Aerogeophysical Center" Russia}    FGS {Elitellina Italy}
    FGT {"Aero Freight" Mexico}                 FGY {"Froggy Corporate Aviation" Australia}
    FHE {Hello Switzerland}                     FHL {"Fast Helicopters" "United Kingdom"}
    FHS {"Forth and Clyde Helicopter Services" "United Kingdom"}    FHY {"Freebird Airlines" Turkey}
    FIA {"Fly One" Moldova}                     FIC {Aerosafin Mexico}
    FIF {"Air Finland" Finland}                 FII {"Aerodata Flight Inspection" Germany}
    FIL {"Fly Line" Spain}                      FIN {Finnair Finland}
    FIR {"First Line Air" "Sierra Leone"}       FIV {CitationAir "United States"}
    FIX {"Airfix Aviation" Finland}             FJC {"Falcon Jet Centre" "United Kingdom"}
    FJE {Silverjet "United Kingdom"}            FJI {"Fiji Airways" Fiji}
    FJM {"Fly Jamaica Airways" Jamaica}         FJS {"Florida Jet Service" "United States"}
    FJX {"Jet Sky Cargo and Air Charter" Kenya}    FKI {"FLM Aviation Mohrdieck" Germany}
    FKL {"Kelner Airways" Canada}               FKS {"Focus Air" "United States"}
    FLA {"Midway Express" "United States"}
    FLC {"FINFO Flight Inspection Aircraft" "United States"}    FLD {"Air Falcon" Pakistan}
    FLE {"Flair Airlines" Canada}               FLF {"Friendship Airlines" Uganda}
    FLG {"Pinnacle Airlines" "United States"}    FLH {"Sky Bus" "United States"}
    FLI {"Atlantic Airways" "Faroe Islands"}    FLK {"Flylink Express" Spain}
    FLL {"Federal Airlines" Sweden}             FLM {"Fly Air" Turkey}
    FLN {"Flamingo Air-Line" Kazakhstan}        FLO {Flycom Slovenia}
    FLP {"Aeroclub Flaps" Spain}                FLR {Fleetair "South Africa"}
    FLS {Fairlines Netherlands}                 FLT {Flightline "United Kingdom"}
    FLU {"Flugschule Basel" Switzerland}        FLW {"FLowair Aviation" France}
    FLX {"Flight Express, Inc." "United States"}    FLY {"Fly Me Sweden" Sweden}
    FLZ {"Aero Leasing" "United States"}
    FMC {"Claessens International Limited" "United Kingdom"}
    FMG {"FMG Verkehrsfliegerschule Flughafen Paderborn-Lippstadt" Germany}
    FMI {"FMI Air" Myanmar}                     FMR {"Flamingo Air" "United States"}
    FMS {"Hadison Aviation" "United States"}    FMT {"Air Fret De Mauritanie" Mauritania}
    FMY {"Aviation Legere De L'Armee De Terre" France}    FNA {Norlandair Iceland}
    FNC {"Finalair Congo" "Republic of the Congo"}    FNF {"Finnish Air Force" Finland}
    FNG {"Frontier Guard" Finland}              FNK {"Feniks Airline" Kazakhstan}
    FNL {"Oulun Tilauslento" Finland}           FNM {"Avio Nord" Italy}
    FNO {"Aeroflota Del Noroeste" Spain}
    FNT {"L-3 Communications Flight International Aviation" "United States"}
    FNV {Transaviaservice Georgia}              FNX {"Aero Fenix" France}
    FNY {"France Marine Nationale" France}      FOB {"Ford Motor Company" "United Kingdom"}
    FOC {"Office Federal De'Aviation Civile" Switzerland}
    FOI {"Flight Ops International" "United States"}    FOM {"Freedom Air" "New Zealand"}
    FOP {Fokker Netherlands}                    FOR {"Formula One Management" "United Kingdom"}
    FOS {"Formosa Airlines" Taiwan}             FPA {Flygprestanda Sweden}
    FPG {"TAG Aviation" Switzerland}            FPO {"Europe Airpost" France}
    FPR {"Peruvian Air Force" Peru}             FPS {"Flightpass Limited" "United Kingdom"}
    FPY {"African Company Airlines" "Democratic Republic of the Congo"}
    FQA {"Quikjet Cargo Airlines" India}        FRA {"FR Aviation" "United Kingdom"}
    FRB {"Fly Rak" "United Arab Emirates"}      FRC {"Icare Franche Compte" France}
    FRE {"Freedom Air" "United States"}         FRF {"Fleet Air International" Hungary}
    FRG {"Freight Runners Express" "United States"}    FRJ {"Afrijet Airlines" Nigeria}
    FRK {"Afrika Aviation Handlers" Kenya}      FRL {"Freedom Airlines" "United States"}
    FRM {"Federal Armored Service" "United States"}    FRN {"Farnair Netherlands" Netherlands}
    FRQ {"Afrique Chart'air" Cameroon}          FRR {"Fresh Air" Nigeria}
    FRT {"Aerofreight Airlines" Russia}         FRW {"Farwest Airlines" "United States"}
    FRX {"Fort Aero" Estonia}                   FSA {"Foster Aviation" "United States"}
    FSB {"FSB Flugservice & Development" Germany}
    FSC {"Four Star Aviation / Four Star Cargo" "United States"}    FSD {EFS-Flugservice Germany}
    FSH {"Flash Airlines" Egypt}                FSL {"Flight Safety Limited" "United Kingdom"}
    FSR {"Flightstar Corporation" "United States"}    FST {"Aeros Limited" "United Kingdom"}
    FSU {"Flight Support Sweden" Sweden}        FSW {"Faso Airways" "Burkina Faso"}
    FSX {"Flagship Express Services" "United States"}    FSY {"Algonquin Airlink" Canada}
    FTA {"Frontier Flying Service" "United States"}    FTC {"Air Affaires Tchad" Chad}
    FTE {"Fotografia F3" Spain}                 FTL {Flightline Spain}
    FTM {"Flyteam Aviation" "United Kingdom"}    FTP {"Keystone Aerial Surveys" "United States"}
    FTR {Finist'air France}                     FTS {"First Sabre" Mexico}
    FTY {"ABC Bedarfsflug" Austria}             FTZ {Fastjet Tanzania}
    FUA {"Futura International Airways" Spain}    FUF {"Servicios Aereos Fun Fly" Mexico}
    FUJ {"Fujairah Aviation Centre" "United Arab Emirates"}    FUM {"Fuxion Line Mexico" Mexico}
    FUN {"Funtshi Aviation Service" "Democratic Republic of the Congo"}
    FUT {"Aereo Futuro" Mexico}                 FVA {"Cardinal/Air Virginia" "United States"}
    FVK {FlyViking Norway}
    FVS {"Falcon Aviation Services" "United Arab Emirates"}
    FWA {"Interstate Airlines" Netherlands}     FWC {"Freeway Air" Netherlands}
    FWD {"Fair Wind Air Charter" "United Arab Emirates"}    FWI {"Air Caraïbes" France}
    FWK {Flightworks "United States"}
    FWL {"Florida West International Airways" "United States"}
    FWQ {"Flight West Airlines" Australia}      FWY {"Fairways Corporation" "United States"}
    FWZ {"Flugwerkzeuge Aviation Software" Austria}    FXA {"Express Air" "United States"}
    FXC {"Fortunair Canada" Canada}             FXF {"VIP Air Charter" "United States"}
    FXI {"Air Iceland" Iceland}                 FXL {"Fly Excellent" Sweden}
    FXR {Foxair Italy}                          FXT {Flexflight Denmark}
    FXY {Flexair Netherlands}                   FYA {"Servicios Aéreos Integrales /Flyant" Spain}
    FYE {"Easy Link Aviation Services" Nigeria}    FYG {"Flying Service" Belgium}
    FYH {"Flyhy Cargo Airlines" Thailand}       FYN {"Comfort Air" Germany}
    FYS {"American Flyers" "United States"}     GAA {"Business Express" "United States"}
    GAB {"Gendall Air" Canada}                  GAC {GlobeAir Austria}
    GAD {"South Coast Aviation" "United Kingdom"}    GAE {"Grand Aire Express" "United States"}
    GAF {"German Air Force" Germany}            GAG {"Greybird Pilot Academy" Denmark}
    GAH {"Ga-Ma Helicoptere" France}            GAI {"Moskovia Airlines" Russia}
    GAJ {"Gamma Charters" "United States"}
    GAK {"Global Aviation and Services Group" Libya}    GAL {"Galaxy Air" Kyrgyzstan}
    GAM {"German Army" Germany}                 GAN {"Gander Aviation" Canada}
    GAO {"Golden Air" Sweden}                   GAP {"Air Philippines" Philippines}
    GAQ {"Golfe Air Quebec" Canada}             GAR {"Commodore Aviation" Australia}
    GAS {"Galena Air Service" "United States"}    GAT {"Gulf Air Inc" "United States"}
    GAU {Aerogaucho Uruguay}                    GAV {"Granada Aviación" Spain}
    GAX {"Full Express" "United States"}        GBB {"Global Aviation Operations" "South Africa"}
    GBC {"Guangxi Beibu Gulf Airlines" China}    GBE {"Gabon Express" Gabon}
    GBH {"Global Avia Handling" Russia}         GBJ {"Aero Business Charter" Germany}
    GBL {"GB Airways" "United Kingdom"}         GBN {"Atlantic Airlines" Gabon}
    GBO {"Ogooue Air Cargo" Gabon}              GBR {"Rader Aviation" "United States"}
    GBS {"Global Air Services Nigeria" Nigeria}    GBT {"Gold Belt Air Transport" Canada}
    GBX {"GB Airlink" "United States"}
    GCB {"Lignes Nationales Aeriennes - Linacongo" "Republic of the Congo"}    GCC {GECAS Ireland}
    GCF {Aeronor Spain}                         GCH {"Gama Aviation Switzerland" Switzerland}
    GCK {"Aerogem Cargo" Ghana}                 GCM {"Comair Flight Services" "South Africa"}
    GCN {"Gulf Central Airlines" "United States"}    GCO {"Gemini Air Cargo" "United States"}
    GCR {"Tianjin Airlines" China}              GCS {"GCS Air Service" "United States"}
    GCW {"Global Air Crew" Denmark}
    GCY {"CHC Global Operations International" "United Kingdom"}    GDA {GoldAir "United Kingdom"}
    GDB {"Gendarmerie Belge" Belgium}           GDD {"Golden Airlines" "United States"}
    GDE {"Servicios Aéreos Gadel" Mexico}       GDF {"DF Aviation" Ukraine}
    GDG {"S.P. Aviation" "United States"}       GDH {"Guneydogu Havacilik Isletmesi" Turkey}
    GDK {Goldeck-Flug Austria}                  GDN {"Gerry's Dnata" Pakistan}
    GDQ {"Lincoln Air National Guard" "United States"}
    GEA {"Guinea Ecuatorial Airlines" "Equatorial Guinea"}    GEC {"Lufthansa Cargo" Germany}
    GED {"Europe Air Lines" France}             GEE {Geesair Canada}
    GEN {GENSA Brazil}                          GES {Gestair Spain}
    GET {GETRA "Equatorial Guinea"}             GFA {"Gulf Air" Bahrain}
    GFC {"Gail Force Express" "United States"}
    GFD {"Gesellschaft Fur Flugzieldarstellung" Germany}    GFF {"Griffin Aviation" Cyprus}
    GFG {"Georgian National Airlines" Georgia}
    GFI {"Caribbean Star Airlines" "Antigua and Barbuda"}
    GFN {"The 955 Preservation Group" "United Kingdom"}    GFO {"Aerovías del Golfo" Mexico}
    GFS {"Gulfstream Airlines" "United States"}
    GFT {"Gulfstream International Airlines" "United States"}    GFW {"GFW Aviation" Australia}
    GGA {"First Flying Squadron" "United States"}    GGC {"Cargo 360" "United States"}
    GGE {"Gobierno De Guinea Ecuatorial" "Equatorial Guinea"}
    GGF {"Georgian Cargo Airlines Africa" Senegal}    GGL {Aeronáutica Angola}
    GGN {"Air Georgian" Canada}                 GGS {GATSA Mexico}
    GGT {"Trans Island Airways" Bahamas}        GGV {"Houston Jet Services" Austria}
    GGZ {"Global Georgian Airways" Georgia}     GHA {"Ghana Airways" Ghana}
    GHB {"Ghana International Airlines" Ghana}    GHI {"GH Stansted Limited" "United Kingdom"}
    GHL {Aviance "United Kingdom"}              GHM {"Aero Service Bolivia" Bolivia}
    GHN {"Air Ghana" Ghana}                     GHP {"Colvin Aviation" "United States"}
    GHS {"Gatari Hutama Air Services" Indonesia}    GHT {"Ghadames Air Transport" Libya}
    GHV {"Ground Handling Service de Mexico" Mexico}    GHY {"German Sky Airlines" Germany}
    GIA {"Garuda Indonesia" Indonesia}          GIB {GR-Avia Guinea}
    GIC {"Compagnie de Bauxites de Guinee" Guinea}    GIF {"Guinee Airlines" Guinea}
    GIG {"Gacela Air Cargo" Mexico}
    GIH {"Union des Transports Africains de Guinee" Guinea}    GIJ {"Guinea Airways" Guinea}
    GIK {"Seba Airlines" Guinea}                GIL {"African International Transport" Guinea}
    GIP {"Air Guinee Express" Guinea}           GIQ {"Guinee Paramount Airlines" Guinea}
    GIY {"Probiz Guinee" Guinea}                GIZ {"Africa Airlines" Guinea}
    GJA {"Globe Jet" Lebanon}                   GJB {Trans-Air-Link "United States"}
    GJS {"GoJet Airlines" "United States"}      GJT {"Gestión Aérea Ejecutiva" Spain}
    GKA {"US Army Parachute Team" "United States"}    GLA {"Great Lakes Airlines" "United States"}
    GLB {"Global Airways (GLB)" "United States"}    GLC {"Global Aircargo" Bahrain}
    GLD {"Golden Star Air Cargo" Sudan}         GLE {"Goliaf Air" "São Tomé and Príncipe"}
    GLF {"Gulfstream Aerospace" "United States"}    GLG {Aerogal Ecuador}
    GLJ {"Global Jet Austria" Austria}          GLL {"Air Gemini" Angola}
    GLM {"Aero Services Mali" Mali}             GLO {"Gol Transportes Aéreos" Brazil}
    GLP {"Globus Airlines" Russia}              GLQ {"El Quilada International Aviation" Sudan}
    GLR {"Central Mountain Air" Canada}         GLS {Galaircervis Ukraine}
    GLT {"Aero Charter" "United States"}        GLU {"Great Lakes Airways (Uganda)" Uganda}
    GLW {"Global Wings" Japan}                  GMA {"Gama Aviation" "United Kingdom"}
    GMC {"General Motors" "United States"}      GME {"Aguilas Mayas Internacional" Guatemala}
    GMG {"GMG Airlines" Bangladesh}             GMH {"Hughes Aircraft Company" "United States"}
    GMI {Germania Germany}                      GMJ {"Gamisa Aviación" Spain}
    GML {"G & L Aviation" "South Africa"}       GMM {"Aerotaxis Guamuchil" Mexico}
    GMQ {"Germania Express" Germany}            GMR {"Golden Myanmar Airlines" Myanmar}
    GMS {"Aeroservicios Gama" Mexico}           GMT {"Grupo Aéreo Monterrey" Mexico}
    GNA {"Servicios Aéreos Gana" Mexico}        GNC {"Guinea Cargo" "Equatorial Guinea"}
    GND {"Grand Airways" "United States"}       GNF {"Gandalf Airlines" Italy}
    GNJ {"Gain Jet Aviation" Greece}            GNL {"135 Airways" "United States"}
    GNR {"Gambia International Airlines" Gambia}
    GNS {"Eastern Executive Air Charter" "United Kingdom"}    GNT {"Amber Air" Lithuania}
    GNX {Genex Belarus}                         GNY {"German Navy" Germany}
    GNZ {"General Aviation" Poland}             GOA {"Alberta Government" Canada}
    GOB {"Dash Aviation" "United Kingdom"}      GOF {Gof-Air Mexico}
    GOI {Gofir Switzerland}                     GOJ {"EuroJet Aviation" "United Kingdom"}
    GOL {Cardolaar Namibia}                     GOM {"Gomel Airlines" Belarus}
    GON {"Gonini Air Services" Suriname}        GOP {"Gospa Air" Mexico}
    GOR {"Gorlitsa Airlines" Ukraine}           GOS {"Goldfields Air Services" Australia}
    GOT {WaltAir Sweden}                        GOW {GoAir India}
    GPA {"Golden Pacific Airlines" "United States"}    GPC {"Gulf Pearl Air Lines" Libya}
    GPD {"Tradewind Aviation" "United States"}    GPE {"GP Express Airlines" "United States"}
    GPM {"Grup Air-Med" Spain}                  GPR {"GPM Aeroservicio" Mexico}
    GRA {"Guardian Air Asset Management" "South Africa"}
    GRD {"National Grid plc" "United Kingdom"}    GRE {Greenlandcopter Denmark}
    GRG {"Air Georgia" Georgia}                 GRI {"Air Cargo Center" "São Tomé and Príncipe"}
    GRL {"Air Greenland" "Greenland
       Denmark"}    GRN {"Rio Grande Air" "United States"}
    GRO {Allegro Mexico}                        GRP {"Great Plains Airlines" "United States"}
    GRR {"Agroar - Trabalhos Aéreos" Portugal}    GRS {"Golden Rule Airlines" Kyrgyzstan}
    GRT {Gabon-Air-Transport Gabon}             GRV {"Vernicos Aviation" Greece}
    GRX {"Aircompany Grodno" Belarus}           GRY {"New York State Police" "United States"}
    GRZ {"Government ofZambia Communications Flight" Zambia}
    GSA {"Garden State Airlines" "United States"}    GSJ {"Grossmann Jet Service" "Czech Republic"}
    GSK {"Global Sky Aircharter" "United States"}    GSL {"Geographic Air Surveys" Canada}
    GSM {Flyglobespan "United Kingdom"}         GSP {"Airlift Alaska" "United States"}
    GSS {"Global Supply Systems" "United Kingdom"}    GSV {Agrocentr-Avia Kazakhstan}
    GSW {"Sky Wings Airlines" Greece}           GSY {"Guard Systems" Norway}
    GTC {"Altin Havayolu Tasimaciligi Turizm Ve Ticaret" Turkey}
    GTH {"General Aviation Flying Services" "United States"}    GTI {"Atlas Air" "United States"}
    GTP {"Aerotaxi Grupo Tampico" Mexico}       GTR {Gestar Chile}
    GTV {"Empresa de Aviación Aerogaviota" Cuba}    GTX {"GTA Air" "United States"}
    GTY {"National Aviation Company" Egypt}     GUA {"Aerotaxis de Aguascalientes" Mexico}
    GUE {"Aero Servicio Guerrero" Mexico}       GUF {"Gulf African Airlines" "The Gambia"}
    GUG {Aviateca Guatemala}                    GUJ {"Gujarat Airways" India}
    GUL {"Gull Air" "United States"}            GUM {"Gum Air" Suriname}
    GUN {"Grant Aviation" "United States"}      GUS {Guja Mexico}
    GUY {"Air Guyane Express" "French Guyana"}    GVG {"Flygaktiebolaget Gota Vingar" Sweden}
    GVI {"Air Victoria Georgia" Georgia}        GVN {Gavina Spain}
    GWA {"Great Western Air" "United States"}    GWI {Germanwings Germany}
    GWL {"Great Wall Airlines" China}           GWN {"Gwyn Aviation" "United Kingdom"}
    GWS {"General Airways" "South Africa"}      GWY {"USA3000 Airlines" "United States"}
    GXA {Grixona Moldova}                       GXL {"XL Airways Germany" Germany}
    GXY {"Galaxy Airlines" Japan}               GYP {"Eagle Aviation" "United Kingdom"}
    GZA {"Excellent Air" Germany}               GZD {"Grizodubova Air Company" Russia}
    GZP {Gazpromavia Russia}                    GZQ {"Zagros Air" Iran}
    HAA {"Helicopteros Agroforestal" Chile}     HAC {"Henebury Aviation" Australia}
    HAD {"Air d'Ayiti" Haiti}                   HAF {"Hellenic Air Force" Greece}
    HAG {"Hageland Aviation Services" "United States"}    HAH {"Air Comores International" Comoros}
    HAI {"Century Aviation International" Canada}    HAJ {"Hajvairy Airlines" Pakistan}
    HAK {"Pegasus Helicopters" Norway}          HAL {"Hawaiian Airlines" "United States"}
    HAM {"Haiti Ambassador Airlines" Haiti}     HAN {"Hansung Airlines" "Republic of Korea"}
    HAP {"Helicopteros Aero Personal" Mexico}    HAR {"Harbor Airlines" "United States"}
    HAS {"Honduras Airlines" Honduras}          HAT {"Air Taxi" France}
    HAU {Skyhaul Japan}                         HAV {"Havilah Air Services" Nigeria}
    HAW {"Bangkok Aviation Center" Thailand}    HAX {Benair Norway}
    HAY {"Hamburg Airways" Germany}             HBA {"Trail Lake Flying Service" "United States"}
    HBC {"Haitian Aviation Line" Haiti}         HBI {"CHC Denmark" Denmark}
    HBL {Faroecopter Denmark}                   HBT {"Polizeihubschrauberstaffel Thüringen" Germany}
    HBU {"Universal Avia" Ukraine}              HCA {"Lake Havasu Air Service" "United States"}
    HCB {"Helenair (Barbados)" Barbados}        HCC {"Holidays Czech Airlines" "Czech Republic"}
    HCK {Heli-Charter "United Kingdom"}         HCL {"Helenair Corporation" "Saint Lucia"}
    HCP {Helicopter "Czech Republic"}           HCV {Halcyonair "Cape Verde"}
    HCW {"Star1 Airlines" Lithuania}            HCY {"Helios Airways" Cyprus}
    HDA {"Cathay Dragon" "Hong Kong"}           HDC {"Helcopteros De Cataluna" Spain}
    HDI {"Hoteles Dinamicos" Mexico}            HDR {Helikopterdrift Norway}
    HEA {"Heliavia-Transporte Aéreo" Portugal}    HEB {"Heli Bernina" Switzerland}
    HEC {"Heliservicio Campeche" Mexico}
    HED {"Heritage Aviation Developments" "United Kingdom"}    HEI {Aerohein Chile}
    HEJ {"Hellas Jet" Greece}                   HEL {Helicol Colombia}
    HEM {"CHC Helicopter" Australia}
    HEN {"Helicópteros Y Vehículos Nacionales Aéreos" Mexico}    HER {Hex'Air France}
    HET {"TAF Helicopters" Spain}               HEX {"Honiara Cargo Express" "Solomon Islands"}
    HEZ {"Arrow Aviation" Israel}               HFM {"Hi Fly Malta" Malta}
    HFR {"Heli France" France}                  HFY {"Hi Fly" Portugal}
    HGA {"Hogan Air" "United States"}           HGD {"Hangard Aviation" Mongolia}
    HGH {"Atlantic Air Lift" France}            HGK {"Fika Salaama Airlines" Uganda}
    HGR {"Hangar 8" "United Kingdom"}           HGT {"GMJ Air Shuttle" "United States"}
    HHA {"Atlantic Airlines de Honduras" Honduras}    HHE {Heli-Holland Netherlands}
    HHH {Helicsa Spain}                         HHI {"Hamburg International" Germany}
    HHN {"Hahn Air" Germany}                    HHO {"Houston Helicopters" "United States"}
    HHP {"Helenia Helicopter Service" Denmark}    HHS {"Hi-Jet Helicopter Services" Suriname}
    HIA {"Canadian Eagle Aviation" Canada}      HIB {"Helibravo Aviacao" Portugal}
    HID {"Aviación Ejecutiva De Hildago" Mexico}    HIF {"Heli-Iberica Fotogrametria" Spain}
    HIG {"Heli-Inter Guyane" France}            HIM {"Himalaya Airlines" Nepal}
    HIN {"Holding International Group" Mexico}    HIP {Starship Mexico}
    HIS {"Hispaniola Airways" "Dominican Republic"}    HIT {Helitalia Italy}
    HJA {"Air Haiti" Haiti}                     HJE {"Servicios Ejecutivos Gosa" Mexico}
    HJL {"Hamlin Jet" "United Kingdom"}         HJT {"Al Rais Cargo" "United Arab Emirates"}
    HKA {"Superior Aviation" "United States"}    HKB {"Hawker Beechcraft" "United States"}
    HKC {"Hong Kong Air Cargo" "Hong Kong"}     HKE {"Hong Kong Express Airways" "Hong Kong"}
    HKG {"Government Flying Service" "Hong Kong SAR of China"}    HKH {Air-Invest Hungary}
    HKI {Hawkaire "United States"}              HKL {"Hak Air" Nigeria}
    HKN {"Jim Hankins Air Service" "United States"}    HKR {"Hawk Air" Argentina}
    HKS {"CHC Helikopter Service" Norway}       HLA {"HC Airlines" "United Kingdom"}
    HLB {"High-Line Airways" Canada}            HLC {Helicap France}
    HLD {"Grampian Flight Centre" "United Kingdom"}    HLE {"UK HEMS" "United Kingdom"}
    HLF {Hapagfly Germany}                      HLG {Helog Switzerland}
    HLH {"Hala Air" Sudan}                      HLI {"Heli Securite" France}
    HLK {Heli-Link Switzerland}                 HLM {"Heli Medwest De Mexico" Mexico}
    HLN {"Air Holland" Netherlands}             HLO {"Samaritan Air Service" Canada}
    HLP {Helipistas Spain}                      HLR {"Heli Air Services" Bulgaria}
    HLS {"Haiti Air Freight" Haiti}             HLT {Helitours "Sri Lanka"}
    HLU {"Heli Union Heli Prestations" France}    HLW {Heliworks Chile}
    HLX {"Hapag-Lloyd Express (TUIfly)" Germany}    HMA {"Air Tahoma" "United States"}
    HMC {"Heliamerica De Mexico" Mexico}
    HMD {"Charlie Hammonds Flying Service" "United States"}    HMF {Norrlandsflyg Sweden}
    HMM {"Hamra Air" "United Arab Emirates"}    HMP {"Papair Terminal" Haiti}
    HMR {"North American Charters" Canada}      HMS {"Hemus Air" Bulgaria}
    HMT {"Air Nova" "United Kingdom"}           HMV {"Homac Aviation" Luxembourg}
    HMX {"Hawk De Mexico" Mexico}               HMY {"Harmony Airways" Canada}
    HNA {"Greek Navy" Greece}                   HNL {"CHC Helicopters Netherlands" Netherlands}
    HNR {"Haiti National Airlines (HANA)" Haiti}    HNT {"Helicopteros Internacionales" Mexico}
    HOA {"Hola Airlines" Spain}                 HOG {"Mahogany Air Charters" Zambia}
    HOL {"Holiday Airlines (US Airline)" "United States"}    HOM {"Aero Homex" Mexico}
    HOP {Hop! France}                           HOR {"Horizon Air-Taxi" Switzerland}
    HOZ {"Horizontes Aéreos" Mexico}            HPA {"Pearl Airways" Haiti}
    HPJ {Hop-A-Jet "United States"}             HPL {Heliportugal Portugal}
    HPO {"Almiron Aviation" Uganda}             HPR {"Rick Lucas Helicopters" "New Zealand"}
    HPS {"Horizon Plus" Bangladesh}             HQO {Avinor Norway}
    HRA {Heli-Iberica Spain}                    HRB {"Haiti International Airline" Haiti}
    HRH {"Royal Tongan Airlines" Tonga}         HRI {"Skyraidybos Mokymo Centras" Lithuania}
    HRN {"Heron Luftfahrt" Germany}             HRS {"Pursuit Aviation" "United States"}
    HRT {"Chartright Air" Canada}               HRZ {"Croatian Air Force" Croatia}
    HSA {"East African Safari Air" Kenya}       HSE {"Compania Helicopteros Del Sureste" Spain}
    HSH {"Hispánica de Aviación" Spain}         HSI {Heliswiss Switzerland}
    HSK {"Sky Europe Airlines" Slovakia}        HSM {"Horizon Air for Transport and Training" Libya}
    HSN {"H.S.AVIATION CO., LTD." Thailand}     HSO {"Campania Helicopteros De Transporte" Spain}
    HSP {"International Jet Charter" "United States"}    HSR {"Citylink Airlines" "United States"}
    HSS {"Compañía Transportes Aéreos Del Sur" Spain}    HSU {Helisul Portugal}
    HSV {"Svenska Direktflyg" Sweden}           HSY {"Sky Helicopteros" Spain}
    HTA {Helitrans Norway}                      HTB {"Helix-Craft Aviation" Panama}
    HTC {"Haiti Trans Air" Haiti}               HTE {"Midwest Helicopters De Mexico" Mexico}
    HTG {"Grossmann Air Service" Austria}       HTI {"Haiti International Air" Haiti}
    HTL {"My Fair Jet" Austria}                 HTN {"Haiti North Airline" Haiti}
    HTO {"Tango Bravo" France}                  HTP {"Heli Trip" Mexico}
    HTR {"Holstenair Lubeck" Germany}           HTS {"Helitrans Air Service" "United States"}
    HTT {"Air Tchad" Chad}                      HTU {"Hongtu Airlines" China}
    HUB {"Hub Airlines" "United States"}        HUC {"Aerolíneas de Techuacán" Mexico}
    HUD {"Horizons Unlimited" "United States"}    HUF {"Hungarian Air Force" Hungary}
    HUR {"Miami Air Charter" "United States"}    HUS {"Huessler Air Service" "United States"}
    HUT {"Aerotransportes Huitzilin" Mexico}    HUV {"Hunair Hungarian Airlines" Hungary}
    HUY {"Aero Transportes Del Humaya" Mexico}    HVA {Newair "United States"}
    HVK {"Turkish Air Force" Turkey}
    HVL {"Heavylift International" "United Arab Emirates"}    HVN {"Vietnam Airlines" Vietnam}
    HVY {"Heavylift Cargo Airlines" Australia}    HWD {"HPM Investments" "United Kingdom"}
    HWY {"Highland Airways" "United Kingdom"}    HXA {"China Express Airlines" China}
    HYA {"Hyack Air" Canada}                    HYC {"Hydro Air Flight Operations" "South Africa"}
    HYD {Hydro-Québec Canada}                   HYH {"Heli Hungary" Hungary}
    HYP {"Hyperion Aviation" Malta}             HYR {"Airlink Airways" Ireland}
    HZA {"Horizon Airlines" Australia}          HZL {"Hazelton Airlines" Australia}
    HZT {"Air Horizon" Togo}                    HZX {"Citic General Aviation" China}
    IAA {"Indonesian Airlines" Indonesia}       IAC {"Indian Airlines" India}
    IAD {"Fly Wex" Italy}                       IAE {"AC Insat-Aero" Russia}
    IAF {"Israeli Air Force" Israel}            IAG {EPAG France}
    IAI {"Israel Aircraft Industries" Israel}    IAJ {"Islandair Jersey" "United Kingdom"}
    IAK {"International Air Cargo Corporation" Egypt}    IAR {"Iliamna Air Taxi" "United States"}
    IAS {"International Air Service" "United States"}    IAW {"Iraqi Airways" Iraq}
    IAX {"International Air Services" Liberia}    IAY {"Deadalos Flugtbetriebs" Austria}
    IBB {"Binter Canarias" Spain}               IBC {"Ibicenca Air" Spain}
    IBE {"Iberia Airlines" Spain}               IBG {"Springfield Air" "United States"}
    IBK {"Norwegian Air International" Ireland}    IBL {"IBL Aviation" Mauritius}
    IBR {"Ibertour Servicios Aéreos" Spain}     IBS {"Iberia Express" Spain}
    IBT {"Ibertrans Aérea" Spain}               IBU {"Indigo Airlines" "United States"}
    IBX {"Ibex Airlines" Japan}
    IBY {"International Business Aircraft" "United States"}
    IBZ {"International Business Air" Sweden}    ICA {Icaro Italy}
    ICB {"Icebird Airline" Iceland}             ICC {"Institut Cartogràfic de Catalunya" Spain}
    ICD {"Icaro Air" Ecuador}                   ICE {Icelandair Iceland}
    ICG {"Icelandic Coast Guard" Iceland}       ICJ {Icejet Iceland}
    ICL {"CAL Cargo Air Lines" Israel}          ICM {"Air Inter Cameroun" Cameroon}
    ICN {Inter-Canadian Canada}                 ICP {Intercopters Spain}
    ICR {"Eagle Aero" "United States"}          ICS {"International Charter Services" Mexico}
    ICT {"Intercontinental de Aviación" Colombia}    ICV {"Cargolux Italia" Italy}
    ICX {"International Charter Xpress" "United States"}
    IDA {"Indonesia Air Transport" Indonesia}    IDE {"Independence Air" "United States"}
    IDG {"IDG Technology Air" "Czech Republic"}    IDL {"Ildefonso Redriguez" Mexico}
    IDP {"Independent Air Freighters" Australia}    IDR {"Indicator Company" Hungary}
    IEP {Elipiu' Italy}                         IFA {"FAI Air Service" Germany}
    IFC {"Indian Air Force" India}              IFF {"Interfreight Forwarding" Sudan}
    IFI {"Air Lift" Greece}                     IFL {"IFL Group" "United States"}
    IFM {Ifly Greece}                           IFS {"Italy First" Italy}
    IFT {Interflight "United Kingdom"}
    IFX {"International Flight Training Academy" "United States"}    IGA {Skytaxi Poland}
    IGN {"Interguide Air" Nigeria}              IGO {"IndiGo Airlines" India}
    IGS {"Isle Grande Flying School" "United States"}    IHE {"Interjet Helicopters" Greece}
    IHS {Thryluthjonustan Iceland}              IIC {"Inter Island Air Charter" Bahamas}
    IIG {"International Company for Transport, Trade and Public Works" Libya}
    IIL {"India International Airways" India}    IIN {"Inter Island Airways" "Cape Verde"}
    IJA {"International Jet Aviation Services" "United States"}
    IJE {"Ivoire Jet Express" "Ivory Coast"}    IJM {"IJM International Jet Management" Austria}
    IJS {Silvair "United States"}               IJT {"Interflight (Learjet)" "United Kingdom"}
    IJW {"Interjet Inc." "United States"}       IKA {"Itek Air" Kyrgyzstan}
    IKK {"IKI International Airlines" Japan}    IKM {"Aero Survey" Ghana}
    IKN {"IKON FTO" Germany}                    IKR {"Ikaros DK" Denmark}
    IKY {"Intersky Bulgary" Bulgaria}           ILC {"ILAS Air" Japan}
    ILF {"Island Air Charters" "United States"}    ILK {"Aero Airline" Kazakhstan}
    ILL {Ilyich-Avia Ukraine}                   ILN {"Interair South Africa" "South Africa"}
    ILP {"Ilpo Aruba Cargo" Aruba}              ILS {"Servicios Aéreos Ilsa" Mexico}
    ILV {Il-Avia Russia}                        IMA {"Inter-Mountain Airways" "United States"}
    IME {"Airtime Charters" "United Kingdom"}    IMG {"Imperial Cargo Airlines" Ghana}
    IMN {"Aerotaxis Cimarron" Mexico}           IMR {Imaer Portugal}
    IMT {"Imtrec Aviation" Cambodia}            IMX {"Zimex Aviation" Switzerland}
    INA {"Aero Internacional" Mexico}
    INC {"Insel Air International" "Netherlands Antilles"}    IND {"Iona National Airways" Ireland}
    ING {Aeroingenieria Chile}                  INK {Sincom-Avia Ukraine}
    INL {"Intal Avia" Kyrgyzstan}               INO {"Aeroservicios Intergrados de Norte" Mexico}
    INP {"Peruvian Navy" Peru}                  INS {"Inflite The Jet Centre" "United Kingdom"}
    INT {Intair Canada}                         INU {"Flyguppdraget Backamo" Sweden}
    INV {Inversija Latvia}                      INX {"Inter Express" Turkey}
    IOA {"Iowa Airways" "United States"}        IOM {"Island Aviation and Travel" "United Kingdom"}
    IOS {"Isles of Scilly Skybus" "United Kingdom"}    IPA {"IPEC Aviation" Australia}
    IPL {"Airpull Aviation" Spain}              IPM {"IPM Europe" "United Kingdom"}
    IPN {"Industri Pesawat Terbang Nusantara" Indonesia}
    IPR {"Independent Carrier (ICAR)" Ukraine}    IPT {"Interport Corporation" "United States"}
    IQQ {"Caribbean Airways" Barbados}          IRA {"Iran Air" Iran}
    IRB {"Iranair Tours" Iran}                  IRC {"Iran Aseman Airlines" Iran}
    IRD {"Arvand Airlines" Iran}                IRE {"Pariz Air" Iran}
    IRF {"TA-Air Airline" Iran}                 IRG {"Iranian Naft Airlines" Iran}
    IRH {"Atlas Aviation Group" Iran}           IRI {Navid Iran}
    IRJ {"Bonyad Airlines" Iran}                IRK {"Kish Air" Iran}
    IRL {"Irish Air Corps" Ireland}             IRM {"Mahan Air" Iran}
    IRO {"CSA Air" "United States"}             IRP {"Payam Air" Iran}
    IRQ {"Qeshm Air" Iran}                      IRR {"Tara Air Line" Iran}
    IRU {"Chabahar Airlines" Iran}              IRV {"Safat Airlines" Iran}
    IRW {"Aram Airline" Iran}                   IRX {"Aria Tour" Iran}
    IRY {"Eram Air" Iran}                       IRZ {"Saha Airlines Services" Iran}
    ISA {"Island Airlines" "United States"}     ISD {"ISD Avia" Ukraine}
    ISF {"International Stabilisation Assistance Force" "United Kingdom"}    ISG {"Club Air" Italy}
    ISI {"Island Air" Mexico}                   ISK {Intersky Austria}
    ISL {Landsflug Iceland}                     ISM {"Auo Airclub AIST-M" Russia}
    ISN {"Interisland Airlines" Philippines}    ISR {Israir Israel}
    ISS {Meridiana Italy}                       IST {"Istanbul Airlines" Turkey}
    ISV {"Islena De Inversiones" Honduras}      ISW {"Islas Airways" Spain}
    ITA {Inter-Air "United States"}
    ITC {"International Air Carrier Association" Belgium}
    ITE {"Aerotaxi S.R.O." "Czech Republic"}    ITF {"Avita-Servicos Aéreos" Angola}
    ITH {"International Trans-Air" Nigeria}     ITK {"Interlink Airlines" "South Africa"}
    ITN {"Industrias Titan" Spain}              ITO {"Aero Citro" Mexico}
    ITR {"Frontier Commuter" "United States"}    ITS {"Inter-State Aviation" "United States"}
    ITU {Intervuelos Mexico}                    ITW {"Inter Air" Bulgaria}
    ITX {"Imair Airlines" Azerbaijan}           IUS {Icarus Italy}
    IVA {"Innotech Aviation" Canada}            IVE {"Air Executive" Spain}
    IVJ {"Flight International" "United States"}    IVR {Burundaiavia Kazakhstan}
    IVS {"Ivoire Aero Services" "Ivory Coast"}    IVT {Interaviatrans Ukraine}
    IVW {"Ivoire Airways" "Ivory Coast"}        IWD {Iberworld Spain}
    IWL {"Island Wings" Bahamas}                IWS {Aviainvest Russia}
    IWY {"Interisland Airways Limited" "Turks and Caicos Islands"}    IXR {Ixair France}
    IXX {"Dolphin Express Airlines" "United States"}    IYE {Yemenia Yemen}
    IZA {Izhavia Russia}                        IZG {"Zagros Airlines" Iran}
    IZM {Izair Turkey}                          JAA {"Jet Asia Airways" Thailand}
    JAB {"Air Bagan" Myanmar}                   JAC {"Japan Air Commuter" Japan}
    JAD {Aerojal Mexico}                        JAE {"Jade Cargo International" China}
    JAF {Jetairfly Belgium}                     JAG {Jetalliance Austria}
    JAI {"Jet Airways" India}                   JAK {Jana-Arka Kazakhstan}
    JAL {"Japan Airlines Domestic" Japan}       JAM {"Sunline Express" Kenya}
    JAR {Airlink Austria}                       JAS {"Jet Aviation Flight Services" "United States"}
    JAT {JetSMART Chile}                        JAV {"Jordan Aviation" Jordan}
    JAW {"Jamahiriya Airways" Libya}            JAX {Janair "United States"}
    JAZ {JALways Japan}                         JBA {Helijet Canada}
    JBR {"Job Air" "Czech Republic"}            JBU {"JetBlue Airways" "United States"}
    JCB {"J C Bamford (Excavators)" "United Kingdom"}    JCC {"Jetcraft Aviation" Australia}
    JCF {"Jet Center Flight Training" Spain}    JCH {"Trading Air Cargo" Mauritania}
    JCI {"Jordan International Air Cargo" Jordan}    JCK {"Jackson Air Services" Canada}
    JCM {"Secure Air Charter" "United States"}    JCR {"Rotterdam Jet Center" Netherlands}
    JCS {Jetclub Switzerland}                   JCT {"Jet Charter" "United States"}
    JCX {"Jet Connection" Germany}              JDA {JDAviation "United Kingdom"}
    JDC {"Deere and Company" "United States"}    JDG {"Joanas Avialinijos" Lithuania}
    JDI {"Jet Story" Poland}                    JDP {"JDP Lux" Luxembourg}
    JEA {"OLT Express" Poland}                  JEC {"Jett8 Airlines Cargo" Singapore}
    JED {"Jet East International" "United States"}    JEE {"Ambjek Air Services" Nigeria}
    JEF {Jetflite Finland}                      JEI {"Jet Executive International Charter" Germany}
    JEJ {"Jets Ejecutivos" Mexico}              JEK {"Jet Link" Israel}
    JEL {"Tal Air Charters" Canada}             JEM {"Emerald Airways" "United Kingdom"}
    JEP {"Jets Personales" Spain}               JES {"JS Aviation" Mexico}
    JET {"Wind Jet" Italy}                      JEV {"Lagun Air" Spain}
    JEX {"JAL Express" Japan}                   JFA {"Jetfly Aviation" Luxembourg}
    JFC {"LTV Jet Fleet Corporation" "United States"}    JFK {"Keenair Charter -" "United Kingdom"}
    JFL {"Jetfly Airlines" Austria}             JFS {"Juanda Flying School" Indonesia}
    JFU {Jet4You Morocco}                       JFY {"Foster Yeoman" "United Kingdom"}
    JGD {"Jet G&D Aviation" Israel}             JGJ {"Jinggong Jet" China}
    JGO {JetsGo Canada}                         JHM {"JHM Cargo Expreso" "Costa Rica"}
    JHN {"Johnson Air" "United States"}         JIA {"PSA Airlines" "United States"}
    JIB {Jibair Djibouti}                       JIC {"Jetgo International" Thailand}
    JIM {"Sark International Airways" "United Kingdom"}    JJA {"Jeju Air" "Republic of Korea"}
    JJM {"Regional Geodata Air" Spain}          JJP {"Jetstar Japan" Japan}
    JKA {"LeTourneau University" "United States"}    JKK {Spanair Spain}
    JKR {"Justice Air Charter" "United States"}    JKT {"Jetstar Hong Kong Airways" China}
    JKY {"Helicopter & Aviation Services" "United Kingdom"}    JLA {"MIA Airlines" Romania}
    JLH {"Jetlink Holland" Netherlands}         JLN {"Eurojet Limited" Malta}
    JLX {"Jetlink Express" Kenya}
    JMB {"Jambo Africa Airlines" "Democratic Republic of Congo"}
    JMC {"JMC Airlines" "United Kingdom"}       JMG {JetMagic Ireland}
    JMJ {"Johnston Airways" "United States"}    JMK {Jetmagic Malta}
    JMM {"Joint Military Commission" Sudan}     JMP {Businesswings Germany}
    JMR {Alexandair Canada}                     JMT {"Jomartaxi Aereo" Mexico}
    JMX {"Air Jamaica Express" Jamaica}         JNA {"Jin Air" "South Korea"}
    JNH {"M & N Aviation" "United States"}      JNJ {"Journey Jet" Thailand}
    JNL {JetNetherlands Netherlands}            JNR {"Jet Norte" Mexico}
    JNV {"Jetnova de Aviación Ejecutiva" Spain}    JNY {"Jenney Beechcraft" "United States"}
    JOA {"Air Swift Aviation" Australia}        JOB {Aerojobeni Mexico}
    JOL {"Atyrau Air Ways" Kazakhstan}          JON {"Johnsons Air" Ghana}
    JOS {"DHL de Guatemala" Guatemala}          JPA {OSACOM "United States"}
    JPN {"Jeppesen UK" "United Kingdom"}        JPO {Jetpro Mexico}
    JPQ {"Jett Paqueteria" Mexico}              JPR {"Aerosmith Aviation" "United States"}
    JRF {"First Air Transport" Japan}           JRI {"Jetrider International" "United Kingdom"}
    JRN {"Jet Rent" Mexico}                     JSA {"Jetstar Asia Airways" Singapore}
    JSE {"Jets Y Servicios Ejecutivos" Mexico}    JSH {Jet-stream Hungary}
    JSI {"Jet Air Group" Russia}                JSJ {"JS Air" Pakistan}
    JSM {"Jet Stream" Moldova}                  JSP {"Palmer Aviation" "United Kingdom"}
    JST {"Jetstar Airways" Australia}           JSV {"Japan Aircraft Service" Japan}
    JSW {"Jigsaw Project" "United Kingdom"}     JTA {"Japan Transocean Air" Japan}
    JTC {"Jet Trans Aviation" Ghana}            JTE {"National Jet Express" Australia}
    JTF {"Jet Time" Finland}                    JTG {Jettime Denmark}
    JTI {"Cirrus Middle East" Lebanon}          JTL {"Jetall Holdings" Canada}
    JTM {"Exxavia Limited" Ireland}             JTN {"Jettrain Corporation" "United States"}
    JTR {"Executive Aviation Services" "United Kingdom"}
    JTS {"Arrendamiento de Aviones Jets" Mexico}    JTT {Jet-2000 Russia}
    JTU {Zhetysu Kazakhstan}                    JTX {"Jet Aspen Air Lines" "United States"}
    JTY {"Jatayu Airlines" Indonesia}           JUA {"Aero Juarez" Mexico}
    JUB {"Jubba Airways" Somalia}               JUC {"Juba Cargo Services & Aviation Company" Sudan}
    JUR {Ju-Air Switzerland}                    JUS {"USA Jet Airlines" "United States"}
    JVK {Jorvik Iceland}                        JWD {"Jayawijaya Dirgantara" Indonesia}
    JWY {"Jetways of Iowa" "United States"}     JXA {"Jetex Aviation" Lebanon}
    JXT {"Jetstream Executive Travel" "United Kingdom"}    JXX {"JetX Airlines" Iceland}
    JZA {"Air Canada Jazz" Canada}              JZR {"Jazeera Airways" Kuwait}
    KAA {"Asia Aero Survey and Consulting Engineers" "Republic of Korea"}
    KAC {"Kuwait Airways" Kuwait}               KAD {"Air Kirovograd" Ukraine}
    KAE {"Kartika Airlines" Indonesia}          KAH {"Kent Aviation" Canada}
    KAI {"Kaiser Air" "United States"}          KAJ {"Karthago Airlines" Tunisia}
    KAL {"Korean Air" "South Korea"}            KAM {"Air Mach" Italy}
    KAO {"Kazan Aviation Production Association" Russia}    KAP {"Cape Air" "United States"}
    KAR {Ikar "Russian Federation"}             KAS {"Kingston Air Services" Canada}
    KAT {"Kato Airline" Norway}                 KAV {"Air Kufra" Libya}
    KAW {"Kaz Air West" Kazakhstan}             KBA {"Kenn Borek Air" Canada}
    KBN {"Spiracha Aviation" Thailand}          KBV {Kustbevakningen Sweden}
    KCA {Trans-Kiev Ukraine}                    KCE {"Irving Oil" Canada}
    KCH {"KC International Airlines" Cambodia}    KCR {"Kolob Canyons Air Services" "United States"}
    KDA {"Kendell Airlines" Australia}          KDC {"K D Air Corporation" Canada}
    KDR {"Royal Daisy Airlines" Uganda}         KDZ {Flightworks "United States"}
    KEE {"Keystone Air Service" Canada}         KEK {Arkhabay Kazakhstan}
    KEM {CemAir "South Africa"}                 KEN {"Kenmore Air" "United States"}
    KES {"Kallat El Saker Air Company" Libya}    KEW {"Keewatin Air" Canada}
    KEY {"Key Airlines" "United States"}        KFA {"Kelowna Flightcraft Air Charter" Canada}
    KFC {"Kremenchuk Flight College" Ukraine}    KFK {"Aero Charter Krifka" Austria}
    KFR {"Kingfisher Airlines" India}           KFS {"Kalitta Charters II" "United States"}
    KFT {"Air Kraft Mir" Uzbekistan}            KGA {"Kyrgyzstan Airlines" Kyrgyzstan}
    KGB {"Kyrgz General Aviation" Kyrgyzstan}    KGC {"Peach Air" "United Kingdom"}
    KGD {"Air Concorde" Bulgaria}               KGL {"Kogalymavia Air Company" Russia}
    KGT {"Knights Airlines" Nigeria}            KGZ {"Kyrgyz Airlines" Kyrgyzstan}
    KHA {"Kitty Hawk Aircargo" "United States"}    KHB {Dalavia Russia}
    KHC {"Kitty Hawk Airways" "United States"}    KHE {"Kanfey Ha'emek Aviation" Israel}
    KHH {"Alexandria Airlines" Egypt}           KHK {"Kharkiv Airlines" Ukraine}
    KHO {"Khors Aircompany" Ukraine}            KHP {"Khoezestan Photros Air Lines" Iran}
    KHR {Khazar Turkmenistan}                   KHV {"Cambodia Angkor Air" Cambodia}
    KHX {"Knighthawk Express" "United States"}    KHY {"Khyber Afghan Airlines" Afghanistan}
    KIA {"Kiwi International Air Lines" "United States"}    KIE {Afit Germany}
    KIL {"Kuban Airlines" Russia}               KIN {"RAF Kinloss" "United Kingdom"}
    KIP {Kinnarps Sweden}                       KIS {Contactair Germany}
    KIW {"Royal New Zealand Air Force" "New Zealand"}    KIZ {"Kanaf-Arkia Airlines" Israel}
    KJC {"Krasnojarsky Airlines" Russia}        KKA {Kazavia Kazakhstan}
    KKB {"Air South" "United States"}           KKK {Atlasjet Turkey}
    KKS {Salem Kazakhstan}                      KLA {"Air Lithuania" Lithuania}
    KLB {"Air Mali International" Mali}         KLC {"KLM Cityhopper" "the Netherlands"}
    KLD {"Air Klaipėda" Lithuania}              KLE {Rusaero Russia}
    KLG {"Karlog Air Charter" Denmark}          KLH {"KLM Helicopter" Netherlands}
    KLM {KLM Netherlands}                       KLO {"Flight-Ops International" Canada}
    KLR {"Columbus Air Transport" "United States"}    KLS {"Kalstar Aviation" Indonesia}
    KLX {"Kelix Air" Nigeria}                   KLZ {Aerokaluz Mexico}
    KMA {"Komiaviatrans State Air Enterprise" Russia}
    KMB {"Delta Engineering Aviation" "United Kingdom"}
    KMC {"Kahama Mining Corporation" Tanzania}    KMF {"Kam Air" Afghanistan}
    KMG {"Kosmas Air" Serbia}                   KMI {"K-Mile Air" Thailand}
    KMP {"Kampuchea Airlines" Cambodia}         KMR {"Western Pacific Airlines" "United States"}
    KMV {Komiinteravia Russia}                  KNA {"Knight Air" Canada}
    KNG {"King Aviation" "United Kingdom"}      KNI {"KD Avia" Russia}
    KNM {"Komsomolsk-on-Amur Air Enterprise" Russia}
    KNS {"Kinshasa Airways" "Democratic Republic of the Congo"}
    KNX {"Knighthawk Air Express" Canada}       KOA {"Koanda Avacion" Spain}
    KOB {"Koob-Corp - 96 KFT" Hungary}          KOE {"Northland Aviation" "United States"}
    KOK {"Horizon Air Service" "United States"}    KOM {"Kom Activity" Netherlands}
    KOP {"Servicios Aéreos Copters" Chile}
    KOR {"Air Koryo" "Democratic People's Republic of Korea"}    KOS {"Kosova Airlines" Serbia}
    KOV {Orlan-2000 Kazakhstan}                 KOY {Araiavia Kazakhstan}
    KPA {"Kunpeng Airlines" China}              KPH {"Kazan Helicopters" Russia}
    KPM {"Sky Prim Air" Molodva}                KQA {"Kenya Airways" Kenya}
    KRA {"Transcontinental Airlines" Kazakhstan}    KRB {"Karibu Airways Company" Tanzania}
    KRC {"Royal New Zealand Air Force" "New Zealand"}    KRE {AeroSucre Colombia}
    KRF {"United Kingdom Royal VIP Flights" "United Kingdom"}    KRG {Krimaviamontag Ukraine}
    KRH {"United Kingdom Royal VIP Flight" "United Kingdom"}    KRI {"Krylo Airlines" Russia}
    KRM {"Crimea Universal Avia" Ukraine}       KRN {"Kaz Agros Avia" Kazakhstan}
    KRO {"Kroonk Air Agency" Ukraine}           KRP {Carpatair Romania}
    KRS {"Rosen Aviation" Japan}                KRT {"Air Kokshetau" Kazakhstan}
    KRV {Khoriv-Avia Ukraine}                   KSA {"K S Avia" Latvia}
    KSI {"Air Kissari" Angola}                  KSM {Kosmos Russia}
    KSP {"Servicios Aéreos Expecializados En Transportes Petroleros" Colombia}
    KSS {"Raytheon Travel Air" "United States"}    KST {"PTL Luftfahrtunternehmen" Germany}
    KSU {"Kansas State University" "United States"}    KTA {"Kirov Air Enterprise" Russia}
    KTB {Transaviabaltika Lithuania}            KTC {"Kyrgyz Trans Avia" Kyrgyzstan}
    KTK {Katekavia Russia}
    KTL {"P & P Floss Pick Manufacturers" "South Africa"}    KTN {Aeronavigaciya Ukraine}
    KTR {"HT Helikoptertransport" Sweden}       KTS {Transair-Gyraintiee Russia}
    KTV {"Kata Transportation" Sudan}           KUS {"National Airlines" "South Africa"}
    KVK {"Olimp Air" Kazakhstan}                KVR {"Alliance Avia" Kazakhstan}
    KVS {Kevis Kazakhstan}                      KVZ {"Z-Aero Airlines" Ukraine}
    KWA {"Vozdushnaya Academy" Kazakhstan}      KWN {"Kwena Air" "South Africa"}
    KWX {"Florida Aerocharter" "United States"}    KYB {"Skybridge AirOps" Italy}
    KYC {"Av Atlantic" "United States"}         KYD {"Sky Messaging" "South Africa"}
    KYE {"Sky Lease Cargo" "United States"}     KYM {Krym Ukraine}
    KYR {"Sky Aeronautical Services" Mexico}    KYV {"Cyprus Turkish Airlines" Turkey}
    KZA {"Kurzemes Avio" Russia}                KZE {"Euro-Asia Air International" Kazakhstan}
    KZH {"Zhez Air" Kazakhstan}                 KZM {"Phoebus Apolloa Zambia" Zambia}
    KZR {"Air Astana" Kazakhstan}               KZS {Kazaviaspas Kazakhstan}
    KZU {"Kuzu Airlines Cargo" Turkey}          KZW {"Khalifa Airways" Algeria}
    LAA {"Libyan Arab Airlines" Libya}          LAB {"L.A.B. Flying Service" "United States"}
    LAC {"Lockeed Aircraft Corporation" "United States"}
    LAD {"Lebanon Airport Development Corporation" "United States"}
    LAF {"Latvian Air Force" Latvia}            LAG {"Aviation Legacy" Gambia}
    LAH {"L A Helicopter" "United States"}
    LAJ {"British Mediterranean Airways" "United Kingdom"}    LAL {"Labrador Airways" Canada}
    LAM {"Linhas Aéreas de Moçambique" Mozambique}    LAN {"LATAM Chile" Chile}
    LAO {"Lao Airlines" "Lao People's Democratic Republic"}    LAP {"TAM Mercosur" Paraguay}
    LAQ {"Lebanese Air Transport" Lebanon}      LAR {"Lawrence Aviation" "United States"}
    LAT {"Lebanese Air Transport (charter)" Lebanon}    LAU {"Líneas Aéreas Suramericanas" Colombia}
    LAV {AlbaStar Spain}                        LAW {"Link Airways of Australia" Australia}
    LAX {"Laminar Air" Spain}                   LAY {"Layang-Layang Aerospace" Malaysia}
    LBC {"Albanian Airlines" Albania}           LBH {"Laker Airways (Bahamas)" "United States"}
    LBI {Albisa Mexico}                         LBQ {"Quest Diagnostics" "United States"}
    LBR {"Lepl Project Limited (Air Costa)" India}    LBT {"Nouvel Air Tunisie" Tunisia}
    LBW {"Albatros Airways" Albania}            LBY {"Belle Air" Albania}
    LBZ {"Angkasa Super Service" Indonesia}     LCA {"Leconte Airlines" "United States"}
    LCB {"LC Busre" Peru}                       LCC {"The Lancair Company" "United States"}
    LCD {"Líneas Aéreas Azteca" Mexico}
    LCG {"Lignes Aeriennes Congolaises" "Democratic Republic of the Congo"}
    LCH {"Lynch Flying Service" "United States"}    LCM {"Líneas Aéreas Comerciales" Mexico}
    LCN {"Líneas Aéreas Canedo LAC" Bolivia}    LCO {"LATAM Cargo Chile" Chile}
    LCR {"Libyan Arab Air Cargo" Libya}         LCS {"RAF Leuchars" "United Kingdom"}
    LCT {"TAR Aerolineas" Mexico}
    LCY {"London City Airport Jet Centre" "United Kingdom"}    LDA {"Lauda Air" Austria}
    LDE {"LADE - Líneas Aéreas Del Estado" Argentina}
    LDG {"Aerolíneas Aéreas Ejecutivas De Durango" Mexico}    LDI {"Lauda Air Italy" Italy}
    LDL {Aerologic Russia}                      LDM {Laudamotion Austria}
    LDN {"Al-Donas Airlines" Nigeria}           LDR {"Aero Lider" Mexico}
    LEA {Unijet France}                         LEB {Lebap Turkmenistan}
    LEC {Linex "Central African Republic"}      LED {"Blom Geomatics" Norway}
    LEE {"RAF Leeming" "United Kingdom"}
    LEG {"The Army Aviation Heritage Foundation" "United States"}
    LEJ {"FSH Luftfahrtunternehmen" Germany}    LEL {"Leonsa De Aviación" Spain}
    LEM {Aleem Egypt}                           LEN {"Lentini Aviation" "United States"}
    LEP {"Laughlin Express" "United States"}
    LER {"Línea Aérea de Servicio Ejecutivo Regional" Venezuela}
    LET {"Aerolíneas Ejecutivas" Mexico}        LEU {Lions-Air Switzerland}
    LEX {"L'Express Airlines" "United States"}    LFA {"Air Alfa" Turkey}
    LFC {"Aero Control Air" Canada}             LFE {"Luxflight Executive" Luxembourg}
    LFI {"National Airways Corporation" "South Africa"}    LFL {"Executive Air" Zimbabwe}
    LFO {"Deutsches Zentrum fur Luft-und Raumfahrt EV" Germany}    LFP {"Alfa Aerospace" Australia}
    LFR {"Atlantic Airfreight Aviation" "São Tomé and Príncipe"}
    LFT {"Aerolift Company" "Sierra Leone"}     LGA {"Logistic Air" Malaysia}
    LGC {"Legacy Air" Thailand}                 LGD {"Legend Airlines" "United States"}
    LGL {Luxair Luxembourg}                     LGN {Aerolaguna Mexico}
    LGT {"Longtail Aviation" Bermuda}
    LGU {"Servicios Aéreos Ejecutivos De La Laguna" Mexico}
    LGW {"Luftfahrtgesellschaft Walter" Germany}    LHB {"Liebherr Geschaeftreiseflugzeug" Germany}
    LHC {"London Helicopter Centres" "United Kingdom"}
    LHN {"Express One International" "United States"}    LHR {"Al Ahram Aviation" Egypt}
    LHS {Luhansk Ukraine}                       LHT {"Lufthansa Technik" Germany}
    LIA {"Leeward Islands Air Transport" "Antigua and Barbuda"}
    LIB {"Polizeihubschrauberstaffel Hamburg" Germany}    LID {Alidaunia Italy}
    LIE {"Al-Dawood Air" Nigeria}               LIF {"Rocky Mountain Holdings" "United States"}
    LIJ {"Líneas Aéreas San Jose" Mexico}       LIL {FlyLal Lithuania}
    LIN {Aerolimousine Russia}                  LIQ {"Lid Air" Sweden}
    LIR {"Minsk Aircraft Overhaul Plant" Belarus}    LIS {"Eastern Express" Kazakhstan}
    LIV {"Air Livonia" Estonia}                 LJA {"Air Jamahiriya Company" Libya}
    LJY {"L J Aviation" "United States"}
    LKA {"Lao Capricorn Air" "Lao People's Democratic Republic"}
    LKD {"Lignes Aeriennes Du Tchad" Chad}      LKE {"Lucky Air" China}
    LKL {"Lakeland Aviation" "United States"}    LKN {Lankair "Sri Lanka"}
    LKP {"American Aviation" "United States"}    LKR {"Laker Airways" "United States"}
    LKS {"Airlink Solutions" Spain}             LKW {"Top Sky International" Indonesia}
    LKY {"Air Solutions" "United States"}       LLA {"Servico Leo Lopex" Mexico}
    LLB {"Lloyd Aéreo Boliviano" Bolivia}       LLD {"Lloyd Aviation" Venezuela}
    LLL {"Lao Skyway" "Lao People's Democratic Republic"}    LLM {"Yamal Airlines" Russia}
    LLO {"Operation Enduring Freedom" Canada}    LLR {"Thai Sky Airlines" Thailand}
    LLS {"Servicios Aéreos Estrella" Mexico}    LLX {"Small Planet Airlines" Germany}
    LMA {Aerolima Mexico}                       LMC {"Línea Aérea Mexicana de Carga" Mexico}
    LME {"Lignes Mauritaniennes Air Express" Mauritania}
    LMG {"South African Air Force" "South Africa"}    LMJ {Masterjet Portugal}
    LMK {"Grantex Aviation" "United Kingdom"}    LML {"Alamia Air" Libya}
    LMN {"Líneas Aéreas Monarca" Mexico}        LMO {"Sky One Holdings as Privaira" "United States"}
    LMP {"Air Plus Argentina" Argentina}        LMR {Lamra Sudan}
    LMS {"Lomas Helicopters" "United Kingdom"}    LMT {"Almaty Aviation" Kazakhstan}
    LMU {"Al Masria Universal Airlines" Egypt}    LMX {"Aerolíneas Mexicanas J S" Mexico}
    LMY {"Air Almaty" Kazakhstan}               LMZ {"Air Almaty ZK" Kazakhstan}
    LNA {"Lnair Air Services" Spain}            LNC {"LAN Dominicana" "Dominican Republic"}
    LNE {Aerolane Ecuador}
    LNG {"Lockheed Martin Aeronautics Company" "United States"}
    LNI {"Lion Mentari Airlines" Indonesia}     LNK {Airlink "South Africa"}
    LNP {"Línea Aérea SAPSA" Chile}             LNT {"Aerolíneas Internacionales" Mexico}
    LNX {"London Executive Aviation" "United Kingdom"}    LOD {"Malmoe Air Taxi" Sweden}
    LOF {"Trans States Airlines" "United States"}    LOG {Loganair "United Kingdom"}
    LOK {"Alok Air" Sudan}                      LOP {"RAF Linton-on-Ouse" "United Kingdom"}
    LOR {Leo-Air "South Africa"}                LOS {"RAF Lossiemouth" "United Kingdom"}
    LOT {"LOT Polish Airlines" Poland}          LOU {"Air Saint Louis" Senegal}
    LOV {"London Flight Centre (Stansted)" "United Kingdom"}    LPA {"Pal Aerolíneas" Mexico}
    LPC {"Alpine Aviation" "South Africa"}      LPD {"UK Royal/HRH Duke of York" "United Kingdom"}
    LPE {"LATAM Peru" Peru}                     LPL {"Lease-a-Plane International" "United States"}
    LPN {"Laoag International Airlines" Philippines}
    LPR {"Líneas Aéreas Privadas Argentinas" Argentina}    LPV {"Air Alps Aviation" Austria}
    LRA {"Little Red Air Service" Canada}       LRB {"L R Airlines" "Czech Republic"}
    LRC {LACSA "Costa Rica"}                    LRD {"Laredo Air" "United States"}
    LRO {Alrosa-Avia Russia}                    LRR {"Lorraine Aviation" France}
    LRS {Sansa "Costa Rica"}                    LRT {"Lincoln Airlines" Australia}
    LRW {"Al Rida Airways" Mauritania}          LSA {LANSA "Dominican Republic"}
    LSC {"Los Cedros Aviación" Chile}           LSE {"Línea De Aeroservicios" Chile}
    LSK {Aurela Lithuania}                      LSM {Aerobusinessservice Russia}
    LSP {"Spectrum Aviation Incorporated" "United Kingdom"}    LSR {Alsair France}
    LSS {"Lone Star Airlines" "United States"}    LSU {Laus Croatia}
    LSV {"Slovenian Ministry of Defence" Slovenia}    LSY {"Lindsay Aviation" "United States"}
    LTA {"Trans Atlantis" Canada}               LTC {LatCharter Latvia}
    LTD {"Executive Express Aviation/JA Air Charter" "United States"}
    LTE {"LTE International Airways" Spain}     LTF {"Lufttaxi Fluggesellschaft" Germany}
    LTI {"Aerotaxis Latinoamericanos" Mexico}    LTL {"Benin Littoral Airways" Benin}
    LTO {"LTU Austria" Austria}                 LTR {Lufttransport Norway}
    LTS {"Flight Inspections and Systems" Russia}    LTU {"LTU International" Germany}
    LTW {"Luchtvaartmaatschappij Twente" Netherlands}    LTY {"Liberty Air" Netherlands}
    LUC {"Albinati Aeronautics" Switzerland}    LUE {"Aeroclub de Alicante" Spain}
    LUK {LUKoil-Avia Russia}                    LUR {"Atlantis European Airways" Armenia}
    LUT {"Luft Carago" "South Africa"}          LUV {"Luxembourg Air Rescue" Luxembourg}
    LUZ {Luzair Portugal}                       LVB {"IRS Airlines" Nigeria}
    LVD {Luftfahrt-Vermietungs-Dienst Austria}    LVG {"Livingston Energy Flight" Italy}
    LVL {Level "Spain and France"}              LVN {Aliven Italy}
    LVR {Aviavilsa Lithuania}                   LVT {"La Valenciana Taxi Aéreo" Mexico}
    LWA {"Libyan Wings" Libya}                  LWD {"Leisure Air" "United States"}
    LWL {Lowlevel Portugal}                     LXA {Luxaviation Luxembourg}
    LXF {"Lynx Air International" "United States"}    LXG {"Air Luxor GB" Guinea-Bissau}
    LXJ {"Bombardier Business Jet Solutions" "United States"}    LXO {"Luxor Air" Egypt}
    LXP {"LATAM Express" Chile}                 LXR {"Air Luxor" Portugal}
    LYB {"Lynden Air Cargo" "Papua New Guinea"}    LYC {"Lynden Air Cargo" "United States"}
    LYD {"Lydd Air" "United Kingdom"}           LYF {"Lithuanian Air Force" Lithuania}
    LYH {"Yankee Lima Helicopteres" France}     LYM {"Key Lime Air" "United States"}
    LYN {Kyrgyzstan Kyrgyzstan}                 LYT {"Apatas Air" Lithuania}
    LYW {"Libyan Airlines" Libya}               LYX {"Lynx Aviation" Pakistan}
    LZA {"Lanza Air" Spain}                     LZB {"Bulgaria Air" Bulgaria}
    LZF {"Lease Fly" Portugal}                  LZP {"Air Ban" Bulgaria}
    LZR {"Air Lazur" Bulgaria}                  LZT {"Lanzarote Aerocargo" Spain}
    MAA {MasAir Mexico}                         MAB {Millardair Canada}
    MAC {"Malta Air Charter" Malta}             MAD {"Maple Air Services" Canada}
    MAE {"Mali Air" Austria}                    MAF {"Mission Aviation Fellowship" Indonesia}
    MAH {"Malév Hungarian Airlines" Hungary}    MAI {"Max Avia" Kyrgyzstan}
    MAJ {"Majestic Airlines" "United States"}    MAK {"MAT Macedonian Airlines" Macedonia}
    MAL {"Morningstar Air Express" Canada}      MAM {"Aeródromo De La Mancha" Spain}
    MAN {"Mannion Air Charter" "United States"}    MAQ {"Mac Aviation" Spain}
    MAR {"March Helicopters" "United Kingdom"}    MAS {"Malaysia Airlines" Malaysia}
    MAT {"Maine Aviation" "United States"}      MAU {"Air Mauritius" Mauritius}
    MAV {"Minoan Air" Greece}                   MAW {"Mustique Airways" Barbados}
    MAX {Max-Aviation Canada}                   MAY {"Malta Air" Malta}
    MAZ {"Mines Air Services Zambia" Zambia}    MBA {"Avag Air" Austria}
    MBB {"Air Manas" Kyrgyzstan}                MBC {"Airjet Exploracao Aerea de Carga" Angola}
    MBE {Martin-Baker "United Kingdom"}         MBG {"Zephyr Aviation" "United Kingdom"}
    MBI {"Mountain Bird" "United States"}       MBL {"First City Air" "United Kingdom"}
    MBN {"Zambian Airways" Zambia}              MBO {"Mobil Oil" Canada}
    MBR {"Brazilian Navy Aviation" Brazil}      MBS {"Mbach Air" Malawi}
    MBV {Aeriantur-M Moldova}                   MCB {"Air Mercia" "United Kingdom"}
    MCC {"MCC Aviation" "South Africa"}         MCD {"Air Medical" "United Kingdom"}
    MCE {"Marshall Aerospace" "United Kingdom"}    MCF {"MAC Fotografica" Spain}
    MCG {"SOS Helikoptern Gotland" Sweden}      MCH {"McAlpine Helicopters" "United Kingdom"}
    MCJ {"Avianca Argentina" Argentina}         MCK {"Macair Airlines" Australia}
    MCL {"Medical Aviation Services" "United Kingdom"}    MCM {Heli-Air-Monaco Monaco}
    MCN {"Mac Dan Aviation Corporation" "United States"}    MCO {"Aerolíneas Marcos" Mexico}
    MCP {"Marcopolo Airways" Afghanistan}       MCS {"Macedonian Airlines" Greece}
    MCT {"Transportación Aérea Del Mar De Cortés" Mexico}    MCV {"MTC Aviación" Mexico}
    MCX {"Cargo Express" Mauritania}            MCY {"Ambulance Air Africa" "South Africa"}
    MDA {"Mandarin Airlines" Taiwan}            MDB {"Monde Air Charters" "United Kingdom"}
    MDC {"Atlantic Aero and Mid-Atlantic Freight" "United States"}
    MDE {"Mauritanienne De Transport Aerien" Mauritania}    MDF {"Mediterranean Air Freight" Greece}
    MDG {"Air Madagascar" Madagascar}           MDH {"Madina Air" Libya}
    MDJ {"Jetran Air" Romania}                  MDL {"Tigerair Mandala" Indonesia}
    MDM {Medavia Malta}                         MDN {"Mudan Airlines" "Somali Republic"}
    MDR {"Compania Mexicana De Aeroplanos" Mexico}
    MDS {"McNeely Charter Services" "United States"}    MDT {"Sundt Air" Norway}
    MDV {"Moldavian Airlines" Moldova}          MDW {"Midway Airlines (1976–1991)" "United States"}
    MDX {"Aerosud Charter" "South Africa"}      MDY {"Mediterranean Airways" Egypt}
    MEA {"Middle East Airlines" Lebanon}        MEC {"Mercury Aircourier Service" "United States"}
    MED {"Ontario Ministry of Health" Canada}    MEE {Elimediterranea Italy}
    MEF {"Air Meridan" Nigeria}                 MEI {"Merlin Airways" "United States"}
    MEJ {"Medjet International" "United States"}    MEK {"Med-Trans of Florida" "United States"}
    MEL {"Mega Linhas Aéreas" Brazil}           MEM {"Meridian Limited" Ukraine}
    MEP {"Midwest Airlines" "United States"}    MER {"Methow Aviation" "United States"}
    MES {"Mesaba Airlines" "United States"}
    MET {"Meteorological Research Flight" "United Kingdom"}    MEX {"Metro Express" "United States"}
    MEY {"Justair Scandinavia" Sweden}          MFA {"Martyn Fiddler Associates" "United Kingdom"}
    MFB {"Mountain Flyers 80" Switzerland}      MFC {"Moncton Flying Club" Canada}
    MFL {"Aero McFly" Mexico}                   MFR {"Midline Air Freight" "United States"}
    MFS {"Miller Flying Services" "United States"}    MFT {Multiflight }
    MFZ {"Mofaz Air" Malaysia}                  MGA {"MG Aviación" Spain}
    MGB {"Coulson Flying Service" "United Kingdom"}    MGE {"Asia Pacific Airlines" "United States"}
    MGG {"Elmagal Aviation Services" Sudan}     MGI {"Marghi Air" Nigeria}
    MGK {Mega Kazakhstan}                       MGL {"MIAT Mongolian Airlines" Mongolia}
    MGM {"Transporte Aero MGM" Mexico}          MGO {"Punto Fa" Spain}
    MGR {"Magna Air" Austria}                   MGS {Aeromagar Mexico}
    MGX {"Montenegro Airlines" Montenegro}      MHA {"Mountain High Aviation" "United States"}
    MHC {"Aero Jomacha" Mexico}                 MHD {"Yas Air Kish" Iran}
    MHF {"Maritime Helicopters" "United States"}    MHL {"Meridian Airlines" Nigeria}
    MHN {"Manhattan Air" "United Kingdom"}      MHQ {"Skargardshavets Helikoptertjanst" Finland}
    MHS {"Air Memphis" Egypt}                   MHU {"Air Memphis" Uganda}
    MHV {"MHS Aviation GmbH" Germany}           MIA {Mauria Mauritania}
    MIC {"Mint Airways" Spain}                  MID {"Midland Airport Services" "United Kingdom"}
    MIE {"Aero Premier De Mexico" Mexico}       MIF {Miras Kazakhstan}
    MIG {"Russian Aircraft Corporation-MiG" Russia}    MIM {Mimino Russia}
    MIR {"Miramichi Air Service" Canada}        MIS {"Midstate Airlines" "United States"}
    MIT {"Flight Line" "United States"}         MIZ {"Desarrollo Milaz" Mexico}
    MJB {"Magic Blue Airlines" Netherlands}     MJC {"Mandarin Air" China}
    MJL {"Jet Line International" Moldova}      MJM {"Eti 2000" Italy}
    MJN {"Royal Air Force of Oman" Oman}        MJR {"Midamerica Jet" "United States"}
    MJT {Mex-Jet Mexico}                        MKA {"MK Airline" Ghana}
    MKG {"Air Mekong" Vietnam}                  MKH {"Air Marrakech Service" Morocco}
    MKK {"Malaya Aviatsia Dona" Russia}         MKL {"McCall Aviation" "United States"}
    MKN {"Mekong Airlines" Cambodia}            MKO {"Markoss Aviation" "United Kingdom"}
    MKS {"Pimichikamac Air" Canada}             MKY {"Monky Aerotaxis" Mexico}
    MLA {"40-Mile Air" "United States"}         MLB {"Manaf International Airways" Burundi}
    MLC {"Malila Airlift" "Democratic Republic of the Congo"}    MLD {"Air Moldova" Moldova}
    MLE {Moldaeroservice Moldova}               MLF {"Amal Airlines" Djibouti}
    MLG {"Malagasy Airlines" Madagascar}        MLH {"Mahalo Air" "United States"}
    MLI {"Air Mali" Mali}                       MLK {"Millennium Air" Nigeria}
    MLL {"Aeroclub de Mallorca" Spain}          MLN {"Air Madeleine" Canada}
    MLO {"Servicios Aéreos Milenio" Mexico}     MLR {"Mihin Lanka" "Sri Lanka"}
    MLS {"Mall Airways" "United States"}        MLU {"Zracno Pristaniste Mali Losinj" Croatia}
    MLV {"Multiservicios Aereos Del Valle" Mexico}    MLX {"Malawi Express" Malawi}
    MMA {"Myanmar Airways International" Myanmar}    MMC {Aermarche Italy}
    MMD {"Air Alsie" Denmark}                   MMG {"Aereo Ruta Maya" Guatemala}
    MMH {"McMahon Helicopter" "United States"}    MMJ {"Macau Jet International" China}
    MML {"Hunnu Air" Mongolia}                  MMM {"Aviation Company Meridian" Russia}
    MMP {"AMP Incorporated" "United States"}    MMR {"Musrata Air Transport" Libya}
    MMS {"SAAD (A320) Limited" "Cayman Islands"}    MMX {Airmax Peru}
    MMZ {"EuroAtlantic Airways" Portugal}       MNA {"Merpati Nusantara Airlines" Indonesia}
    MNB {"MNG Airlines" Turkey}                 MNC {"MIT Airlines" Canada}
    MNE {"Aerolíneas Amanecer" Mexico}          MNG {"Aero Mongolia" Mongolia}
    MNH {"Monarch Airlines" "United States"}    MNI {Aeromilenio Mexico}
    MNJ {Menajet Lebanon}                       MNL {Miniliner Italy}
    MNO {Mango "South Africa"}                  MNR {"Mann Air" "United Kingdom"}
    MNS {"Ministic Air" Canada}                 MNT {"Montserrat Airways" Montserrat}
    MNU {"Elite Airways" "United States"}       MNV {"Mauritanienne Aerienne Et Navale" Mauritania}
    MNX {"Manx Airlines" "United Kingdom"}      MNY {"Mooney Aircraft Corporation" "United States"}
    MNZ {"Murmansk Aircompany" Russia}          MOC {"Air Monarch Cargo" Mexico}
    MOH {Tigerfly "United Kingdom"}             MON {"Monarch Airlines" "United Kingdom"}
    MOP {"Aeropublicitaria De Angola" Angola}    MOR {"Aerolíneas De Morelia" Mexico}
    MOS {"Misr Overseas Airways" Egypt}         MOV {"VIM Airlines" Russia}
    MOW {"Mohawk Airlines" "United States"}     MPA {"Mid-Pacific Airlines" "United States"}
    MPC {"Mountain Pacific Air" Canada}         MPD {"Air Plus Comet" Spain}
    MPE {"Canadian North" Canada}               MPH {Martinair Netherlands}
    MPI {"Mosphil Aero" Philippines}            MPJ {"MAP-Management and Planung" Austria}
    MPL {"Master Planner" "United States"}      MPO {"Transportes Aéreos Amparo" Mexico}
    MPR {"Empire Aviation Services" Nigeria}    MPS {Metropolis Netherlands}
    MPT {Miapet-Avia Armenia}                   MPX {Aeromexpress Mexico}
    MQT {"Air ITM" France}                      MRA {Martinaire "United States"}
    MRD {"Meridian Air Cargo" "United States"}    MRE {"Namibia Commercial Aviation" Namibia}
    MRF {"Mauritanienne Air Fret" Mauritania}    MRG {MANAG'AIR France}
    MRH {"RAF Marham" "United Kingdom"}         MRI {"Servicios Aéreos Moritani" Mexico}
    MRK {Markair "United States"}               MRL {Aeromorelos Mexico}
    MRM {Aerocharter Canada}                    MRN {"Missions Gouvernemtales Francaises" France}
    MRO {"Morrison Flying Service" "United States"}    MRP {Abas "Czech Republic"}
    MRR {"San Juan Airlines" "United States"}    MRT {"Air Mauritanie" Mauritania}
    MRW {"Mars RK" Ukraine}                     MRX {"Herman's Markair Express" "United States"}
    MRY {"Air Marine" France}                   MRZ {"Medical Air Rescue Services" Zimbabwe}
    MSA {"Mistral Air" Italy}                   MSC {"Air Cairo" Egypt}
    MSF {"Max Sea Food" "El Salvador"}          MSG {"Servico Aéreo Regional" Mozambique}
    MSH {"US Marshals Service" "United States"}    MSI {"Motor Sich" Ukraine}
    MSJ {"Magnum Air" Philippines}              MSK {"Air Sport" Bulgaria}
    MSL {"Marsland Aviation" Sudan}             MSM {Aeromas Uruguay}
    MSN {Missionair Spain}                      MSO {"Aerolíneas Mesoamericanas" Mexico}
    MSP {"Servicio De Vigilancia Aérea Del Ministerio De Seguridad Pública" "Costa Rica"}
    MSQ {"Meta Linhas Aéreas" Brazil}           MSR {Egyptair Egypt}
    MSS {"Morris Air Service" "United States"}    MSV {Aero-Kamov Russia}
    MSW {"Master Airways" Serbia}               MSX {"Egyptair Cargo" Egypt}
    MSY {"Massey University School of Aviation" "New Zealand"}
    MTA {"GAK/Mitchell Aero" "United States"}    MTB {"Aerotaxis Metropolitanos" Mexico}
    MTC {"Mountain Air Company" "Sierra Leone"}    MTD {"MacKnight Airlines" Australia}
    MTE {"Aeromet Línea Aérea" Chile}           MTG {"Servicios Aéreos MTT" Mexico}
    MTH {"Massachusetts Institute of Technology" "United States"}
    MTI {"Monerrey Air Taxi" Mexico}            MTJ {Metrojet "Hong Kong"}
    MTK {"Air Metack" Angola}                   MTL {RAF-Avia Latvia}
    MTN {"Mountain Air Cargo" "United States"}    MTO {"Manitoulin Air Services" Canada}
    MTP {"Island Helicopters" "United States"}    MTR {Metroflight "United States"}
    MTS {"Mantrust Asahi Airways" Indonesia}    MTV {"Mountain Valley Air Service" "United States"}
    MTX {"Multi Taxi" Mexico}                   MTY {"Air Montegomery" "United Kingdom"}
    MTZ {"Mali Airways" Mali}                   MUA {"Murray Air" "United States"}
    MUI {"Trans Air" "United States"}           MUL {"Mokulele Airlines" "United States"}
    MUN {"Aeromundo Ejecutivo" Mexico}          MUR {"Aerolínea Muri" Mexico}
    MVA {"Mississippi Valley Airways" "United States"}    MVD {Kavminvodyavia Russia}
    MVG {Moldova Moldova}                       MVI {"Metro Business Aviation" "United Kingdom"}
    MVK {"Helicopter Training & Hire" "United Kingdom"}    MVL {"Mavial Magadan Airlines" Russia}
    MVM {"Air Cargo America" "United States"}    MVN {"Marvin Limited" "United Kingdom"}
    MVR {"Maverick Airways" "United States"}    MVY {VIM-Aviaservice Russia}
    MWA {"Midwest Airlines (Egypt)" Egypt}      MWG {MASwings Malaysia}
    MWI {"Malawian Airlines 2014" Malawi}       MWM {"Modern Transporte Aereo De Carga" Brazil}
    MWR {"Raslan Air Service" Egypt}            MWS {"Malta Wings" Malta}
    MWT {"Midwest Aviation Division" "United States"}    MWY {"Mauritanienne Airways" Mauritania}
    MXA {"Mexicana de Aviación" Mexico}         MXB {"Mex Blue" Mexico}
    MXC {"Compania Mexicargo" Mexico}           MXD {"Malindo Airways" Malaysia}
    MXE {"Mocambique Expresso" Mozambique}      MXF {"Maximum Flight Advantages" "United States"}
    MXJ {"Maxjet Airways" "United States"}      MXL {Maxair Sweden}
    MXO {"Aerotaxi Mexicano" Mexico}            MXP {"May Air Xpress" "United States"}
    MXQ {"Transportes Aéreos Mexiquenses" Mexico}    MXS {Maxsus-Avia Uzbekistan}
    MXT {"México Transportes Aéreos" Mexico}    MXU {"Maximus Air Cargo" "United Arab Emirates"}
    MXX {"Merchant Express Aviation" Nigeria}    MYA {Myflug Iceland}
    MYD {"Maya Island Air" Belize}              MYI {Mayair Mexico}
    MYO {"Dominguez Toledo (Grupo Mayoral)" Spain}    MYP {"Mann Yadanarpon Airlines" Myanmar}
    MYS {"Aero Yaqui Mayo" Mexico}              MYT {"MyTravel Airways" "United Kingdom"}
    MYW {"MyWay Airlines" Georgia}              MYX {"Smartlynx Airlines Estonia" Estonia}
    MZA {"Irtysh Air" Kazakhstan}               MZE {"Zenith Aviation (Malta)" Malta}
    MZK {"AVC Airlines" Japan}                  MZL {"Aerovías Montes Azules" Mexico}
    MZS {"Mahfooz Aviation" Gambia}             NAA {"Norwegian Air Argentina" Argentina}
    NAB {"Mina Airline Company" Egypt}          NAC {"Northern Air Cargo" "United States"}
    NAD {"Seulawah Nad Air" Indonesia}          NAE {"Nations Air Express Inc" "United States"}
    NAF {"Royal Netherlands Air Force" Netherlands}    NAH {"Nahanni Air Services Ltd" Canada}
    NAI {"North Adria Aviation" Croatia}
    NAJ {"North American Jet Charter Group" "United States"}
    NAK {"École Nationale de l'Aviation Civile" France}    NAL {"Northway Aviation Ltd" Canada}
    NAM {"Nortland Air Manitoba" Canada}        NAN {"Norwegian Air Norway" Norway}
    NAO {"North American Airlines" "United States"}
    NAP {"Napier Air Service Inc" "United States"}    NAR {"Air Continental Inc" "United States"}
    NAS {Nasair Eritrea}                        NAT {"North Atlantic Air Inc" "United States"}
    NAU {"Danaus Lineas Aereas" Mexico}         NAV {"Nav Flight Planning" "Czech Republic"}
    NAX {"Norwegian Air Shuttle" Norway}
    NAY {"Navegación Servicios Aéreos Canarios S.A." Spain}
    NAZ {"Servicios Aéreos del Nazas S.A. de C.V." Mexico}
    NBE {"Novosibirsk Aviaenterprise" Russia}    NBK {"Albarka Air" Nigeria}
    NBL {"Nobil Air" Moldova}                   NBN {"North British Airlines" "United Kingdom"}
    NBR {"Haughey Air" "United Kingdom"}        NBS {"Nimbus Aviation" "United Kingdom"}
    NCA {"Nippon Cargo Airlines" Japan}         NCB {"North Caribou Flying Service Ltd" Canada}
    NCC {"North Coast Air Services Ltd" Canada}
    NCE {"Northcoast Executive Airlines" "United States"}
    NCF {"Norfolk County Flight College" "United Kingdom"}
    NCG {"Nederlandse Kustwacht" Netherlands}    NCH {"Chanchangi Airlines" Nigeria}
    NCL {"ACA-Ancargo Air Sociedade de Transporte de Carga Lda" Angola}    NCM {"Nas Air" Angola}
    NCN {"Nicon Airways" Nigeria}               NCO {"Natalco Air Lines" "São Tomé and Príncipe"}
    NCP {"Capital Airlines Limited" Nigeria}
    NCR {"National Air Cargo dba National Airlines" "United States"}
    NCS {"Simpson Air Ltd" Canada}              NCT {"Pete Air" Thailand}
    NDA {"Northern Airways" "United States"}    NDC {FlyNordic Sweden}
    NDF {"Namibian Defence Force" Namibia}      NDS {"Nordstree (Australia)" Australia}
    NDU {"University of North Dakota" "United States"}
    NEA {"New England Airlines" "United States"}    NEB {"State of Nebraska" "United States"}
    NEC {"Necon Air" Nepal}                     NEE {"Northeast Airlines" "United States"}
    NEF {Nord-Flyg Sweden}                      NEG {"Línea Aérea de Fumig Aguas Negras" Chile}
    NEJ {"Netjets Business Aviation" China}     NEL {"Aero Servicios de Nuevo Laredo" Mexico}
    NEN {"North-East Airlines" Nigeria}         NER {"Air Newark" "United States"}
    NES {"Nordeste Linhas Aéreas Regionais" Brazil}    NET {"Network Aviation Services" Nigeria}
    NEW {"Northeastern Aviation" "United States"}
    NEX {"Northern Executive Aviation" "United Kingdom"}
    NEZ {"New England Air Express" "United States"}    NFA {"North Flying" Denmark}
    NFC {"North Atlantic Cargo" Norway}         NFF {"Aircraft Support and Services" Lebanon}
    NFL {"Northaire Freight Lines" "United States"}    NFS {"Afrique CArgo Service Senegal" Senegal}
    NFT {"Nefteyugansk Aviation Division" Russia}    NGA {"Nigeria Airways" Nigeria}
    NGC {Angoservice Angola}                    NGE {"Angel Airlines" Thailand}
    NGF {"Angel Flight America" "United States"}    NGK {"Oriental Air Bridge" Japan}
    NGO {Air-Angol Angola}                      NGP {"Air Nigeria" Nigeria}
    NGR {"Nigerian Air Force" Nigeria}          NGV {Angoavia Angola}
    NGX {"Nigerian Global" Nigeria}             NHC {"Northern Helicopter" Germany}
    NHG {"NHT Linhas Aéreas" Brazil}
    NHK {"Federal Aviation Administration" "United States"}
    NHL {"Northumbria Helicopters" "United Kingdom"}    NHR {"Nuevo Horizonte Internacional" Mexico}
    NHT {"New Heights 291" "South Africa"}      NHV {"NHV Aviation" Ghana}
    NIA {"Nile Aire" "Egypt"}
    NHZ {"Nada Air Service" Chad}               NIC {"Northern Illinois Commuter" "United States"}
    NID {Aeroni Mexico}                         NIE {"Aeroejecutiva Nieto" Mexico}
    NIG {"Aero Contractors" Nigeria}            NIH {"NAM Air" Indonesia}
    NIN {"Nurman Avia Indopura" Indonesia}      NIR {"Norsk Flytjeneste" Norway}
    NIS {"Nicaragüense de Aviación" Nicaragua}    NIT {"Midwest Aviation" "United States"}
    NJA {"New Japan Aviation" Japan}            NJC {"Nashville Jet Charters" "United States"}
    NJE {"NetJets Europe" Portugal}             NJS {"National Jet Systems" Australia}
    NKF {"Barents AirLink" Sweden}              NKL {"Nakheel Aviation" "United Arab Emirates"}
    NKP {"Abakan Air" "Russian Federation"}     NKS {"Spirit Airlines" "United States"}
    NKV {Nikolaev-Air Ukraine}                  NKY {Aeromonkey Mexico}
    NKZ {Aerokuzbass Russia}                    NLA {"Neiltown Air" Canada}
    NLC {"Nelair Charters" "South Africa"}      NLG {"NEL Cargo" "Ivory Coast"}
    NLH {"Norwegian Long Haul" Norway}          NLK {"Elbrus-Avia Air Enterprise" Russia}
    NLL {"Northafrican Air Transport" Libya}    NLS {"Nationale Luchtvaartschool" Netherlands}
    NLT {"Newfoundland Labrador Air Transport" Canada}    NLW {"Nile Wings Aviation Services" Sudan}
    NLY {Niki Austria}                          NMB {"Air Namibia" Namibia}
    NMD {"Nomad Aviation" Namibia}              NMI {"Pacific Wings" "United States"}
    NML {"Gambia New Millennium Air" Gambia}    NOA {Norontair Canada}
    NOC {Norcopter Norway}                      NOF {Fonnafly Norway}
    NOH {"No. 32 (The Royal) Squadron" "United Kingdom"}    NOK {"Nok Air" Thailand}
    NOL {"National Overseas Airlines Company" Egypt}
    NON {"Servicios Aéreos Latinoamericanos" Mexico}    NOR {"Norsk Helikopter" Norway}
    NOS {Neos Italy}                            NOT {"Línea Aérea Costa Norte" Chile}
    NOV {"Nova Airline" Sudan}                  NOW {"Royal Norwegian Air Force" Norway}
    NOY {"Noy Aviation" Israel}                 NPC {"Western Air Couriers" "United States"}
    NPL {"Air Nepal International" Nepal}
    NPO {"Novosibirsk Aviation Production Association" Russia}    NPR {"Air Napier" "New Zealand"}
    NPT {"Atlantic Airlines" "United Kingdom"}    NPX {"Northeast Aviation" "United States"}
    NRC {"North Sea Airways" Netherlands}       NRD {"Nordic Regional" Sweden}
    NRE {"Aviones Are" Mexico}                  NRG {"Ross Aviation" "United States"}
    NRK {"Naturelink Charter" "South Africa"}    NRL {"Nolinor Aviation" Canada}
    NRN {"Royal Netherland Navy" Netherlands}    NRO {"Aero Rent JSC" Russia}
    NRP {Aeronord-Grup Moldova}                 NRR {Natureair "Costa Rica"}
    NRS {"Norwegian Air UK" "United Kingdom"}    NRT {Norestair Spain}
    NRV {"North Vancouver Airlines" Canada}
    NRW {"Polizeifliegerstaffel Nordrhein-Westfalen" Germany}
    NRX {"Norse Air Charter" "South Africa"}    NRZ {"Servicios Aéreos Monarrez" Mexico}
    NSA {"Nile Safaris Aviation" Sudan}
    NSC {"Societe De Transport Aerien De Mauritanie" Mauritania}    NSE {SATENA Colombia}
    NSF {"Northamptonshire School of Flying" "United Kingdom"}    NSK {"Air Intersalonika" Greece}
    NSL {Neric "United Kingdom"}                NSM {"Global Jet Corporation" "United States"}
    NSO {"Aerolíneas Sosa" Honduras}            NSP {"Novosibirsk Aircraft Repairing Plant" Russia}
    NSR {"National Air Charter" Indonesia}      NSS {"Northstar Aviation" "United States"}
    NSW {"Country Connection Airlines" Australia}    NTA {"Northern Thunderbird Air" Canada}
    NTB {"Servicios Aéreos Del Norte" Mexico}    NTC {"Gibson Aviation" "United States"}
    NTD {"Aero Norte" Mexico}                   NTE {Interaire Mexico}
    NTG {"Servicios Integrales De Aviación" Mexico}    NTH {"Hokkaido Air System" Japan}
    NTJ {NextJet Sweden}
    NTK {"National Air Traffic Controllers Association" "United States"}
    NTL {"Air Anatolia" Turkey}                 NTR {"TNT International Aviation" "United Kingdom"}
    NTS {"Cirrus Air" "United States"}          NTT {"Inter Tropic Airlines" "Sierra Leone"}
    NTV {"Air Inter Ivoire" "Ivory Coast"}      NTW {"Nationwide Airlines" "South Africa"}
    NTX {"Northern Jet Management" "United States"}    NUB {"Nomad Aviation" Malta}
    NUL {"Aeroservicios De Nuevo Leon" Mexico}    NUN {"Nunasi-Central Airlines" Canada}
    NVA {"Nile Valley Aviation Company" Egypt}    NVC {"Nav Canada" Canada}
    NVD {"Avion Express" Lithuania}             NVG {"Novogorod Air Enterprise" Russia}
    NVI {"Avial NV Aviation Company" Russia}    NVJ {"Fly International Airways" Tunisia}
    NVK {Nizhnevartovskavia Russia}             NVL {"Navigator Airlines" Armenia}
    NVM {"Naviera Mexicana" Mexico}             NVP {"Navegacao Aérea De Portugal" Portugal}
    NVQ {"Novo Air" Bangladesh}                 NVR {Novair Sweden}
    NVY {"Royal Navy" "United Kingdom"}         NWA {"Northwest Airlines" "United States"}
    NWD {"New World Jet Corporation" "United States"}
    NWE {"Northwest Aero Associates" "United States"}    NWG {Airwing Norway}
    NWL {"North-Wright Airways" Canada}         NWN {"Northwinds Northern" Canada}
    NWO {"RAF Northwood" "United Kingdom"}      NWR {"Northwest Regional Airlines" Australia}
    NWS {"Nordwind Airlines" Russia}            NWT {"Northwest Territorial Airways" Canada}
    NWW {"North West Airlines" Australia}       NWZ {"Nationwide Airlines (Zambia)" Zambia}
    NXA {"Air Next" Japan}                      NXF {"Nextflight Aviation" "United States"}
    NXS {"Nexus Aviation" Nigeria}              NXT {"National Express" "United States"}
    NYA {"Nanyah Aviation" Israel}              NYB {"Belgian Navy" Belgium}
    NYH {"New York Helicopter" "United States"}    NYL {"Mid Airlines" Sudan}
    NYS {"Nyasa Express" Malawi}                NYT {"Yeti Airlines" Nepal}
    NZA {"Nayzak Air Transport" Libya}          NZM {"Mount Cook Airlines" "New Zealand"}
    OAA {"Oxley Aviation" Australia}            OAC {"Oriental Airlines" Nigeria}
    OAD {"Orscom Tourist Installations Company" Egypt}
    OAE {"Omni Air International" "United States"}    OAL {"Olympic Airlines" Greece}
    OAO {"Arkhangelsk 2 Aviation Division" Russia}    OAP {"COAPA AIR" Mexico}
    OAR {"ONE AIR" Spain}                       OAV {"Omni - Aviacao e Tecnologia" Portugal}
    OAW {"Helvetic Airways" Switzerland}        OAX {"Operational Aviation Services" Australia}
    OBA {Aerobanana Mexico}                     OBK {"Amako Airlines" Nigeria}
    OCA {"Aserca Airlines" Venezuela}           OCE {Heliocean France}
    OCM {"O'Connor Airlines" Australia}         OCN {"O Air" France}
    OCO {"Ostend Air College" Belgium}          OCS {"Ocean Sky (UK)" "United Kingdom"}
    ODI {"Jonsson, H Air Taxi" Iceland}         ODM {"Pan African Airways" Kenya}
    ODS {"Odessa Airlines" Ukraine}             ODY {"Odyssey International" Canada}
    OEA {"Orient Thai Airlines" Thailand}       OEC {"Christophorus Flugrettungsverein" Austria}
    OED {"Orion Air Charter" "South Africa"}    OES {"ART Aviation" Austria}
    OFA {"Helitaxi Ofavi" Mexico}
    OFF {"Challenge International Airlines" "United States"}    OGI {Aerogisa Mexico}
    OGJ {"Bakoji Airlines Services" Nigeria}    OGN {"Origin Pacific Airways" "New Zealand"}
    OHK {"Oasis Hong Kong Airlines" "Hong Kong"}    OHY {"Onur Air" Turkey}
    OIC {"Iwamoto Crane Co Ltd" Japan}          OIX {Orion-x Russia}
    OJY {"Florida Air" "United States"}         OKA {"Okay Airways" China}
    OKJ {"Okada Airlines" Nigeria}
    OKL {"Oklahoma Department of Public Safety" "United States"}
    OKP {"Okapi Airways" "Democratic Republic of Congo"}    OKS {"Slok Air Gambia" Gambia}
    OKT {"Soko Aviation" Spain}                 OLA {"Overland Airways" Nigeria}
    OLC {"Solar Cargo" Venezuela}               OLE {"Operadora de Lineas Ejecutivas" Mexico}
    OLO {Soloflight "United Kingdom"}           OLR {Colaéreos Ecuador}
    OLT {"OLT Express Germany" Germany}         OLV {"Aerolíneas Olve" Mexico}
    OLX {"Olimex Aerotaxi" "Czech Republic"}    OLY {"Olympic Aviation" Greece}
    OMA {"Oman Air" Oman}                       OMF {Omniflys Mexico}
    OMG {Aeromega "United Kingdom"}             OML {"Organizacoes Mambra" Angola}
    OMN {"Servicios Aereos Ominia" Mexico}      OMR {Minair "Central African Republic"}
    OMS {SalamAir Oman}                         ONE {"Avianca Brazil" Brazil}
    ONG {"Sonnig SA" Switzerland}
    ONM {"Presidencia de La Republica de Guinea Ecuatorial" "Equatorial Guinea"}
    ONR {"Air One Nine" Libya}                  ONS {"One Airlines" Chile}
    ONT {"Air Ontario" Canada}                  OOM {"Zoom Airlines" Canada}
    OOT {"Out Of The Blue Air Safaris" "South Africa"}    OPA {"Opal Air" Australia}
    OPC {"Krystel Air Charter" "United Kingdom"}    OPS {Jet-Ops "United Arab Emirates"}
    OPT {"Flight Options" "United States"}      OPV {"Operadora de Veulos Ejectutivos" Mexico}
    ORA {"Long Island Airlines" "United States"}    ORB {"Orenburg Airlines" Russia}
    ORD {"Orange Air Services" "Sierra Leone"}    ORE {"Orange Aviation" Israel}
    ORF {"Oman Royal Flight" Oman}              ORJ {"Orange Air Sierra Leone" "Sierra Leone"}
    ORK {"Orca Air" Egypt}                      ORL {"On Air Limited" Canada}
    ORM {"Orel State Air Enterprise" Russia}    ORN {"Orient Airways" Pakistan}
    ORO {"C N Air" Spain}                       ORP {Aerocorp Mexico}
    ORR {"Operadora Turistica Aurora" Mexico}    ORS {"Action Air" Italy}
    ORX {"Orbit Express Airlines" Turkey}       ORZ {Zorex Spain}
    OSA {"Open Sky Aviation" Lebanon}           OSH {"Osh Avia" Kyrgyzstan}
    OSL {"Sosoliso Airlines" Nigeria}           OSN {Aerosan Mexico}
    OSO {"Aviapartner Limited Company" Russia}    OSS {"Servicios Aéreos Noticiosos" Mexico}
    OST {"Airline Alania" Russia}               OSW {"JetAfrica Swaziland" Swaziland}
    OSY {"Open Skies Consultative Commission" "United States"}
    OTA {"Organizacion De Transportes Aéreos" Mexico}    OTG {"One Two Go Airlines" Thailand}
    OTL {"South Airlines" Ukraine}              OTM {"Onetime Airlines Zambia" Zambia}
    OTN {LASTP "São Tomé and Príncipe"}         OTP {"Operadora de Transportes Aéreos" Mexico}
    OTR {"Orient Airlines" Sudan}               OUF {"Beijing Eofa International Jet" China}
    OUL {"Air Atonabee" Canada}                 OVA {"Aero Nova" Spain}
    OVC {Aerovic Ecuador}                       OVE {Aeromover Mexico}
    OVI {"Aerovías Ejecutivas" Mexico}          OVV {"Orient Air" "Syrian Arab Republic"}
    OWE {Owenair "South Africa"}                OWL {"Miami Valley Aviation" "United States"}
    OWN {"Aero Owen" Mexico}                    OXE {Oxaero "United Kingdom"}
    OXO {"Million Air" "United States"}         OYE {"Koda International" Nigeria}
    OZJ {"Ozjet Airlines" Australia}            OZR {"Ozark Air Lines" "United States"}
    OZU {Hozu-Avia Kazakhstan}                  OZW {"Virgin Australia Regional Airlines" Australia}
    PAA {"Pan American World Airways" "United States"}    PAB {"Pacific Air Boats" Canada}
    PAC {"Polar Air Cargo" "United States"}
    PAD {"Professional Express Courier Service" "United States"}    PAE {"Paisajes Españoles" Spain}
    PAG {"Perimeter Aviation" Canada}           PAH {"Panorama Air Tour" "United States"}
    PAI {"Paradise Airways" "United States"}    PAJ {Aliparma Italy}
    PAK {"Pacific Alaska Airlines" "United States"}    PAL {"Philippine Airlines" Philippines}
    PAM {"Phoenix Air" Germany}                 PAO {"Polynesian Airlines" Samoa}
    PAP {"Langtry Flying Group" "United Kingdom"}    PAQ {"Pacific Air Express" "Solomon Islands"}
    PAR {"Pacific Rim Airways" Australia}       PAS {"Pelita Air Service" Indonesia}
    PAT {"Priority Air Transport" "United States"}    PAV {"VIP Avia" Kazakhstan}
    PAW {"Pointair Burkina" "Burkina Faso"}     PAX {"Pan Air" "United States"}
    PAZ {"Point Afrique Niger" Niger}           PBA {"PB Air" Thailand}
    PBB {"Polizeihubschrauberstaffel Brandenburg" Germany}    PBN {"Pacific Blue" "New Zealand"}
    PBR {"Fast Air" Canada}                     PBT {"Air Parabet" Bangladesh}
    PBU {"Air Burundi" Burundi}
    PBW {"Polizeihubschrauberstaffel Baden-Württemberg" Germany}
    PBY {"Pearl Air Services" Uganda}           PCA {"Penya De L'Aire" Spain}
    PCC {"Perforadora Central" Mexico}          PCE {"Pace Airlines" "United States"}
    PCG {"Aeropostal Cargo de Mexico" Mexico}    PCH {"Pilatus Flugzeugwerke" Switzerland}
    PCJ {"Pacific Jet" "United States"}         PCK {"Air Pack Express" Spain}
    PCL {"Pinnacle Air Group" "United States"}    PCM {"Westair Industries" "United States"}
    PCN {"Princeton Aviation Corporation" "United States"}
    PCO {"Pacific Coastal Airlines" Canada}     PCP {"Aerolínea Principal Chile" Chile}
    PCR {"PAC Air" "United States"}             PCS {"Air Palace" Mexico}
    PCV {"Pacific Aviation (Australia)" Australia}
    PCW {"Trans-Pacific Orient Airways" Philippines}
    PCX {"Pacific Aviation (United States)" "United States"}    PDA {Podilia-Avia Ukraine}
    PDC {"Potomac Air" "United States"}         PDD {"Phillips Alaska" "United States"}
    PDF {"Pelican Air Services" "South Africa"}    PDG {"PLM Dollar Group" "United Kingdom"}
    PDI {"Paradise Island Airways" "United States"}    PDQ {"PDQ Air Charter" "United States"}
    PDR {COMAV Namibia}                         PDT {"Piedmont Airlines" "United States"}
    PDV {Elicar Italy}                          PDY {Pen-Avia "United Kingdom"}
    PEA {"Pan Europeenne Air Service" France}    PEB {"Benders Air" Sweden}
    PEC {"Pacific East Asia Cargo Airlines" Philippines}    PEI {Panamedia Spain}
    PEL {"Aeropelican Air Services" Australia}    PEM {Pem-Air Canada}
    PEN {"Peninsula Airways" "United States"}    PEO {"Petro Air" Libya}
    PER {"Pioneers Limited" Pakistan}           PET {"Aerotransporte Petrolero" Colombia}
    PEV {People's Austria}                      PEX {"Pelican Express" "United States"}
    PFA {"Pacific Flight Services" Singapore}    PFI {"Aerolíneas Chihuahua" Mexico}
    PFN {"Pan African Air Services" "Sierra Leone"}    PFR {"Pacificair Airlines" "United States"}
    PFS {"Prairie Flying Service" "United States"}
    PFT {"Air Cargo Express International" "United States"}    PFY {"Pel-Air Aviation" Australia}
    PFZ {"Proflight Zambia" Zambia}             PGA {Portugalia Portugal}
    PGF {"Paragon Global Flight Support" "United Kingdom"}
    PGH {"Pulkovo Aircraft Services" Russia}    PGI {"Panagra Airways" "United States"}
    PGL {"Premiair Aviation Services" "United Kingdom"}    PGP {"Perm Airlines" Russia}
    PGS {"Tauranga Aer Club" "New Zealand"}     PGT {"Pegasus Airlines" Turkey}
    PGX {"Paragon Air Express" "United States"}    PHA {"Phoenix Air Group" "United States"}
    PHB {"Phoebus Apollo Aviation" "South Africa"}
    PHC {"Petroleum Helicopters de Colombia" Colombia}    PHD {"Duncan Aviation" "United States"}
    PHE {"Pawan Hans" India}                    PHG {"Phoenix Aviation" Kyrgyzstan}
    PHH {"Polizeihubschrauberstaffel Hessen" Germany}
    PHI {"Philips Aviation Services" Netherlands}
    PHL {"Phillips Michigan City Flying Service" "United States"}
    PHM {"Petroleum Helicopters" "United States"}    PHN {"Phoenix Air Lines" Brazil}
    PHO {"L&L Flygbildteknik" Sweden}           PHR {"Al Farana Airline" Egypt}
    PHS {"Polizeihubschrauberstaffel Sachsen" Germany}    PHT {"Pan Havacilik Ve Ticaret" Turkey}
    PHU {"Pannon Air Service" Hungary}          PHV {"Phenix Aviation" France}
    PHW {Ave.com "United Arab Emirates"}        PHY {"Phoenix Avia" Armenia}
    PIA {"Pakistan International Airlines" Pakistan}    PIC {"Pacific Airlines" Vietnam}
    PIE {"Air South West" "United Kingdom"}     PIF {"Aeroservicios California Pacifico" Mexico}
    PIK {"Polizeihubschrauberstaffel Sachsen-Anhalt" Germany}    PIL {"Canada Jet Charters" Canada}
    PIM {Pinframat Angola}
    PIN {"Pacific International Airlines" "United States"}
    PIO {"Pioneer Airlines" "United States"}    PIR {"Pamir Airways" Afghanistan}
    PIU {"43 Air School" "South Africa"}        PIV {Sokol Russia}
    PIX {"Metropix UK" "United Kingdom"}        PJA {"Private Jet Management" "United States"}
    PJE {"Private Jet Expeditions" "United States"}    PJP {"Princely Jets" Pakistan}
    PJS {"Jet Aviation" Switzerland}            PKA {"AST Pakistan Airways" Pakistan}
    PKP {"Mountain Air Express" "United States"}    PKR {"Pakker Avio" Estonia}
    PKW {"Pak West Airlines" "United States"}    PKZ {"Prime Aviation" Kazakhstan}
    PLA {"Polynesian Air-Ways" "United States"}    PLB {"Polynesian Blue" "New Zealand"}
    PLC {"Police Aviation Services" "United Kingdom"}    PLF {"Polish Air Force" Poland}
    PLG {MBK-S Russia}                          PLI {Aeroperú Peru}
    PLK {"Pulkovo Aviation Enterprise" Russia}    PLL {"Air Pal" Spain}
    PLM {"Air Pullmantur" Spain}                PLN {Planar Angola}
    PLR {"Northwestern Air" Canada}             PLS {Aeroflot-Plus Russia}
    PLT {"South Carolina Aeronautics Commission" "United States"}
    PLU {"Pilatus PC-12 Center De Mexico" Mexico}    PLX {"Pool Aviation" "United Kingdom"}
    PLY {"Puma Linhas Aéreas" Brazil}           PLZ {"Planet Airways" "United States"}
    PMA {"Pan Malaysian Air Transport" Malaysia}    PMC {"Primas Courier" "United States"}
    PME {"Premiair Fliyng Club" "United Kingdom"}    PMI {"Primero Transportes Aereos" Mexico}
    PMM {Primair Russia}                        PMO {"Polar Airlines de Mexico" Mexico}
    PMR {"Servicios Aéreos Premier" Mexico}     PMS {"Planemaster Services" "United States"}
    PMT {PMTair Cambodia}                       PMU {"Premium Aviation" Germany}
    PMV {"Polizeihubschrauberstaffel Mecklenburg-Vorpommern" Germany}
    PMW {"Paramount Airways" India}             PMX {"Petroleos Mexicanos" Mexico}
    PMY {"Phetchabun Airline" Thailand}         PNA {"Universal Airlines" "United States"}
    PNC {Pan-Air Mexico}                        PND {"Pond Air Express" "United States"}
    PNE {"Peninter Aérea" Mexico}               PNF {"Panafrican Airways" "Ivory Coast"}
    PNG {"Puerto Rico National Guard" "United States"}    PNH {Panh Russia}
    PNK {"Air Pink" Serbia}                     PNL {"Aero Personal" Mexico}
    PNM {Panorama Spain}                        PNP {"Pineapple Air" Bahamas}
    PNR {"PAN Air" Spain}                       PNS {"Survey Udara (Penas)" Indonesia}
    PNT {"Balmoral Central Contracts" "South Africa"}    PNU {"Aero Servicios Platinum" Mexico}
    PNW {"Palestinian Airlines" Egypt}          PNX {"Imperial Airways" "United States"}
    PNY {"Polish Navy" Poland}                  POA {"Portuguese Army" Portugal}
    POB {"Servicios Aéreos Poblanos" Mexico}    POC {"Pocono Air Lines" "United States"}
    POE {"Porter Airlines" Canada}              POF {"Police Aux Frontières" France}
    POI {"BGB Air" Kazakhstan}                  POL {Rikspolisstyrelsen Sweden}
    PON {"Portuguese Navy" Portugal}            POR {"Porteadora De Cosola" Mexico}
    POT {"Polet Airlines" Russia}               POV {Meridian Ukraine}
    POW {"Hagondale Limited" "United Kingdom"}    POY {"Apoyo Aéreo" Mexico}
    PPA {"Propheter Aviation" "United States"}    PPC {"Palau Asia Pacific Airlines" Palau}
    PPG {"Phoenix Air Transport" "United States"}
    PPH {"Polizeihubschrauberstaffel Niedersachsen" Germany}    PPK {"Ramp 66" "United States"}
    PPM {"Pacific Pearl Airways" Philippines}    PPQ {"Personas Y Pasquetes Por Air" Mexico}
    PPS {"Butte Aviation" "United States"}      PPW {"Royal Phnom Penh Airways" Cambodia}
    PQA {"Pacific Coast Airlines" "United States"}    PRA {"Pars Aviation Service" Iran}
    PRC {"Pacific Air Charter" "United States"}    PRD {"Presidential Aviation" "United States"}
    PRE {"Precision Airlines" "United States"}    PRF {"Precision Air" Tanzania}
    PRG {"Empresa Aero-Servicios Parrague" Chile}    PRH {"Pro Air" "United States"}
    PRI {"Primera Air Scandinavia" Denmark}     PRL {"Pearl Air" Pakistan}
    PRM {"Prime Airlines" "United States"}      PRN {"Pirinair Express" Spain}
    PRO {Propair Canada}                        PRP {"PRT Aviation" Spain}
    PRR {"Paramount Airlines" "Sierra Leone"}    PRT {"Prime Service Italia" Italy}
    PRV {"Provincial Express" Canada}           PRW {"Primera Air Nordic" Latvia}
    PRX {"VIP Avia" Latvia}                     PRY {"Priority Air Charter" "United States"}
    PRZ {"Air Paradise International" Indonesia}    PSA {"Pacific Island Aviation" "United States"}
    PSC {"Pascan Aviation" Canada}              PSD {"President Airlines" Cambodia}
    PSE {"Aeroservicio Sipse" Mexico}           PSF {"Plymouth School of Flying" "United Kingdom"}
    PSG {"Aviones Para Servirle" Mexico}        PSH {"Red Aviation" "United Kingdom"}
    PSI {"Pont International Airline Services" Suriname}
    PSL {"Aeroservicios Corporativos De San Luis" Mexico}    PSN {"Potosina Del Aire" Mexico}
    PSO {"Aerotaxis Pegaso" Mexico}             PSP {"Publiservicios Aéreos" Mexico}
    PSR {"Polestar Aviation" "United Kingdom"}    PSS {TSSKB-Progress Russia}
    PST {Parsa Panama}
    PSV {"Servicios Aéreos Profesionales" "Dominican Republic"}    PSW {Pskovavia Russia}
    PSZ {"Pro Air Service" "United States"}     PTA {"Ptarmigan Airways" Canada}
    PTB {"Passaredo Transportes Aéreos" Brazil}    PTC {"Patria Cargas Aéreas" Argentina}
    PTD {"Aero Servicio Pity" Mexico}           PTE {"Aero Copter" Mexico}
    PTH {"Proteus Helicopteres" France}         PTI {Privatair Switzerland}
    PTK {"Petropavlovsk-Kamchatsk Air Enterprise" Russia}
    PTL {"Providence Airline" "United States"}    PTM {"Southeastern Airways" "United States"}
    PTN {"Pantanal Linhas Aéreas" Brazil}       PTO {"North West Geomatics" Canada}
    PTP {"Palau Trans Pacific Airlines" Palau}    PTQ {"Port Townsend Airways" "United States"}
    PTR {"Nova Scotia Department of Lands and Forests" Canada}
    PTS {"Points of Call Airlines" Canada}      PTT {"Promotora Industria Totolapa" Mexico}
    PTV {"Puntavia Air Services" Djibouti}      PTY {"Petty Transport" "United States"}
    PUA {PLUNA Uruguay}                         PUE {Aeropuelche Chile}
    PUR {"Spurwing Airlines" "South Africa"}    PUT {Aeroput Serbia}
    PUV {Publivoo Portugal}                     PVA {"Aerotransportes Privados" Mexico}
    PVG {"Privilege Style Líneas Aéreas" Spain}    PVI {Panavia Panama}
    PVK {"Association of Private Pilots of Kazakhstan" Kazakhstan}
    PVL {"Professione VOlare" Italy}            PVN {"Peruvian Airlines" Peru}
    PVO {"Bearing Supplies Limited" "United Kingdom"}    PVU {"Peau Vavaʻu" Tonga}
    PVV {"Fly Pro" Moldova}                     PWA {"Priester Aviation" "United States"}
    PWC {"Pratt and Whitney Canada" Canada}     PWD {"PAWA Dominicana" "Dominican Republic"}
    PWF {"Private Wings Flugcharter" Germany}    PWL {"Powell Air" Canada}
    PXA {"Pecotox Air" Moldova}                 PXP {"Pacific Air Transport" "United States"}
    PXR {"Pixair Survey" France}                PXT {"Pacific Coast Jet" "United States"}
    PXX {"Aroostook Aviation" "United States"}    PYC {Aeropycsa Mexico}
    PYN {"Haverfordwest Air Charter Services" "United Kingdom"}    PYR {"Pyramid Air Lines" Egypt}
    PYZ {"Players Air" "United States"}         PZA {"Aéreo Taxi Paraza" Mexico}
    PZR {"Sky Trek International Airlines" "United States"}
    PZY {"Zapolyarye Airline Company" Russia}    QAC {"Qatar Air Cargo" Qatar}
    QAF {"Qatar Amiri Flight" Qatar}            QAH {"Quick Airways Holland" Netherlands}
    QAI {"Conquest Air" "United States"}        QAJ {"Quick Air Jet Charter" Germany}
    QAQ {"Qurinea Air Service" Libya}           QAS {"Quisqueya Airlines" Haiti}
    QAT {"Aero Taxi" Canada}                    QCC {"Qwest Commuter Corporation" "United States"}
    QCL {"Air Class Líneas Aéreas" Uruguay}     QEA {"Aviation Consultancy Office" Australia}
    QFA {Qantas Australia}                      QGA {"Windrose Air" Germany}
    QID {"USAF 100th Air Refueling Wing" "United States"}    QJE {Qantaslink Australia}
    QKC {"Aero Taxi Aviation" "United States"}    QLA {"Aviation Quebec Labrador" Canada}
    QLK {Qantaslink Australia}                  QNA {"Queen Air" "Dominican Republic"}
    QNK {"Kabo Air" Nigeria}                    QNT {"Qanot Sharq" Uzbekistan}
    QNZ {Jetconnect "New Zealand"}              QQE {"Qatar Executive" Qatar}
    QRT {"4D Air" Thailand}                     QSC {"African Safari Airways" Kenya}
    QSR {"SR Jet" China}                        QTR {"Qatar Airways" Qatar}
    QTX {"Quantex Environmental" Canada}        QUE {"Quebec Government Air Service" Canada}
    QUI {"Aero Quimmco" Mexico}                 QVR {"Kvadro Aero" Kyrgyzstan}
    QWA {Qwestair Australia}                    QWL {"Qwila Air" "South Africa"}
    QXE {"Horizon Air" "United States"}         RAA {"Rynes Aviation" "United States"}
    RAC {"Icar Air" "Bosnia and Herzegovina"}    RAD {Alada Angola}
    RAE {"Régional Compagnie Aérienne Européenne" France}    RAF {"Farnas Aviation Services" Sudan}
    RAG {"Xstrata Nickel (Raglan Mine)" Canada}    RAH {"Regent Air" Canada}
    RAI {"Aerotur Air" Kazakhstan}              RAJ {"Raji Airlines" Pakistan}
    RAK {"Riga Airclub" Latvia}                 RAL {"Roswell Airlines" "United States"}
    RAM {"Royal Air Maroc" Morocco}             RAN {Renan Moldova}
    RAP {"Air Center Helicopters" "United States"}    RAQ {"Rath Aviation" Austria}
    RAR {"Air Rarotonga" "Cook Islands"}        RAS {"Jim Ratliff Air Service" "United States"}
    RAT {"Chief Rat Flight Services" "South Africa"}    RAU {"Uganda Royal Airways" Uganda}
    RAV {"Reed Aviation" "United Kingdom"}      RAX {"Royal Air Freight" "United States"}
    RAZ {"Rijnmond Air Services" Netherlands}    RBA {"Royal Brunei Airlines" Brunei}
    RBB {Rabbit-Air Switzerland}                RBC {Republicair Mexico}
    RBD {"Trans World Express" "United States"}    RBE {"Aur Rum Benin" Benin}
    RBH {"Regal Bahamas International Airways" Bahamas}    RBJ {"Aeroserivios Del Bajio" Mexico}
    RBN {"Red Baron Aviation" "United States"}    RBR {"Siam Airnet" Thailand}
    RBT {"Robinton Aero" "Dominican Republic"}    RBU {"Airbus France" France}
    RBV {"Air Roberval" Canada}                 RBW {"Shandong Airlines Rainbow Jet" China}
    RBY {"Vision Airlines" "United States"}     RCA {"Richland Aviation" "United States"}
    RCB {"Real Aero Club De Baleares" Spain}    RCC {"Air Charters Eelde" Netherlands}
    RCD {"Real Aeroclub De Ternerife" Spain}    RCE {Aerocer Mexico}
    RCF {Aeroflot-Cargo Russia}                 RCG {"Royal Air Cargo" "South Africa"}
    RCH {"Air Mobility Command" "United States"}    RCI {"Air Cassai" Angola}
    RCJ {"Raytheon Corporate Jets" "United Kingdom"}    RCK {FaroeJet "Faroe Islands"}
    RCO {"Aero Renta De Coahuila" Mexico}       RCP {Aerocorp Mexico}
    RCQ {"Aerolíneas Regionales" Mexico}        RCT {"Ryan Air Service" "United States"}
    RCU {"Atlantic S.L." Spain}                 RCX {"Air Service Center" Italy}
    RCY {"Package Express" "United States"}     RDD {"Adygeya Airlines" Russia}
    RDE {"II Lione Alato Arl" "United Kingdom"}
    RDK {"Memorial Hermann Hospital System" "United States"}    RDL {"Roadair Lines" Canada}
    RDM {"Air Ada" Mauritania}                  RDP {"Eurojet Romania" Romania}
    RDR {"Goodridge (UK) Limited" "United Kingdom"}    RDS {"Rhoades Aviation" "United States"}
    RDV {"Red Sea Aviation" Egypt}              RDW {"Valair AG (Helicoptere)" Switzerland}
    RDZ {"Rodze Air" Nigeria}                   REA {"Aer Arann" Ireland}
    REB {Rebus Bulgaria}                        REC {"Trans Reco" Mauritania}
    RED {"International Committee of the Red Cross" Switzerland}    REF {"Reef Air" "New Zealand"}
    REG {"Regional Air Services" Tanzania}      REI {"Ray Aviation" Israel}
    REJ {"SA Airlink Regional" "South Africa"}    REK {"Reem Air" Kyrgyzstan}
    REL {"Reliance Aviation" "United States"}    REN {Aero-Rent Mexico}
    REO {"Rio Airways" "United States"}         REP {"Regional Paraguaya" Paraguay}
    RER {"Servicio Aéreo Regional Regair" Ecuador}
    RES {"Australian Maritime Safety Authority" Australia}    REU {"Air Austral" France}
    REV {"RVL Group" "United Kingdom"}          REW {"Regional Air Express" Germany}
    REX {"Ram Air Freight" "United States"}     REY {Aero-Rey Mexico}
    REZ {"Cal-West Aviation" "United States"}    RFA {"Raleigh Flying Service" "United States"}
    RFC {"Aero Africa" Swaziland}               RFD {"Aerotransportes Rafilher" Mexico}
    RFF {"Russian Federation Air Force" Russia}
    RFI {"National Air Traffic Services" "United Kingdom"}    RFL {Interfly Italy}
    RFR {"Royal Air Force" "United Kingdom"}    RFS {Rossair Australia}
    RFT {"Scoala Superioara De Aviatie Civila" Romania}
    RFX {"J P Hunt Air Carriers" "United States"}    RGA {"Royal Ghanaian Airlines" Ghana}
    RGC {"Servicios Aéreos Regiomontanos" Mexico}    RGE {"Regent Airways" Bangladesh}
    RGL {"Regional Air Lines" Morocco}          RGM {"Rangemile Limited" "United Kingdom"}
    RGN {"Cygnus Air" Spain}                    RGO {Argo "Dominican Republic"}
    RGP {"River State Government of Nigeria" Nigeria}    RGR {"Region Air" Canada}
    RGS {"Renown Aviation" "United States"}     RGT {"Airbourne School of Flying" "United Kingdom"}
    RGV {"RG Aviation" Venezuela}               RGY {"Regency Airlines" "United States"}
    RHC {"Redhill Aviation" "United Kingdom"}    RHD {"Bond Air Services" "United Kingdom"}
    RHL {"Air Archipels" France}                RIA {"Rich International Airways" "United States"}
    RIC {"Richardson's Airway" "United States"}    RID {"Ridder Avia" Kazakhstan}
    RIF {"Aviation Ministry of the Interior of the Russian Federation" "Russian Federation"}
    RIL {"Regional Air" Mauritania}             RIM {"Rimrock Airlines" "United States"}
    RIO {"Rio Linhas Aéreas" Brazil}            RIS {"Aeris Gestión" Spain}
    RIT {"Asian Spirit" Philippines}            RIU {"Riau Airlines" Indonesia}
    RIV {"APG Airlines" France}                 RIX {"Rectrix Aviation" "United States"}
    RJA {"Royal Jordanian" Jordan}              RJM {"Millen Corporation" "United Kingdom"}
    RJS {"Aeroservicios Jet" Mexico}            RJT {"RA Jet Aeroservicios" Mexico}
    RJZ {"Royal Jordanian Air Force" Jordan}    RKA {"Air Afrique" "Ivory Coast"}
    RKC {"DAS Airlines" "Democratic Republic of the Congo"}    RKH {"Royal Khmer Airlines" Cambodia}
    RKM {"RAK Airways" "United Arab Emirates"}    RKT {Rotormotion "United Kingdom"}
    RKW {"Rockwell Collins Avionics" "United States"}    RLA {Airlinair France}
    RLE {"Rico Linhas Aéreas" Brazil}           RLH {"Ruili Airlines" China}
    RLK {"Air Nelson" "New Zealand"}            RLL {"Air Leone" "Sierra Leone"}
    RLM {"Royal American Airways" "United States"}    RLN {"Lankan Cargo" "Sri Lanka"}
    RLR {"Business Airfreight" "United States"}    RLS {S-Air Russia}
    RLT {"Reliant Airlines" "United States"}    RLU {Rusline Russia}
    RLV {"Real Aviation" Ghana}                 RLZ {"Air Alize" France}
    RMA {"Rocky Mountain Airways" "United States"}    RMD {"Air Amder" Mauritania}
    RME {"Armenian Airlines" Armenia}           RMF {"Royal Malaysian Air Force" Malaysia}
    RMG {"Rumugu Air & Space Nigeria" Nigeria}    RMI {"Point Airlines" Nigeria}
    RML {"Air Mediterranean" Greece}            RMO {Arm-Aero Armenia}
    RMP {"Servicios De Rampa Y Mostrador" Mexico}    RMS {"Tas Aviation" "United States"}
    RMT {"Ram Aircraft Corporation" "United States"}    RMU {"C.S.P., Societe" Mauritania}
    RMV {Romavia Romania}                       RMX {"Air Max" Bulgaria}
    RNA {"Nepal Airlines" Nepal}                RNB {Rosneft-Baltika Russia}
    RND {"Rutland Aviation" "United Kingdom"}    RNE {"Air Salone" "Sierra Leone"}
    RNG {"Orange Aircraft Leasing" Netherlands}    RNM {"Aeronem Air Cargo" Ecuador}
    RNR {"Air Cargo Masters" "United States"}    RNS {Ronso Mexico}
    RNV {Armavia Armenia}                       ROA {"Reno Air" "United States"}
    ROC {"Rocky Mountain Airlines" Canada}      ROD {Aerodan Mexico}
    ROE {Aeroeste Bolivia}                      ROF {"Romanian Air Force" Romania}
    ROG {"Fundació Rego" Spain}                ROH {"Aero Gen" Mexico}
    ROI {"Avior Airlines" Venezuela}            ROJ {"Royal Jet" "United Arab Emirates"}
    ROK {"National Airlines" "United States"}    ROL {"Aeroel Airways" Israel}
    ROM {"Aeromar Lineas Aereas Dominicanas" "Dominican Republic"}    RON {"Our Airline" Nauru}
    ROO {Aeroitalia Italy}                      ROP {"Royal Oman Police" Oman}
    ROR {"Roraima Airways" Guyana}              ROS {"Rossair Europe" Netherlands}
    ROT {Tarom Romania}                         ROU {"Transportes Aéreos I. R. Crusoe" Chile}
    ROV {"Rover Airways International" "United States"}    ROW {"Nor Aviation" Norway}
    ROX {"Roblex Aviation" "United States"}     ROY {"Conifair Aviation" Canada}
    RPA {"Republic Airlines" "United States"}    RPB {AeroRepública Colombia}
    RPC {"Aerolíneas Del Pacífico" Ecuador}     RPH {"Republic Express Airlines" Indonesia}
    RPK {"Royal Airlines" Pakistan}             RPS {"Global Air Charter" "United States"}
    RPX {"BAC Express Airlines" "United Kingdom"}    RRA {"Royal Rwanda Airlines" Rwanda}
    RRB {"Aero Club de Castellon" Spain}        RRC {"Aero Roca" Mexico}
    RRE {"Aerotransportes Internacionales De Torreon" Mexico}
    RRF {"Royal Air Force" "United Kingdom"}    RRL {"Rolls-Royce Limited" "United Kingdom"}
    RRM {"Acvila Air-Romanian Carrier" Romania}    RRO {Aerocredo Russia}
    RRR {"Royal Air Force" "United Kingdom"}
    RRS {"Boscombe Down DERA (Formation)" "United Kingdom"}
    RRT {"Transportes Aéreos Sierra" Mexico}    RRU {Cirrus Chile}
    RRV {"Mombasa Air Safari" Kenya}            RRY {"Tbilisi Aviation University" Georgia}
    RRZ {"Rollright Aviation" "United Kingdom"} RSA {"Elisra Airlines" Sudan}
    RSB {Rubystar Belarus}                      RSC {"Aerolíneas Ejecutivas Tarascas" Mexico}
    RSE {"SNAS Aviation" "Saudi Arabia"}        RSF {"Royal Saudi Air Force" "Saudi Arabia"}
    RSH {"Air Sahara" India}                    RSI {"Air Sunshine" "United States"}
    RSK {DSWA "United States"}                  RSL {"Rio Sul Serviços Aéreos Regionais" Brazil}
    RSM {"Air Somalia" "Somali Republic"}       RSN {"Royal Swazi National Airways" Swaziland}
    RSO {"Aero Asia International" Pakistan}    RSP {JetSuite "United States"}
    RSQ {"International SOS WIndhoek" Namibia}  RSR {Aero-Service "Republic of the Congo"}
    RSS {Rossair "South Africa"}                RST {"Resort Air" "United States"}
    RSU {AeroSur Bolivia}                       RSV {"Red Sky Ventures" Namibia}
    RTE {Aeronorte Portugal}                    RTH {Artis France}
    RTM {"Trans Am Compania" Ecuador}           RTN {"Raytheon Aircraft Company" "United States"}
    RTO {"Rectimo Air Transports" France}       RTQ {"Air Turquoise" France}
    RTR {Rotatur Brazil}                        RTS {"Relief Transport Services" "United Kingdom"}
    RTU {Aerotucan Mexico}                      RTV {Nortavia Portugal}
    RUA {"Rwanda Airlines" Rwanda}              RUC {"Rutas Aéreas" Venezuela}
    RUD {"Air Anastasia" Ukraine}               RUH {Rusich-T Russia}
    RUM {"Air Rum" "Sierra Leone"}              RUN {"ACT Havayollari" Turkey}
    RUR {Rusaero Russia}                        RUS {"Cirrus Airlines" Germany}
    RUT {"Reut Airways" Israel}                 RUZ {Rusuertol Russia}
    RVC {"Richards Aviation" "United States"}    RVE {Airventure Belgium}
    RVF {"Ravn Alaska" "United States"}         RVI {"Aero Servicios" Mexico}
    RVL {Airvallee Italy}                       RVM {"River Ministries Air Charter" "South Africa"}
    RVN {"Raven Air" "United States"}           RVP {"Air VIP" Portugal}
    RVQ {"Aero Jet International" "United States"}    RVR {"Raven Air" "United Kingdom"}
    RVT {"Aircompany Veteran" Armenia}          RVV {"Reeve Aleutian Airways" "United States"}
    RWA {"Rwanda Airways" Rwanda}               RWB {"Alliance Express Rwanda" Rwanda}
    RWC {"Arrow Ecuador Arrowec" Ecuador}       RWD {"Rwandair Express" Rwanda}
    RWE {"Royal West Airlines" "United States"}    RWG {"C&M Airways" "United States"}
    RWL {"RWL Luftfahrtgesellschaft" Germany}    RWS {"Air Whitsunday" Australia}
    RWY {"Aerogroup 98 Limited" "United Kingdom"}    RXA {"Regional Express" Australia}
    RXP {"Royal Aviation Express" Canada}       RXT {Aeroxtra Mexico}
    RYA {"Ryan Air Services" "United States"}    RYB {"Royal Bahrain Airlines" Bahrain}
    RYL {"Royal Aruban Airlines" Aruba}         RYN {"Ryan International Airlines" "United States"}
    RYR {Ryanair Ireland}                       RYS {"Royal Sky" Thailand}
    RYT {"Raya Jet" Jordan}                     RYZ {"Ryazan State Air Enterprise" Russia}
    RZA {"Jet Fighter Flights" Australia}       RZL {"Aero Zambia" Zambia}
    RZN {"Aero Zano" Mexico}                    RZO {"SATA International" Portugal}
    RZR {"Zephyr Express" "United States"}      RZU {"Zhersu Avia" Kazakhstan}
    RZV {Z-Avia Armenia}                        RZZ {"Anoka Air Charter" "United States"}
    SAA {"South African Airways" "South Africa"}    SAB {"Sky Way Air" Kyrgyzstan}
    SAC {"SASCO Airlines" Sudan}                SAF {"Singapore Air Force" Singapore}
    SAG {"SOS Flygambulans" Sweden}             SAH {"Sayakhat Airlines" Kazakhstan}
    SAI {"Shaheen Air International" Pakistan}    SAM {"SAM Colombia" Colombia}
    SAN {"Servicios Aéreos Nacionales (SAN)" Ecuador}    SAO {"Sahel Aviation Service" Mali}
    SAP {"Avia Jaynar" Kazakhstan}              SAQ {"Springbank Aviation" Canada}
    SAS {"Scandinavian Airlines" "Sweden, Denmark and Norway"}    SAT {"SATA Air Acores" Portugal}
    SAU {"United Aviation Services" Spain}      SAV {"Samal Air" Kazakhstan}
    SAW {"Sham Wing Airlines" "Syrian Arab Republic"}    SAX {"Sabah Air" Malaysia}
    SAY {ScotAirways "United Kingdom"}          SAZ {"Swiss Air-Ambulance" Switzerland}
    SBA {STA-MALI Mali}                         SBB {"Steinman Aviation" "United States"}
    SBC {"Emoyeni Air Charter" "South Africa"}    SBD {"SIBIA Aircompany Ltd" Russia}
    SBF {"Seven Bar Flying Service" Tunisia}    SBG {"Sabre Incorporated" "United States"}
    SBH {Aerosaab Mexico}                       SBI {"S7 Airlines" Russia}
    SBJ {"Trans Sahara Air" Nigeria}            SBK {"Air Srpska" "Bosnia and Herzegovina"}
    SBL {"Sobel Airlines of Ghana" Ghana}       SBM {SkyBahamas Bahamas}
    SBO {"Stabo Air" Zambia}
    SBQ {"SmithKline Beecham Clinical Labs" "United States"}
    SBR {"Saber Aviation" "United States"}      SBS {"Seaborne Airlines" "United States"}
    SBT {"Taftan Airlines" Iran}                SBU {"St Barth Commuter" France}
    SBW {"Snowbird Airlines" Finland}           SBX {"North Star Air Cargo" "United States"}
    SBZ {"Scibe Airlift" "Democratic Republic of the Congo"}
    SCA {"South Central Air" "United States"}
    SCB {"Saigon Capital Aircraft Management" Netherlands}
    SCC {"Seacoast Airlines" "United States"}    SCD {"Associated Aviation" Nigeria}
    SCE {"Scenic Airlines" "United States"}     SCF {Socofer Angola}
    SCH {"Seychelles Airlines" Seychelles}      SCI {"Servicios Aéreos San Cristóbal" Mexico}
    SCJ {"Siamjet Aviation" Thailand}           SCK {"Sky Cam" France}
    SCL {"Switfair Cargo" Canada}               SCM {"American Jet International" "United States"}
    SCN {"South American Airlines" Peru}        SCO {"Helikopterservice Euro Air" Sweden}
    SCP {"Scorpio Aviation" Egypt}
    SCQ {"OSM Aviation Academy" "Norway, Sweden and San Diego"}    SCR {"Silver Cloud Air" Germany}
    SCS {"South African Non Scheduled Airways" "South Africa"}    SCT {SAAB-Aircraft Sweden}
    SCU {"Air Scorpio" Bulgaria}                SCV {"Servicios Aéreos Del Centro" Mexico}
    SCW {"Malmö Aviation" Sweden}               SCX {"Sun Country Airlines" "United States"}
    SDA {"St. Andrews Airways" Canada}          SDB {"Sukhoi Design Bureau Company" Russia}
    SDC {"Sunrise Airlines" "United States"}    SDD {"Skymaster Air Taxi" "United States"}
    SDE {"Air Partners Corp." Canada}
    SDF {"Sundorph Aeronautical Corporation" "United States"}
    SDH {"Servicio De Helicopteros" Spain}      SDJ {"Club 328" "United Kingdom"}
    SDK {"SADELCA - Sociedad Aérea Del Caquetá" Colombia}    SDL {Skydrift "United Kingdom"}
    SDM {Rossiya Russia}                        SDN {"Spirit of Africa Airlines" Sudan}
    SDO {"Air Santo Domingo" "Dominican Republic"}    SDP {"Aero Sudpacifico" Mexico}
    SDR {Sundair Germany}
    SDS {"United Kingdom Civil Aviation Authority" "United Kingdom"}    SDU {"Sud Airlines" France}
    SDV {"Servicios Aéreos Del Vaupes" Colombia}    SDX {"Servicio Tecnico Aero De Mexico" Mexico}
    SDY {"Island Express" "United States"}      SDZ {"Sudan Pezetel for Aviation" Sudan}
    SEA {"Southeast Air" "United States"}       SEB {"Servicios Aéreos Luce" Mexico}
    SEC {"3D Aviation" "United States"}         SED {"Sedona Air Center" "United States"}
    SEE {"Shaheen Air Cargo" Pakistan}
    SEF {"Aero Servicios Ejecutivas Del Pacifico" Mexico}    SEG {"Eagle International" Senegal}
    SEH {"Sky Express" Greece}                  SEI {"Transportes Aéreos Sierra Madre" Mexico}
    SEJ {Spicejet India}                        SEK {Skyjet Kazakhstan}
    SEL {"Sentel Corporation" "United States"}    SEM {"Cape Central Airways" "United States"}
    SEN {SevenAir "United States"}              SEO {"Selcon Airlines" Nigeria}
    SEQ {"Sky Eyes" Thailand}                   SER {"Aero California" Mexico}
    SES {"Servicio Aéreo Saltillo" Mexico}      SET {SAETA Ecuador}
    SEU {"XL Airways France" France}            SEV {"Serair Transworld Press" Spain}
    SEY {"Air Seychelles" Seychelles}           SFA {SEFA France}
    SFB {"Air Sofia" Bulgaria}                  SFC {"Shuswap Flight Centre" Canada}
    SFE {"Sefofane Air Charters" Botswana}      SFF {"Safewings Aviation Company" "United States"}
    SFG {"Sun Freight Logistics" Thailand}      SFJ {"Star Flyer" Japan}
    SFL {"Southflight Aviation" "New Zealand"}    SFM {"A-Safar Air Services" Nigeria}
    SFN {"Safiran Airlines" Iran}               SFP {"Safe Air" Pakistan}
    SFR {Safair "South Africa"}                 SFS {"Southern Frontier Air Transport" Canada}
    SFT {Skyfreight "United States"}            SFU {"Solent Flight" "United Kingdom"}
    SFX {"S.K. Logistics" "United States"}      SFY {"Gulf Flite Center" "United States"}
    SGA {"Air Saigon" Vietnam}                  SGB {"Sky King, Inc." "United States"}
    SGC {"Southern Right Air Charter" "South Africa"}
    SGD {"Sky Gate International Aviation" Kyrgyzstan}
    SGF {"STAC Swiss Government Flights" Switzerland}    SGH {Servisair "United Kingdom"}
    SGI {"Servicios Aéreos Agrícolas" Chile}    SGK {"Skyward Aviation" Canada}
    SGM {"Sky Aircraft Service" Netherlands}    SGN {"Siam GA" Thailand}
    SGP {"Sagolair Transportes Ejecutivos" Spain}    SGR {"SkyGreece Airlines" Greece}
    SGS {"Saskatchewan Government Executive Air Service" Canada}    SGT {Skygate Netherlands}
    SGU {Samgau Kazakhstan}                     SGV {Aerosegovia Nicaragua}
    SGX {"Saga Airlines" Turkey}                SGY {"Skagway Air Service" "United States"}
    SHA {"Shree Airlines" Nepal}                SHB {Shabair "Democratic Republic of the Congo"}
    SHC {"Sky Harbor Air Service" "United States"}    SHD {"Sahara Airlines" Algeria}
    SHE {"Shell Aircraft" "United Kingdom"}     SHF {"Royal Air Force" "United Kingdom"}
    SHG {"Shoprite Group" "United Kingdom"}     SHH {"Airshare Holdings" "United Kingdom"}
    SHJ {"Sharjah Ruler's Flight" "United Arab Emirates"}    SHK {"Shorouk Air" Egypt}
    SHL {"Samson Aviation" "United Kingdom"}    SHM {"Sheltam Aviation" "South Africa"}
    SHN {"Shaheen Airport Services" Pakistan}    SHO {Sheremetyevo-Cargo Russia}
    SHP {"Service Aerien Francais" France}      SHQ {"Shanghai Airlines Cargo" China}
    SHR {"Shooter Air Courier" Canada}          SHS {"Shura Air Transport Services" Ethiopia}
    SHT {"British Airways Shuttle" "United Kingdom"}    SHU {"Sakhalinskie Aviatrassy (SAT)" Russia}
    SHV {"Shavano Air" "United States"}         SHW {"Shawnee Airline" "United States"}
    SHX {"Slim Aviation Services" Nigeria}      SHY {"Sky Airlines" Turkey}
    SIA {"Singapore Airlines" Singapore}        SIB {Sibaviatrans Russia}
    SIC {"SFS Aviation" Thailand}               SIE {"Sierra Express" "United States"}
    SIH {"Skynet Airlines" Ireland}
    SII {"Aero Servicios Ejecutivos Internacionales" Mexico}    SIJ {"Seco International" Japan}
    SIL {"Servicios Aeronáuticos Integrales" Mexico}    SIM {"Star Air" "Sierra Leone"}
    SIO {Sirio Italy}                           SIP {"Air Spirit" "United States"}
    SIQ {"National Center for Atmospheric Research" "United States"}    SIR {Salair "United States"}
    SIS {"Saber Airlines" Egypt}                SIT {SITA Belgium}
    SIV {"Slovenian Armed Forces" Slovenia}     SIW {"Sirio Executive" Italy}
    SIX {"Sixt Rent A Car" "United States"}     SIY {Aerosiyusa Mexico}
    SIZ {"Aero Silza" Mexico}
    SJA {"Servicios Aéreos Especiales De Jalisco" Mexico}
    SJC {"Servicios Ejecutivos Continental" Mexico}    SJE {"Sunair 2001" "South Africa"}
    SJJ {"Spirit Aviation" "United States"}
    SJL {"Servicios Especiales Del Pacifico Jalisco" Mexico}    SJM {"Sino Jet Management" China}
    SJN {"Air San Juan" "United States"}        SJO {"Spring Airlines Japan" Japan}
    SJT {"Swiss Jet" Switzerland}               SJY {"Sriwijaya Air" Indonesia}
    SKA {"Rio Air Express" Brazil}              SKB {"Skybus Airlines" "United States"}
    SKC {"Skymaster Airlines" Brazil}           SKD {"Sky Harbor Air Service" "United States"}
    SKE {"Sky Tours" "United States"}           SKF {Skycraft "United States"}
    SKG {"Skycraft Air Transport" Canada}       SKH {"British Sky Broadcasting" "United Kingdom"}
    SKI {"SkyKing Turks and Caicos Airways" "Turks and Caicos Islands"}
    SKK {"Skylink Aviation" Canada}             SKL {"Skycharter (Malton)" Canada}
    SKM {"Fayetteville Flying Service and Scheduled Skyways System" "United States"}
    SKN {"Skyline Aviation Services" "United States"}
    SKO {"Scottish Airways Flyers" "United Kingdom"}    SKP {"Aero-North Aviation Services" Canada}
    SKQ {Labcorp "United States"}               SKR {"Skyscapes Air Charters" "South Africa"}
    SKS {"Sky Link Aviation" Pakistan}          SKT {"SkyStar Airways" Thailand}
    SKU {"Sky Airline" Chile}                   SKV {"Sky Regional Airlines" Canada}
    SKW {"SkyWest Airlines" "United States"}    SKX {"Skyways Express" Sweden}
    SKY {"Skymark Airlines" Japan}              SKZ {"Skyway Enterprises" "United States"}
    SLA {"Sierra National Airlines" "Sierra Leone"}    SLB {"Slok Air" Nigeria}
    SLD {"Silver Air" "Czech Republic"}         SLE {Streamline "South Africa"}
    SLF {Starfly Italy}                         SLG {"Saskatchewan Government" Canada}
    SLH {"Silverhawk Aviation" "United States"}    SLI {"Aeroméxico Connect" Mexico}
    SLK {SilkAir Singapore}                     SLL {"Slovak Airlines" Slovakia}
    SLM {"Surinam Airways" Suriname}            SLN {"Sloane Aviation" "United Kingdom"}
    SLO {"Edgartown Air" "United States"}       SLP {"Salpa Aviation" Sudan}
    SLS {"Servicios Aéreos Slainte" Mexico}     SLU {"Avio Sluzba" Serbia}
    SLV {"Stella Aviation" Mauritania}          SLW {"Salama Airlines Nigeria" Nigeria}
    SLX {"Sete Linhas Aéreas" Brazil}           SLY {"Sky Line for Air Services" Sudan}
    SLZ {"Super Luza" Angola}                   SMA {"SMA Airlines" Nigeria}
    SMC {"Sabang Merauke Raya Air Charter" Indonesia}    SMD {"Servicios Aéreos La Marquesa" Mexico}
    SME {Semos Kazakhstan}                      SMF {Smalandsflyg Sweden}
    SMG {"RAF St Mawgan Search and Rescue" "United Kingdom"}    SMH {Smithair "United States"}
    SMI {"Aero Sami" Mexico}                    SMJ {"Avient Aviation" Zimbabwe}
    SMK {Semeyavia Kazakhstan}                  SML {"Smith Air (1976)" Canada}
    SMM {"Summit Airlines" "United States"}     SMQ {"Samar Air" Tajikistan}
    SMR {"Somon Air" Tajikistan}
    SMS {"Linhas Aéreas Santomenses" "São Tomé and Príncipe"}    SMT {Skyline Nigeria}
    SMU {"Sanborn Map Company" "United States"}    SMW {"Carpatair Flight Service" Romania}
    SMX {"Alitalia Express" Italy}              SMY {"Sama Airlines" "Saudi Arabia"}
    SMZ {"RAF Scampton" "United Kingdom"}       SNA {"Senator Aviation Charter" Germany}
    SNB {"Sterling Airlines" Denmark}           SNC {"Air Cargo Carriers" "United States"}
    SND {"Air Samarkand" Uzbekistan}
    SNE {"Servicios Aéreos De Nicaragua (SANSA)" Nicaragua}    SNF {"Shans Air" Russia}
    SNG {"LongJiang Airlines" China}            SNH {"Senair Services" Senegal}
    SNI {"Savanah Airlines" Nigeria}            SNJ {"Skynet Asia Airways" Japan}
    SNK {"Southeast Airlines (Sun Jet International)" "United States"}
    SNL {"Soonair Lines" "United States"}       SNM {"Servizi Aerei" Italy}
    SNO {"Delta Air Charter" Canada}            SNP {"Sun Pacific International" "United States"}
    SNQ {"Sun Quest Executive Air Charter" "United States"}
    SNS {"Societe Centrafricaine De Transport Aerien" "Central African Republic"}
    SNT {"Suncoast Aviation" "United States"}    SNU {"Snunit Aviation" Israel}
    SNV {"Sudanese States Aviation" Sudan}      SNW {"Sun West Airlines" "United States"}
    SNX {"Sun Air Aviation Services" Canada}    SNY {"Air Sandy" Canada}
    SOB {"Stabo Freight" Zambia}                SOC {"Southern Cargo Air Lines" Russia}
    SOD {"Aerolíneas Sol" Mexico}               SOE {"Air Soleil" Mauritania}
    SOG {"Solenta Aviation Ghana" Ghana}        SOH {"Southern Ohio Aviation Sales" "United States"}
    SOI {"Southern Aviation" Zambia}            SOL {"Solomon Airlines" "Solomon Islands"}
    SOM {"Somali Airlines" "Somali Republic"}    SON {"Sunshine Air Tours" "United States"}
    SOO {"Southern Air" "United States"}        SOP {Solinair Slovenia}
    SOR {"Sonair Servico Aéreo" Angola}         SOT {"Southeast Correct Craft" "United States"}
    SOU {"Southern Airways" "United States"}    SOV {"Saratov Airlines Joint Stock Company" Russia}
    SOW {"Sowind Air" Canada}                   SOX {"Solid Air" Netherlands}
    SOY {"Island Aviation" Philippines}         SOZ {"Sat Airlines" Kazakhstan}
    SPA {"Sierra Pacific Airlines" "United States"}    SPB {"Springbok Classic Air" "South Africa"}
    SPC {"Skyworld Airlines" "United States"}    SPD {"Airspeed Aviation" Canada}
    SPE {"Sprague Electric Company" "United States"}    SPF {"Space World Airline" Nigeria}
    SPG {"Springdale Air Service" "United States"}    SPH {"Sapphire Executive Air" "South Africa"}
    SPI {"South Pacific Island Airways" "United States"}    SPJ {"Air Service" Macedonia}
    SPK {"Diamond Aviation" "United States"}
    SPL {"Servicios Corporativos Aéreos De La Laguna" Mexico}    SPM {"Air Saint Pierre" France}
    SPN {"Skorpion Air" Bulgaria}               SPO {"Aeroservicios Ejecutivos Del Pacifico" Mexico}
    SPP {"Sapphire Aviation" "United States"}    SPQ {"Servicios Aéreos Palenque" Mexico}
    SPR {"Provincial Airlines" Canada}          SPS {SPASA Spain}
    SPT {"Speed Aviation" Bangladesh}           SPU {"Southeast Airmotive" "United States"}
    SPV {"Servicios Privados De Aviación" Mexico}    SPW {Speedwings Switzerland}
    SPX {"Service People Gesellschaft für Charter und Service" Germany}
    SPY {"Asian Aerospace Service" Thailand}    SPZ {Airworld "South Africa"}
    SQA {"Slovak National Aeroclub" Slovakia}    SQC {"Singapore Airlines Cargo" Singapore}
    SQF {"Slovak Air Force" Slovakia}           SQH {"SeaPort Airlines" "United States"}
    SQL {"Servicos De Alquiler" Mexico}         SQR {"Alsaqer Aviation" Libya}
    SRA {"Sair Aviation" Canada}                SRC {Searca Colombia}
    SRD {"Search and Rescue 22" "United Kingdom"}    SRE {"Fly Jetstream Aviation" "South Africa"}
    SRF {"Transportes Aéreos San Rafael" Chile}    SRG {"Search and Rescue 202" "United Kingdom"}
    SRH {"Siem Reap Airways" Cambodia}          SRI {"Air Safaris and Services" "New Zealand"}
    SRJ {"C Air Jet Airlines" "Syrian Arab Republic"}    SRK {"Sky Work Airlines" Switzerland}
    SRL {"Servicios Aeronáuticos Aero Personal" Mexico}    SRN {Sirair Russia}
    SRO {"Servicios Aéreos Ejecutivos Saereo" Ecuador}
    SRP {"Polizeihubschauberstaffel Rheinland-Pfalz" Germany}    SRQ {Cebgo Philippines}
    SRR {"Star Air" Denmark}                    SRS {"Selkirk Remote Sensing" Canada}
    SRT {"Trans Asian Airlines" Kazakhstan}     SRU {"Star Up" Peru}
    SRV {"Aero Servicio Corporativo" Mexico}    SRW {"Sarit Airlines" Sudan}
    SRX {"Sierra Expressway Airlines" "United States"}    SRY {As-Aero Armenia}
    SRZ {"Strato Air Services" "South Africa"}    SSB {Sasair Canada}
    SSC {"Southern Seaplane" "United States"}    SSD {"Star Service International" France}
    SSE {"Servicios Aéreos Sunset" Mexico}      SSF {"Severstal Air Company" Russia}
    SSG {"Slovak Government Flying Service" Slovakia}
    SSH {"Heritage Flight (Valley Air Services)" "United States"}    SSI {"Vision Airlines" Nigeria}
    SSK {"Skystar International" "United States"}    SSL {"Air Sultan" "Sierra Leone"}
    SSM {"Aero 1 Pro-Jet" Canada}               SSN {"Airquarius Air Charter" "South Africa"}
    SSO {"Special Scope Limited" "United Kingdom"}    SSP {Starspeed "United Kingdom"}
    SSQ {"Sunstate Airlines" Australia}         SSS {SAESA Spain}
    SST {"Sunwest Airlines" Canada}             SSU {SASCA Venezuela}
    SSV {"Skyservice Airlines" Canada}          SSW {"Streamline Aviation" "United Kingdom"}
    SSX {"Lynx Aviation" "United States"}       SSY {"Sky Aviation" "Sierra Leone"}
    SSZ {"Specsavers Aviation" "United Kingdom"}    STA {"Star Aviation" "United Kingdom"}
    STB {"Status-Alpha Airline" Ukraine}        STC {"Stadium City Limited" "United Kingdom"}
    STD {"Servicios De Aerotransportacion De Aguascalientes" Mexico}
    STE {"Semitool Europe" "United Kingdom"}    STF {"SFT-Sudanese Flight" Sudan}
    STG {"Sedalia, Marshall, Boonville Stage Line" "United States"}    STH {South-Airlines Armenia}
    STI {Sontair Canada}                        STJ {"Sella Aviation" Netherlands}
    STK {"Stobart Air" Ireland}                 STL {"Stapleford Flight Centre" "United Kingdom"}
    STN {"RAF St Athan" "United Kingdom"}       STO {"Streamline Ops" Russia}
    STQ {"Star Air" Indonesia}                  STR {"Red Star" "United Arab Emirates"}
    STT {"Air St. Thomas" "United States"}      STU {"Star African Air" "Somali Republic"}
    STV {"Southern Aviation" Ghana}             STW {"South West Air Corporation" Philippines}
    STX {"Stars Away Aviation" "South Africa"}    STY {"Styrian Airways" Austria}
    SUA {"Silesia Air" "Czech Republic"}        SUB {"Suburban Air Freight" "United States"}
    SUD {"Sudan Airways" Sudan}                 SUE {"Aerolíneas Del Sureste" Mexico}
    SUF {"Sun Air (Fiji)" Fiji}                 SUG {"Sunu Air" Senegal}
    SUH {"Sun Light" Kyrgyzstan}                SUI {"Swiss Air Force" Switzerland}
    SUK {"Superior Aviation Services" Kenya}    SUM {"State Unitary Air Enterprise" Russia}
    SUN {"Antillana De Navegación Aérea" "Dominican Republic"}
    SUO {"Aeroservicios De San Luis" Mexico}    SUP {Aerosuper Mexico}
    SUR {"Sun Air" Egypt}                       SUS {"Sun Air of Scandinavia" Denmark}
    SUT {"Sistemas Aeronauuticos 2000" Mexico}    SUU {"Star West Aviation" "United States"}
    SUV {"Sundance Air" Venezuela}              SUW {"Interavia Airlines" Russia}
    SUY {"Aerial Surveys (1980) Limited" "New Zealand"}    SVA {Saudia "Saudi Arabia"}
    SVB {Siavia Slovenia}
    SVD {"St. Vincent Grenadines Air (1990)" "Saint Vincent and the Grenadines"}
    SVE {"Aero Servicios Expecializados" Mexico}    SVF {"Swedish Armed Forces" Sweden}
    SVH {"Sterling Helicopters" "United Kingdom"}    SVI {"Servicios De Transporte Aéreo" Mexico}
    SVJ {"Silver Air" Djibouti}                 SVK {"Air Slovakia" Slovakia}
    SVL {Sevastopol-Avia Ukraine}               SVM {"Aeroservicios Monterrey" Mexico}
    SVN {"Savanair (Angola)" Angola}            SVO {"Servicios Aeronáuticos De Oriente" Mexico}
    SVR {"Ural Airlines" Russia}                SVS {"Servicios Aéreos Saar" Mexico}
    SVT {"Seven Four Eight Air Services" Luxembourg}    SVV {SALTAVIATION Poland}
    SVW {"Global Jet Luxembourg" Luxembourg}    SVX {"Security Aviation" "United States"}
    SVY {"Cooper Aerial Surveys" "United Kingdom"}    SWA {"Southwest Airlines" "United States"}
    SWB {"Swissboogie Parapro" Switzerland}     SWC {"South West Air" Canada}
    SWD {Trifly "United States"}                SWE {Swedeways Sweden}
    SWF {"Galair International" "United Kingdom"}    SWG {"Sunwing Airlines" Canada}
    SWH {"Adler Aviation" Canada}               SWI {"Sunworld Airlines" "United States"}
    SWJ {"StatesWest Airlines" "United States"}    SWK {"General Aerospace" Canada}
    SWL {"Trans Jet Airways" Sweden}            SWN {"West Air Sweden" Sweden}
    SWO {"Surinam International Victory Airline" Suriname}    SWP {"Star Work Sky" Italy}
    SWQ {"Swift Air (Interstate Equipment Leasing)" "United States"}    SWR {Swissair Switzerland}
    SWS {"Sunwest Aviation (Lindquist Investment)" "United States"}    SWT {Swiftair Spain}
    SWU {"Swiss Global Air Lines" Switzerland}    SWV {"Swe Fly" Sweden}
    SWW {"Shovkoviy Shlyah" Ukraine}            SWX {"Swazi Express Airways" Swaziland}
    SWY {"Sky Jet" Switzerland}                 SWZ {"Skywise Airline" "South Africa"}
    SXA {"Southern Cross Aviation" "United States"}    SXC {"Sky Exec Aviation Services" Nigeria}
    SXD {"Sunexpress Deutschland" Germany}      SXE {"Southeast Express Airlines" "United States"}
    SXM {"Servicios Aéreos Especializados Mexicanos" Mexico}    SXN {SaxonAir "United Kingdom"}
    SXP {"Direct Fly" Poland}                   SXS {SunExpress Turkey}
    SXT {"Servicios De Taxi Aéreo" Mexico}      SXX {"Satellite Aero" "United States"}
    SXY {"Safari Express Cargo" Kenya}          SYA {Skyways Argentina}
    SYC {"Systec 2000" "United States"}         SYE {"Sheba Aviation" Yemen}
    SYF {"Sky One Express Airlines" "United States"}    SYG {"Synergy Aviation" "United Kingdom"}
    SYH {"Sky Handling" Ukraine}                SYI {Sonalysts "United States"}
    SYJ {"Slate Falls Airways" Canada}          SYK {Satsair "United States"}
    SYL {"Yakutia Airlines" Russia}             SYN {"Syncrude Canada" Canada}
    SYR {"Syrian Arab Airlines" "Syrian Arab Republic"}
    SYS {"Shawbury Flying Training Unit" "United Kingdom"}
    SYT {"Aerosud Aviation" "South Africa"}     SYV {"Special Aviation Systems" "United States"}
    SYX {"Skywalk Airlines" "United States"}    SYY {"South African Historic Flight" "South Africa"}
    SYZ {"Zil Air" Seychelles}                  SZA {"Aerolíneas de El Salvador" "El Salvador"}
    SZB {"Samoa Air" Samoa}                     SZT {"Servicios Aeronáuticos Z" Mexico}
    TAA {"Aeroservicios de La Costa" Mexico}    TAC {"Turbot Air Cargo" Senegal}
    TAD {"Transporte Aéreo Dominicano" "Dominican Republic"}    TAE {TAME Ecuador}
    TAG {"TAG Aviation USA" "United States"}    TAH {"Air Moorea" France}
    TAJ {Tunisavia Tunisia}                     TAL {Talair "Papua New Guinea"}
    TAM {"LATAM Brasil" Brazil}                 TAN {Zanair Tanzania}
    TAO {Aeromar Mexico}                        TAP {"TAP Portugal" Portugal}
    TAR {Tunisair Tunisia}                      TAS {"Lotus Air" Egypt}
    TAT {"Grupo TACA" "Costa Rica"}             TAU {"Transportes Aéreos Tauro" Mexico}
    TAV {"Compañía de Servicios Aéreos Tavisa" Spain}    TAX {"Travel Air" "United States"}
    TAY {"TNT Airways" Belgium}                 TBA {"Tibet Airlines" China}
    TBC {"Turbine Air Cargo UK" "United Kingdom"}    TBD {"Thunderbird Tours" Canada}
    TBG {"Tropical Airways" Haiti}              TBH {"Trinity Air Bahamas" Bahamas}
    TBI {"TAB Express International" "United States"}
    TBL {"Bell Aliant Regional Communications" Canada}    TBM {"Taban Air Lines" Iran}
    TBN {"Teebah Airlines" "Sierra Leone"}      TBO {"Aero Taxi de Los Cabos" Mexico}
    TBR {Tubelair Tunisia}                      TBS {"Servicios Aéreos Tribasa" Mexico}
    TBX {"Tobago Express" "Trinidad and Tobago"}    TCA {"Tropican Air Services" Egypt}
    TCB {"Transporte del Caribe" Colombia}      TCC {"Trans Continental Airlines" Sudan}
    TCD {"Tchad Airlines" Chad}                 TCE {"Trans-Colorado Airlines" "United States"}
    TCF {"Shuttle America" "United States"}     TCG {"Thai Air Cargo" Thailand}
    TCH {"Transcontinental Air" Bahrain}
    TCI {"Air Turks and Caicos" "Turks and Caicos Islands"}
    TCL {"Coastal Air Transport" "United States"}
    TCM {"Teledyne Continental Motors" "United States"}
    TCN {"Trans Continental Airlines" "United States"}
    TCO {"Aerotranscolombina de Carga" Colombia}    TCP {"Transcorp Airways" "United Kingdom"}
    TCR {"Lanaes Aereas Trans Costa Rica" "Costa Rica"}    TCT {"Transcontinental Sur" Uruguay}
    TCU {"Transglobal Airways Corporation" Philippines}    TCV {TACV "Cape Verde"}
    TCW {"Thomas Cook Airlines" Belgium}        TCX {"Thomas Cook Airlines" "United Kingdom"}
    TCY {"Twin Cities Air Service" "United States"}    TDA {"Trend Aviation" "United States"}
    TDB {"Welch Aviation" "United States"}      TDC {Tadair Spain}
    TDE {"Tellavia / Flight One" "United States"}    TDG {"Air Cargo Express" "United States"}
    TDI {"Transportes Aéreos de Ixtlán" Mexico}    TDM {"Tandem Aero" Moldova}
    TDO {TRADO "Dominican Republic"}            TDR {"Trade Air" Croatia}
    TDT {"Atlas Helicopters" "United Kingdom"}    TDV {"Taxi Aero Nacional Del Evora" Mexico}
    TDX {"Tradewinds Airlines" "United States"}    TDY {"Air Today" "United States"}
    TEA {"Executive Turbine Aviation" "South Africa"}    TEB {"Tenir Airlines" Kyrgyzstan}
    TEC {"ADI Shuttle Group" "United States"}    TED {"Aero Servicios Azteca" Mexico}
    TEE {"West Freugh DTEO" "United Kingdom"}    TEF {"Tecnicas Fotograficas" Spain}
    TEH {"Tempelhof Airways" "United States"}    TEJ {AeroJet Angola}
    TEL {"Telford Aviation" "United States"}    TEM {"Tech-Mont Helicopter Company" Slovakia}
    TEN {"Tennessee Airways" "United States"}    TEP {"Transeuropean Airlines" Russia}
    TER {"Territorial Airlines" "United States"}    TES {"Taespejo Portugal LDA" Portugal}
    TET {"Tepavia-Trans Airlines" Moldova}      TEW {"Airteam Charter" "South Africa"}
    TEX {Catex France}                          TEZ {"TezJet Airlines" Kyrgyzstan}
    TFA {"Trans-Florida Airlines" "United States"}    TFB {"Tair Airways" Philippines}
    TFF {"Talon Air" "United States"}           TFG {"MAS Airways" "United Kingdom"}
    TFH {"Thai Flying Helicopter Service" Thailand}
    TFI {"Transport Facilitators" "United States"}
    TFK {"Transafrik International" "São Tomé and Príncipe"}
    TFL {"TUI Airlines Netherlands" Netherlands}    TFN {"Norwegian Aviation College" Norway}
    TFO {"Transportes Aéreos del Pacífico" Mexico}    TFT {"Thai Flying Service" Thailand}
    TFU {"213th Flight Unit" Russia}            TFY {"Tayside Aviation" "United Kingdom"}
    TGA {"Air Togo" Togo}                       TGC {"TG Aviation" "United Kingdom"}
    TGE {"Trabajos Aéreos" Spain}               TGG {"Tigerair Australia" Australia}
    TGI {"Transportes Aéreos Regionales" Mexico}    TGM {"TAG Aviation Espana" Spain}
    TGN {"Trigana Air Service" Indonesia}       TGO {"Transport Canada" Canada}
    TGR {"Satgur Air Transport" Liberia}        TGT {"SAAB Nyge Aero" Sweden}
    TGW {"Tigerair Singapore" Singapore}        TGX {"Transair Gabon" Gabon}
    TGY {"Trans Guyana Airways" Guyana}         TGZ {"Georgian Airways" Georgia}
    THA {"Thai Airways International" Thailand}    THB {"Spark Air" Thailand}
    THC {"Tar Heel Aviation" "United States"}    THD {"Thai Smile Airways" Thailand}
    THE {"Toumai Air Tchad" Chad}               THF {"Touraine Helicoptere" France}
    THG {"Thai Global Airline" Thailand}        THJ {"Thai Jet Intergroup" Thailand}
    THK {"Turk Hava Kurumu Hava Taksi Isletmesi" Turkey}    THM {"Airmark Aviation" Thailand}
    THN {"International Security Assistance Force" Canada}    THO {"TACA De Honduras" Honduras}
    THR {"Tehran Airline" Iran}                 THS {"Turkish Aerospace Industries" Turkey}
    THT {"Air Tahiti Nui" France}               THU {"Thunder Airlines" Canada}
    THY {"Turkish Airlines" Turkey}             THZ {"Trans Helicoptere Service" France}
    TIA {"Trans International Airlines" "United States"}    TIB {"TRIP Linhas Aéreas" Brazil}
    TIC {"Travel International Air Charters" Zambia}    TID {"Air Tindi" Canada}
    TIE {"Time Air" "Czech Republic"}           TIH {"S C Ion Tiriac" Romania}
    TIK {"Tic Air" Australia}                   TIM {"TEAM Linhas Aéreas" Brazil}
    TIN {"Taino Tours" "Dominican Republic"}    TIP {"C and M Aviation" "United States"}
    TIR {Antair Mexico}                         TIS {Tesis Russia}
    TIW {"Transcarga Intl Airways" Venezuela}    TJK {Tajikair Tajikistan}
    TJN {Tien-Shan Kazakhstan}                  TJS {"Tyrolean Jet Services" Austria}
    TJT {"Twin Jet" France}                     TKC {"Tikal Jets Airlines" Guatemala}
    TKE {"Take Air Line" France}                TKJ {"Tarkim Aviation" Turkey}
    TKR {"Canadian Interagency Forest Fire Centre" Canada}
    TKX {"Tropical International Airways" "Saint Kitts and Nevis"}
    TLA {"Translift Airways" Ireland}           TLB {"Atlantique Air Assistance" France}
    TLC {"Caribbean Express" "United States"}    TLD {"Aereo Taxi Autlan" Mexico}
    TLE {"Aero Util" Mexico}                    TLF {"Transport Africa" "Sierra Leone"}
    TLK {"Starlink Aviation" Canada}            TLL {"Trans Atlantic Airlines" "Sierra Leone"}
    TLM {"Thai Lion Mentari" Thailand}          TLO {"Eagle Canyon Airlines" "United States"}
    TLP {"Tulip Air" Netherlands}               TLR {"Air Libya Tibesti" Libya}
    TLS {"TLC Air" "United States"}             TLT {"Turtle Airways" Fiji}
    TLU {"Aero Toluca Internactional" Mexico}    TLV {Travelair Uruguay}
    TLW {"Teamline Air" Austria}                TLX {"Telesis Transair" "United States"}
    TLY {"Top Fly" Spain}                       TMA {"Trans Mediterranean Airlines" Lebanon}
    TMC {"Travel Management Company" "United States"}    TMD {"Transmed Airlines" Egypt}
    TME {"Aero Taxi del Centro de Mexico" Mexico}    TMG {"Tri-MG Intra Asia Airlines" Indonesia}
    TMH {"Taxis Turisticos Marakame" Mexico}    TMI {"Tamir Airways" Israel}
    TMK {"Tomahawk Airways" "United States"}
    TML {"Transports et Travaux Aériens de Madagascar" Madagascar}
    TMM {"TMC Airlines" "United States"}        TMP {"Arizona Express Airlines" "United States"}
    TMQ {TRAM Mauritania}                       TMR {"Timberline Air" Canada}
    TMS {"Temsco Helicopters" "United States"}    TMT {"Trans Midwest Airlines" "United States"}
    TMX {"Tramon Air" "South Africa"}           TMY {"Transportes Aéreos del Mundo Maya" Mexico}
    TMZ {"Transporte Amazonair" Venezuela}      TNA {"TransAsia Airways" Taiwan}
    TNB {"Trans Air-Benin" Benin}               TNC {"National Aviation Consultants" Canada}
    TND {"Aero Taxis Cessna" Mexico}            TNE {"Taxis Aéreos del Noroeste" Mexico}
    TNF {Transafricaine "Burkina Faso"}
    TNG {"Tennessee Air National Guard 164th Airlift Group" "United States"}
    TNI {"Transair International Linhas Aéreas" "United States"}
    TNL {"Tengeriyn Ulaach Shine" Mongolia}     TNM {"Tiara Air" Aruba}
    TNO {"Aerotransporte de Carga Union" Mexico}    TNP {"Transped Aviation" Austria}
    TNR {"Tanana Air Services" "United States"}    TNT {"Trans North Turbo Air" Canada}
    TNV {Transnorthern "United States"}         TNW {"Trans Nation Airways" Ethiopia}
    TNX {"Trener Ltd" Hungary}                  TNY {"Twin Town Leasing Company" "United States"}
    TOB {"Tobruk Air" Libya}                    TOC {Aerotropical Mexico}
    TOF {"RAF Topcliffe Flying Training Unit" "United Kingdom"}    TOH {"Air Tomisko" Serbia}
    TOJ {"TOJ Airlines" Tajikistan}             TOK {"Airlines PNG" "Papua New Guinea"}
    TOL {"Tol-Air Services" "United States"}    TOM {"Thomson Airways" "United Kingdom"}
    TON {"Aero Tonala" Mexico}                  TOP {"Top Air" Indonesia}
    TOR {"Toronto Airways" Canada}              TOS {"Tropic Air" Belize}
    TOT {Totavia Canada}                        TOW {"Tower Air" "United States"}
    TOX {"Neosiam Airways" Thailand}            TOY {"Toyota Canada" Canada}
    TPA {TAMPA Colombia}                        TPB {"Aero Tropical" Angola}
    TPC {"Air Calédonie" France}                TPD {"Top Speed" Austria}
    TPF {"Taxis Aéreos del Pacífico" Mexico}    TPG {"Transportes Aéreos Pegaso" Mexico}
    TPK {"Air Horizon" Chad}                    TPL {"TAR Interpilot" Mauritania}
    TPM {"Transpaís Aéreo" Mexico}              TPN {"Transportación Aérea del Norte" Mexico}
    TPO {"Aero Taxi del Potosi" Mexico}         TPP {"Transpac Express" Australia}
    TPR {"Taxis Aéreos De Parral" Mexico}
    TPS {"TAPSA Transportes Aéreos Petroleros" Argentina}
    TPT {"Transportes Aéreo del Sureste" Mexico}    TPU {"Trans American Airlines (Trans Am)" Peru}
    TPV {"Thai Pacific Airlines Business" Thailand}    TPX {"Transportes Aéreos De Xalapa" Mexico}
    TPY {"Trans-Provincial Airlines" Canada}    TPZ {"Transportes La Paz" Mexico}
    TQE {"Taxair Mexiqienses" Mexico}
    TQF {"United Kingdom Royal VIP Flights" "United Kingdom"}
    TQM {"JM Family Aviation" "United States"}    TQN {"Taquan Air Services" "United States"}
    TQR {"Transportación Aérea De Querétaro" Mexico}    TQS {Aeroturquesa Mexico}
    TRA {"Transavia Holland" Netherlands}       TRB {"Ukraine Transavia" Ukraine}
    TRC {"Trans Air Charter" "United States"}    TRD {"Trans Island Air" Barbados}
    TRF {"Taxi Air Fret" France}                TRG {"TRAGSA (Medios Aéreos)" Spain}
    TRH {"Airmark Aviation" "United States"}
    TRI {"Executive Flight OperationsOntario Government" Canada}
    TRJ {"Trans Euro Air" "United Kingdom"}     TRK {"Turkish Airlines  General Aviation" Turkey}
    TRL {"Starlite Aviation" "South Africa"}    TRM {"Transport Aerien de Mauritanie" Mauritania}
    TRN {"Servicios Aéreos Corporativos" Mauritania}
    TRO {"Tropic Airlines-Air Molokai" "United States"}
    TRP {"Maryland State Police" "United States"}    TRQ {"Turdus Airways" Netherlands}
    TRR {"Tramson Limited" Sudan}               TRS {"AirTran Airways" "United States"}
    TRT {"Trans Arabian Air Transport" Sudan}    TRU {"Triangle Airline (Uganda)" Uganda}
    TRW {"Transwestern Airlines of Utah" "United States"}
    TRY {"Tristar Airlines" "United States"}    TRZ {"TransMeridian Airlines" "United States"}
    TSA {"Transair France" France}              TSC {"Air Transat" Canada}
    TSD {"TAF-Linhas Aéreas" Brazil}            TSE {"Transmile Air Services" Malaysia}
    TSG {Trans-Air-Congo "Republic of the Congo"}    TSH {"Regional 1" Canada}
    TSI {Transport'air France}                  TSJ {"Trast Aero" Kyrgyzstan}
    TSK {"Trast Aero" Kyrgyzstan}               TSL {"Thai Aviation Services" Thailand}
    TSM {"Trans Sayegh Airport Services" Lebanon}    TSN {"Trans-Air Services" Nigeria}
    TSO {"Transaero Airlines" Russia}           TSP {"Transportes Aéreos Inter" Guatemala}
    TSQ {airtransse Japan}                      TSR {"TJS San Marino S.r.L." "San Marino"}
    TSS {"Tri-State Aero" "United States"}      TST {TRAST Kazakhstan}
    TSU {"Gulf & Caribbean Cargo /Contract Air Cargo" "United States"}
    TSV {"Tropair Airservices" "United Kingdom"}    TSW {Transwings Switzerland}
    TSX {"Thai Star Airlines" Thailand}         TSY {"Tristar Air" Egypt}
    TTA {"TTA - Sociedade de Transporte e Trabalho Aéreo" Mozambique}
    TTB {"Aerolíneas Turísticas del Caribe" Mexico}    TTC {Transteco Angola}
    TTE {Avcenter "United States"}              TTF {"224th Flight Unit" Russia}
    TTH {"Tarhan Tower Airlines" Turkey}        TTL {"Total Linhas Aéreas" Brazil}
    TTM {"Societe Tout Transport Mauritanien" Mauritania}
    TTN {"Absolute Flight Services" "South Africa"}    TTP {"Triple O Aviation" Nigeria}
    TTR {"Transportaciones Y Servicios Aéreos" Mexico}
    TTS {"Transporte Aéreo Técnico Ejecutivo" Mexico}    TTW {"Tigerair Taiwan" Taiwan}
    TTX {"Alliance Air Charters" "United States"}    TUA {Turkmenhovayollary Turkmenistan}
    TUC {"Turismo Aéreo de Chile" Chile}        TUD {"Flight Alaska" "United States"}
    TUI {Tuninter Tunisia}                      TUK {"Ocean Wings Commuter Service" "United States"}
    TUL {"Tulpar Air" Russia}                   TUM {UTAir "Russian Federation"}
    TUN {"Air Tungaru" Kiribati}                TUO {"Taxi Aéreo Turístico" Mexico}
    TUP {Aviastar-Tu Russia}                    TUR {ATUR Ecuador}
    TUS {"ABSA Cargo" Brazil}                   TUX {"Tulpar Air Service" Kazakhstan}
    TUY {"Línea Turística Aereotuy" Venezuela}    TUZ {"Tuna Aero" Sweden}
    TVA {"Trans America Airlines" "United States"}    TVF {"Transavia France" France}
    TVH {"Trabajos Aéreos Vascongados" Spain}    TVI {Tiramavia Moldova}
    TVJ {"Thai Vietjet Air" Thailand}           TVL {"Travel Service" Hungary}
    TVO {Transavio Italy}                       TVR {"Tavrey Airlines" Ukraine}
    TVS {Smartwings "Czech Republic"}           TWB {"T'way Air" "Republic of Korea"}
    TWE {"Transwede Airways" Sweden}            TWF {"247 Jet Ltd" "United Kingdom"}
    TWG {"air-taxi Europe" Germany}             TWJ {"Twinjet Aircraft Sales" "United Kingdom"}
    TWL {"Tradewinds Aviation" Canada}          TWM {Transairways Mozambique}
    TWN {"Avialeasing Aviation Company" Uzbekistan}    TWO {"Twente Airlines" Netherlands}
    TWW {"Trans Air Welwitchia" Angola}         TWY {"Sunset Aviation, LLC" "United States"}
    TXA {"Texair Charter" "United States"}      TXB {"Bell Helicopter Textron" Canada}
    TXC {"TransAVIAexport Airlines" Belarus}    TXD {"Aerotaxis del Noroeste" Mexico}
    TXE {"Transilvania Express" Romania}        TXF {"Aerotaxis Alfe" Mexico}
    TXI {Aereotaxis Mexico}                     TXL {"Taxi Aéreo Cozatl" Mexico}
    TXM {"Taxi Aéreo de México" Mexico}         TXN {"Texas National Airlines" "United States"}
    TXO {"Taxis Aéreos de Sinaloa" Mexico}      TXR {Taxirey Mexico}
    TXS {"Texas Airlines" "United States"}      TXT {"Texas Air Charters" "United States"}
    TXU {"ATESA Aerotaxis Ecuatorianos" Ecuador}    TXV {"Puerto Vallarta Taxi Aéreo" Mexico}
    TXX {"Austin Express" "United States"}      TXZ {"Tex Star Air Freight" "United States"}
    TYF {Tayflite "United Kingdom"}             TYG {Trygg-Flyg Sweden}
    TYJ {"TJS Malta Ltd." Malta}                TYR {"Tyrolean Airways" Austria}
    TYW {"Tyrol Air Ambulance" Austria}         TZA {"Aero Tomza" Mexico}
    TZE {"Transporte Aéreo Ernesto Saenz" Mexico}
    TZK {"Tajikistan International Airlines" Tajikistan}    TZT {"ZIPAIR Tokyo" Japan}
    TZU {"Servicios Aéreos Tamazula" Mexico}    UAA {"University Air Squadron" "United Kingdom"}
    UAB {"United Arabian Airlines" Sudan}       UAC {"United Air Charters" Zimbabwe}
    UAD {"University Air Squadron" "United Kingdom"}
    UAE {"Emirates Airlines" "United Arab Emirates"}
    UAF {"United Arab Emirates Air Force" "United Arab Emirates"}    UAG {"Afra Airlines" Ghana}
    UAH {"Air Experience Flight,Cranwell" "United Kingdom"}
    UAI {"Union Africaine des Transports" "Ivory Coast"}
    UAJ {"University Air Squadron" "United Kingdom"}    UAK {"Kiev Aviation Plant" Ukraine}
    UAL {"United Airlines" "United States"}     UAR {"Aerostar Airlines" Ukraine}
    UAS {"University Air Squadron" "United Kingdom"}    UBA {"Myanma Airways" Myanmar}
    UBD {"United Airways" Bangladesh}           UBG {"US-Bangla Airlines" Bangladesh}
    UCA {CommutAir "United States"}             UCC {"Uganda Air Cargo" Uganda}
    UCG {"Uniworld Air Cargo" Panama}           UCH {"US Airports Air Charter" "United States"}
    UCK {"Air Division of the Eastern Kazakhstan Region" Kazakhstan}    UCO {Ucoaviacion Spain}
    UCR {"Aero-Charter Ukraine" Ukraine}        UCS {"United Carriers Systems" "United States"}
    UDA {"Psudiklat Perhubungan Udara/PLP" Indonesia}    UDC {DonbassAero Ukraine}
    UDN {Dniproavia Ukraine}                    UEA {"United Eagle Airlines" China}
    UED {"Air LA" "United States"}              UEJ {Jetcorp "United States"}
    UES {"Ues-Avia Aircompany" Ukraine}         UEU {"United European Airlines" Romania}
    UFA {"State Flight Academy of Ukraine" Ukraine}    UFS {"United Feeder Service" "United States"}
    UGA {"Uganda Airlines (1976–2001)" Uganda}    UGC {"Urgemer Canarias" Spain}
    UGD {"Uganda Airlines" Uganda}              UGL {"Inter-Island Air" "United States"}
    UGN {"Yuzhnaya Aircompany" Kazakhstan}      UGP {"Shar Ink" Russia}
    UHL {"Ukrainian Helicopters" Ukraine}
    UHS {"Ulyanovsk Higher Civil Aviation School" Russia}    UIA {"UNI Air" Taiwan}
    UIT {"University of Tromsø School of Aviation" Norway}
    UJR {"Universal Jet Rental de Mexico" Mexico}    UJT {"Universal Jet Aviation" "United States"}
    UJX {"Atlas Ukraine Airlines" Ukraine}      UKA {"Buzzaway Limited" "United Kingdom"}
    UKI {"UK International Airlines" "United Kingdom"}    UKL {"Ukraine Air Alliance" Ukraine}
    UKM {"UM Airlines" Ukraine}                 UKN {"Ukraine Air Enterprise" Ukraine}
    UKP {"United Kingdom Home Office" "United Kingdom"}    UKR {"Air Ukraine" Ukraine}
    UKS {"Ukrainian Cargo Airways" Ukraine}     UKU {"Second Sverdlovsk Air Enterprise" Russia}
    UKW {"Lviv Airlines" Ukraine}               ULH {"Ultimate HELI" "South Africa"}
    ULR {"Ultimate Air" "South Africa"}         ULS {"Carroll Air Service" "United States"}
    ULT {Ultrair "United States"}               UMA {"Líneas Aéreas del Humaya" Mexico}
    UMB {"Air Umbria" Italy}                    UMK {Yuzhmashavia Ukraine}
    UNC {Uni-Fly Denmark}                       UND {"Atuneros Unidos de California" Mexico}
    UNF {"Union Flights" "United States"}       UNJ {"Universal Jet" Spain}
    UNR {"Rivne Universal Avia" Ukraine}        UNS {"Unsped Paket Servisi" Turkey}
    UNT {"Servicios Aéreos Universitarios" Mexico}    UNU {"Unifly Servizi Aerei" Italy}
    UNY {"Lund University School of Aviation" Sweden}    UPA {"Air Foyle" "United Kingdom"}
    UPL {"Ukrainian Pilot School" Ukraine}      UPS {"United Parcel Service" "United States"}
    URA {"Aircompany Rosavia" Ukraine}          URF {"Surf Air" "United States"}
    URG {"Air Urga" Ukraine}                    URJ {"Star Air" Pakistan}
    URN {"Turan Air" Azerbaijan}                URP {"ARP 410 Airlines" Ukraine}
    URR {"Aurora Airlines" Slovenia}            URV {Uraiavia Russia}
    URY {"Century Aviation" Mexico}             USB {Tusheti Georgia}
    USC {"AirNet Express" "United States"}      USF {"USAfrica Airways" "United States"}
    USH {"US Helicopter" "United States"}       USJ {"US Jet" "United States"}
    USK {Skif-Air Ukraine}                      USN {"Smarkand Aero Servise" Uzbekistan}
    UST {"Austro Aéreo" Ecuador}                USW {"Special Aviation Works" Uzbekistan}
    USX {"US Express" "United States"}          UTA {"UTair Aviation" Russia}
    UTG {UTAGE "Equatorial Guinea"}             UTM {"TAPC Aviatrans Aircompany" Uzbekistan}
    UTN {Trans-Ulgii Mongolia}                  UTR {"Utair South Africa" "South Africa"}
    UTS {"Ukrainian State Air Traffic Service Enterprise" Ukraine}
    UTT {"Transarabian Transportation Services" Uganda}    UTU {Urartu-Air Armenia}
    UTX {Avfinity "United States"}              UTY {"Alliance Airlines" Australia}
    UVA {"Universal Airways" "United States"}    UVG {"Universal Airlines" Guyana}
    UVM {Uvavemex Mexico}                       UVN {"United Aviation" Kuwait}
    UVS {"Air Universal" "Sierra Leone"}        UVT {"Auvia Air" Indonesia}
    UYA {"Yute Air Alaska" "United States"}     UYC {"Cameroon Airlines" Cameroon}
    UZA {"Constanta Airline" Ukraine}           UZB {"Uzbekistan Airways" Uzbekistan}
    UZS {"Samarkand Airways" Uzbekistan}        VAA {"Van Air Europe" "Czech Republic"}
    VAB {"Airtrans Ltd" Russia}                 VAC {Vacationair Canada}
    VAD {"Aero Taxi Los Valles" Spain}          VAE {"Air Evans" Spain}
    VAG {Vega Kazakhstan}                       VAI {"Volant Aviation International" Pakistan}
    VAL {"Voyageur Airways" Canada}             VAM {Ameravia Uruguay}
    VAN {"Caravan Air" Mauritania}              VAP {"Phuket Air" Thailand}
    VAR {"Veca Airlines" "El Salvador"}         VAS {"ATRAN Cargo Airlines" "Russian Federation"}
    VAT {Visionair Ireland}                     VAZ {"Airlines 400" Russia}
    VBA {"V Bird Airlines Netherlands" Netherlands}    VBC {"AVB-2004 Ltd" Bulgaria}
    VBD {V-Berd-Avia Armenia}
    VBG {"North-West Air Transport Company - Vyborg" Russia}    VBW {"Air Burkina" "Burkina Faso"}
    VCA {"VICA - Viacao Charter Aéreos" Brazil}    VCB {"Real Aero Club de Vizcaya" Spain}
    VCH {"Consorcio Helitec" Venezuela}         VCI {CI-Tours "Ivory Coast"}
    VCM {"Volare Air Charter Company" "United States"}    VCN {"Execujet Charter" Switzerland}
    VCR {"Cruiser Linhas Aéreas" Brazil}        VCT {"Viscount Air Service" "United States"}
    VCV {Conviasa Venezuela}                    VCX {"Ocean Airlines" Italy}
    VDA {"Volga-Dnepr Airlines" Russia}         VDO {"Servicios Aéreos Avandaro" Mexico}
    VDR {Voldirect France}                      VEA {"Vega Airlines" Bulgaria}
    VEC {"Venescar Internacional" Venezuela}    VEE {"Victor Echo" Spain}
    VEG {Aerovega Mexico}                       VEI {"Virgin Express Ireland" Ireland}
    VEJ {"Aero Ejecutivos" Venezuela}           VEN {Transaven Venezuela}
    VER {Almaver Mexico}                        VES {"Vieques Air Link" "United States"}
    VEX {"Virgin Express" Belgium}              VFC {"Vietnam Air Services Company (VASCO)" Vietnam}
    VFT {"VZ Flights" Mexico}                   VGA {"Air Vegas" "United States"}
    VGC {"Vanguardia en Aviación en Colima" Mexico}    VGD {"Vanguard Airlines" "United States"}
    VGF {"Aerovista Gulf Express" "United Arab Emirates"}    VGN {"Virgin Nigeria Airways" Nigeria}
    VGO {"Sabaidee Airways" Thailand}           VGS {"Stichting Vliegschool 16Hoven" Netherlands}
    VGV {"Vologda State Air Enterprise" Russia}    VHA {"VH-Air Industrie" Angola}
    VHM {"VHM Schul-und-Charterflug" Germany}
    VHT {"Corporate Flight International" "United States"}    VIB {"Vibroair Flugservice" Germany}
    VIC {"VIP Servicios Aéreos Ejecutivos" Mexico}    VID {Aviaprad Russia}
    VIE {"VIP Empresarial" Mexico}              VIF {"VIF Luftahrt" Austria}
    VIG {"Vega Aviation" Sudan}                 VIH {Vichi Moldova}
    VIK {"Viking Airlines" Sweden}              VIL {"V I Airlink" "British Virgin Islands"}
    VIM {"Air VIA" Bulgaria}                    VIN {"Vinair Aeroserviços" Portugal}
    VIP {"Tag Aviation UK" "United Kingdom"}    VIR {"Virgin Atlantic Airways" "United Kingdom"}
    VIV {"VIVA Aerobus" Mexico}                 VIZ {"Aerovis Airlines" Ukraine}
    VJA {"ValuJet Airlines" "United States"}    VJC {"Vietjet Air" Vietnam}
    VJE {"AvJet Routing" "United Arab Emirates"}    VJM {"Viajes Ejecutivos Mexicanos" Mexico}
    VJT {Vistajet Malta}                        VKG {"MyTravel Airways" Denmark}
    VLA {"Valan International Cargo Charter" "South Africa"}    VLB {"Air Volta" Bulgaria}
    VLE {"C.A.I. Second" Italy}                 VLF {"DFS UK Limited" "United Kingdom"}
    VLG {"Vueling Airlines" Spain}              VLI {"Avolar Aerolíneas" Mexico}
    VLK {"Vladivostok Air" Russia}
    VLL {"RAF Valley SAR Training Unit" "United Kingdom"}    VLM {"VLM Airlines" Belgium}
    VLN {"Valan Limited" Moldova}               VLO {"Varig Logística" Brazil}
    VLR {"Volare 22 X" Mexico}                  VLS {"Aero Virel" Mexico}
    VLT {"Vertical-T Air Company" Russia}       VLU {Valuair Singapore}
    VLV {"Avialift Vladivostok" Russia}         VLX {"Biz Jet Charter" "United States"}
    VMA {"Vero Monmouth Airlines" "United States"}    VME {"Aviación Comercial de América" Mexico}
    VMM {"Grupo Vuelos Mediterraneo" Spain}     VMP {"Execujet Scandinavia" Denmark}
    VMR {"Aero Vilamoura" Portugal}             VMX {"Aeroventas de Mexico" Mexico}
    VNA {"Empresa Aviación Interamericana" Uruguay}    VNE {"Empresa Venezolana" Venezuela}
    VNG {"Aero Servicios Vanguardia" Mexico}    VNK {"Vipport Joint Stock Company" Russia}
    VNL {"Vanilla Air" Japan}                   VNR {"Wan Air" "French Polynesia"}
    VNT {"Avient Air Zambia" Zambia}            VNX {"Fly Advance" "United States"}
    VNZ {Tbilaviamsheni Georgia}                VOA {"Viaggio Air" Bulgaria}
    VOE {Volotea Spain}                         VOG {"Voyager Airlines" Bangladesh}
    VOI {Volaris Mexico}                        VOL {"Blue Chip Jet" Sweden}
    VOR {"Flight Calibration Services Ltd." "United Kingdom"}    VOS {"Rovos Air" "South Africa"}
    VOZ {"Virgin Australia Airlines" Australia}    VPA {"Vipair Airlines" Kazakhstan}
    VPB {"Veteran Air" Ukraine}                 VPV {VIP-Avia Georgia}
    VRA {Vertair "United Kingdom"}              VRB {"Silverback Cargo Freighters" Rwanda}
    VRC {"Taxi de Veracruz" Mexico}             VRD {"Virgin America" "United States"}
    VRE {"Volare Airlines" Ukraine}             VRI {"Aerotaxi Villa Rica" Mexico}
    VRL {"Voar Lda" Angola}                     VRN {"VRG Linhas Aéreas" Brazil}
    VRO {Aerovitro Mexico}                      VRS {Sirvair Mexico}
    VRT {"Averitt Air Charter" "United States"}    VSA {"Avstar Aviation" "South Africa"}
    VSB {"Vickers Limited" "United Kingdom"}    VSC {"Aeronautic de Los Pirineos" Spain}
    VSG {"AirClass Airways" Spain}              VSN {"Vision Airways Corporation" Canada}
    VSO {"Voronezh Aircraft Manufacturing Society" Russia}    VSP {VASP Brazil}
    VSR {"Aviostart AS" Bulgaria}
    VSS {"Virign Islands Seaplane Shuttle" "United States"}    VSV {"Scat Air" Kazakhstan}
    VTA {"Air Tahiti" "French Polynesia"}       VTC {"Vuelos Especializados Tollocan" Mexico}
    VTE {"Corporate Flight Management" "United States"}
    VTG {"Aviação Transportes Aéreos e Cargas" Angola}
    VTH {"Vuelos Corporativos de Tehuacan" Mexico}    VTI {Vistara India}
    VTK {"Vostok Airlines" Russia}              VTL {"Victor Tagle Larrain" Chile}
    VTM {"Aeronaves TSM" Mexico}
    VTS {"Everts Air Alaska/Everts Air Cargo" "United States"}
    VTT {"Avia Trans Air Transport" Sudan}      VTV {Vointeh Bulgaria}
    VTX {Verataxis Mexico}                      VTY {"Air Midwest (Nigeria)" Nigeria}
    VUE {"AD Aviation" "United Kingdom"}        VUL {Elios Italy}
    VUN {"Air Ivoire" "Ivory Coast"}            VUO {Aerovuelox Mexico}
    VUR {"Vuelos Internos Privados VIP" Ecuador}    VUS {"Vuela Bus" Mexico}
    VVA {"Aviast Air" Russia}                   VVC {"Viva Air Colombia" Colombia}
    VVF {"Dunyaya Bakis Hava Tasimaciligi" Turkey}    VVG {Aerovilla Colombia}
    VVM {"Viva Macau" Macao}                    VVV {"Valair Aviação Lda" Portugal}
    VXG {Avirex Gabon}                          VXN {"Sunset Aviation" "United States"}
    VXP {"Mali Air Express" Mali}               VXX {"Aviaexpress Aircompany" Ukraine}
    VYT {"RAF Valley Flying Training Unit" "United Kingdom"}    VZL {Vzlyet Russia}
    VZR {Aviazur France}                        WAA {"Westair Aviation" Namibia}
    WAB {"Aero Industries Inc" "United States"}    WAC {"West African Cargo Airlines" Mauritania}
    WAD {"RAF Waddington" "United Kingdom"}     WAE {"Western Air Express" "United States"}
    WAF {"Flamenco Airways" "United States"}    WAG {"Wisconsin Air National Guard" "United States"}
    WAJ {"AirAsia Japan" Japan}                 WAL {"Western Arctic Air" Canada}
    WAM {"Air Taxi & Cargo" Sudan}              WAN {"Wataniya Airways" Kuwait}
    WAP {"Arrow Panama" Panama}                 WAR {"NZ Warbirds Association" "New Zealand"}
    WAS {"Walsten Air Services" Canada}         WAT {"Wings Air Transport" Sudan}
    WAV {"Warbelow's Air Ventures" "United States"}    WAW {"Wings Airways" "United States"}
    WAY {Airways France}                        WBA {"Finncomm Airlines" Finland}
    WBR {Multi-Aero "United States"}            WCA {"West Coast Airways" "Sierra Leone"}
    WCB {"West Africa Airlines" Ghana}          WCC {"West Coast Charters" "United States"}
    WCG {"West Coast Airlines" Ghana}           WCO {"Columbia Helicopters" "United States"}
    WCP {"Primaris Airlines" "United States"}    WCR {"West Caribbean Costa Rica" "Costa Rica"}
    WCW {"West Caribbean Airways" Colombia}     WCY {"Viking Express" "United States"}
    WDA {"Wimbi Dira Airways" "Democratic Republic of Congo"}
    WDG {"Ministry of Agriculture, Fisheries and Food" "United Kingdom"}
    WDK {"Oxford Air Services" "United Kingdom"}    WDL {"WDL Aviation" Germany}
    WDR {"Air Net Private Charter" "United States"}    WDS {"Four Winds Aviation" "United States"}
    WDY {"Phoenix Airline Services" "United States"}    WEA {"White Eagle Aviation" Poland}
    WEB {"WebJet Linhas Aéreas" Brazil}         WEC {"Universal Airlines" "United States"}
    WEL {"Veles, Ukrainian Aviation Company" Ukraine}    WEN {"WestJet Encore" Canada}
    WES {"Western Express Air Lines" Canada}    WEV {"Victoria International Airways" Uganda}
    WEW {"West Wind Aviation" Canada}           WEX {"Wings Express" "United States"}
    WFC {"Swift Copters" Switzerland}           WFD {"BAE Systems" "United Kingdom"}
    WFO {"Wilbur's Flight Operations" "United States"}
    WFT {"Aircharters Worldwide" "United States"}    WGA {"Vega Air Company" Ukraine}
    WGN {"Western Global Airlines" "United States"}
    WGP {"Williams Grand Prix Engineering" "United Kingdom"}    WGS {"Airwings oy" Finland}
    WGT {"Lion Air Services" "United Kingdom"}    WHE {"Westland Helicopters" "United Kingdom"}
    WHH {"Richy Skylark" "Sri Lanka"}
    WHR {"Hummingbird Helicopter Service" "United States"}
    WHS {"Wiking Helikopter Service" Germany}    WHT {White Portugal}
    WHY {"Air Sorel" Canada}
    WIA {"Windward Islands Airways International" Netherlands}    WIF {Widerøe Norway}
    WIG {"Wiggins Airways" "United States"}     WIL {"Aero Air" "United States"}
    WIN {Winlink "Saint Lucia"}                 WIS {Paccair "United States"}
    WIT {"RAF Wittering" "United Kingdom"}      WIW {"V-avia Airline" Ukraine}
    WIZ {"Micromatter Technology Solutions" "United Kingdom"}    WJA {WestJet Canada}
    WKH {"Kharkov Aircraft Manufacturing Company" Ukraine}    WLA {"Airwaves Airlink" Zambia}
    WLB {"Wings of Lebanon Aviation" Lebanon}    WLC {"Welcome Air" Austria}
    WLG {"Air Volga" Russia}                    WLK {"Skyrover CC" "South Africa"}
    WLR {"Air Walser" Italy}                    WLS {"Air Wales Virtual" "United Kingdom"}
    WLT {"Aviation Partners" "United States"}    WLV {"Aviation North" "United States"}
    WLX {"West Air Luxembourg" Luxembourg}      WML {"Chantilly Air" "United States"}
    WNA {Winair "United States"}                WNR {"Wondair on Demand Aviation" Spain}
    WOA {"World Airways" "United States"}       WOK {"Kovar Air" "Czech Republic"}
    WOL {"Wings Aviation" Guyana}               WON {"Wings Air" Indonesia}
    WOW {"WOW air" Iceland}                     WPA {"Western Pacific Airservice" "Solomon Islands"}
    WPK {"Air-Lift Associates" "United States"}
    WPR {"Auckland Regional Rescue Helicopter Trust" "New Zealand"}
    WPT {"Wapiti Aviation" Canada}              WRA {"White River Air Services" Canada}
    WRF {"Wright Air Service" "United States"}    WRR {"WRA Inc" "United States"}
    WRT {"Wright Airlines" "United States"}     WSA {"Westgates Airlines" "United States"}
    WSC {"Westair Cargo Airlines" "Côte d'Ivoire"}    WSF {"West African Airlines" Benin}
    WSG {"Wasaya Airways" Canada}               WSI {"Wind Spirit Air" "United States"}
    WSL {"Westflight Aviation" "United Kingdom"}    WSM {"Wisman Aviation" "United States"}
    WSN {"Advanced Air" "United States"}        WST {"Western Air" Bahamas}
    WSW {Swoop Canada}                          WTA {"Africa West" Togo}
    WTC {"Weasua Air Transport Company" Liberia}    WTF {"West African Air Transport" Senegal}
    WTN {"BAE Systems" "United Kingdom"}        WTP {"Westpoint Air" Canada}
    WTV {"Western Aviators" "United States"}    WUK {"Wizz Air UK" "United Kingdom"}
    WVA {"Hand D Aviation" "United States"}     WVL {"Wizz Air Bulgaria" Bulgaria}
    WWD {"Westward Airways" "United States"}    WWG {"Aereo WWG" Mexico}
    WWI {"Worldwide Jet Charter" "United States"}    WWL {"Whyalla Airlines" Australia}
    WWM {"World Wing Aviation" Kyrgyzstan}      WWS {"Worldwide Aviation Services" Pakistan}
    WWW {Janet "United States"}                 WYC {"Wycombe Air Centre" "United Kingdom"}
    WYG {"Wyoming Airlines" "United States"}
    WYT {"2 Sqn No 1 Elementary Flying Training School" "United Kingdom"}    WZP {Zip Canada}
    WZZ {"Wizz Air" Hungary}                    XAA {"Aeronautical Radio Inc" "United States"}
    XAB {"Xabre Aerolineas" Mexico}             XAC {"Air Charter World" "United States"}
    XAD {"Certified Air Dispatch" "United States"}    XAE {Xair "Czech Republic"}
    XAF {"Executive Air Fleet" "United States"}
    XAH {"Executive Aircraft Services" "United Kingdom"}    XAK {Airkenya Kenya}
    XAM {"AMR Services Corporation" "United States"}
    XAO {"Airline Operations Services" "United States"}
    XAP {"Direct Air trading asMidway Connection" "United States"}    XAR {XpressAir Indonesia}
    XAS {"PHH Aviation System" "United States"}
    XAT {"AT and T Aviation Division" "United States"}    XAU {"Aerolink Uganda" Uganda}
    XAV {"Aviaprom Enterprises" Russia}         XAX {"AirAsia X" Malaysia}
    XBG {"City of Bangor" "United States"}      XBO {"Baseops International" "United States"}
    XCA {"Colt Transportes Aereos" Brazil}      XCC {"Ecoturistica de Xcalak" Mexico}
    XCL {"Contel ASC" "United States"}
    XCO {"Compuflight Operations Service" "United States"}
    XCS {"Compuserve Incorporated" "United States"}    XCT {"Aero Costa Taxi Aéreo" Mexico}
    XCX {Citibank "United States"}              XDA {"Bureau Veritas" France}
    XDD {"Lockheed DUATS" "United States"}      XDS {"Dispatch Services" "United States"}
    XDT {"Date Transformation Corp" "United States"}    XDY {"Dynair Services" "United States"}
    XEC {"Air Executive Charter" Germany}       XEL {"Excel Charter" "United Kingdom"}
    XER {"Xerox Corporation" "United States"}    XFA {FlyAsianXpress Malaysia}
    XFS {"American Flight Service Systems" "United States"}
    XFX {"Airways Corporation of New Zealand" "New Zealand"}
    XGA {"General Aviation Terminal" Canada}    XGG {"IMP Group Aviation Services" Canada}
    XGS {"Global System" "United States"}       XGW {"Global Weather Dynamics" "United States"}
    XJA {"Assistance Aeroportuaire de L'Aeroport de Paris" France}
    XJC {"XJC Limited" "United Kingdom"}        XJE {X-Jet Austria}
    XJT {"Xjet Limited" "United Kingdom"}       XKA {"Kavouras Inc" "United States"}
    XKX {ASECNA France}                         XLA {"Excel Airways" "United Kingdom"}
    XLB {"Aircraft Performance Group" "United States"}    XLD {"Jeppesen Data Plan" "United States"}
    XLG {"Lockheed Air Terminal" "United States"}    XLK {"Safarilink Aviation" Kenya}
    XLL {"Air Excel" Tanzania}
    XLT {"Empressa Brasileira de Infra-Estrutura Aeroportuaria-Infraero" Brazil}
    XMA {"Martin Aviation Services" "United States"}    XME {"Australian air Express" Australia}
    XMG {"AMS Group" Russia}                    XMR {"Irish Aviation Authority" Ireland}
    XMS {"British Airways Santa" "United Kingdom"}    XMX {SENEAM Mexico}
    XNA {"Express Net Airlines" "United States"}
    XNC {"Canadian National Telecommunications" Canada}    XNR {"Taxi Aero Del Norte" Mexico}
    XNS {"Navtech System Support" Canada}       XNT {"Notams International" "United States"}
    XNV {"Navinc Airlines Services" "United States"}    XOJ {XOJet "United States"}
    XPA {"Pan Am Weather Systems" "United States"}    XPE {"Amira Air" Austria}
    XPG {"Southport Air Service" "United States"}    XPL {"Express Line Aircompany" "United States"}
    XPN {"Aero Express" Niger}                  XPR {Air-Rep "United States"}
    XPS {"XP International" Netherlands}        XPX {"Phoenix Flight Operations" "United States"}
    XRA {"Intensive Air" "South Africa"}        XRC {"Express Air Cargo" Tunisia}
    XRO {ExxAero Netherlands}                   XSA {"Spectrum Air Service" "United States"}
    XSL {"Embry-Riddle Aeronautical University" "United States"}
    XSN {"Stephenville Aviation Services" Canada}
    XSR {"Executive Flight Services" "United States"}
    XSS {"Aero Express Intercontinental" Mexico}    XTA {"Servicios Aéreos Textra" Mexico}
    XTJ {"Advance Aviation Services" "United States"}    XTO {"Express Tours" Canada}
    XTR {"Sector Airlines" Canada}              XWS {"WSI Corporation" "United States"}
    XWW {"World Weatherwatch" Canada}           XXS {"Skyplan Services" Canada}
    XXV {AASANA Bolivia}                        XXX {"ASL (Air Service Liege)" Belgium}
    XYZ {"Island Air Express" "United States"}    YAK {Yakolev Russia}
    YBE {"Stewart Aviation Services" "United States"}
    YFS {"Young Flying Service" "United States"}    YOG {"Central Aviation" "United States"}
    YRG {"Yak Air" Georgia}                     YWZ {"West Coast Air" Canada}
    YYY {ICAO }                                 YZR {"Yangtze River Express" China}
    ZAI {"Zaire Aero Service" "Democratic Republic of Congo"}    ZAK {"Zambia Skyways" Zambia}
    ZAN {"Zantop International Airlines" "United States"}
    ZAR {"Zairean Airlines" "Democratic Republic of Congo"}    ZAS {"ZAS Airlines of Egypt" Egypt}
    ZAV {Zetavia Ukraine}                       ZAW {"Zoom Airways" Bangladesh}
    ZBA {"Boskovic Air Charters Limited" Kenya}    ZMA {"Zambezi Airlines" Zambia}
    ZZM {"Agence Nationale des Aerodromes et de la Meteorologie" "Ivory Coast"}
    BXR {"Redding Aero Enterprises" "United States"}
    EDG {"Western Air Charter" "United States"}
    GAJ {"Gamma Charters" "United States"}
    GST {"Global Supertanker" "United States"}
    HHG {"Hanergy Jet" China}
    JSX {"Delux Public Charter" "United States"}
    MMY {"Iasco Flight Training" "United States"}
    REH {"Reach Air Medical Services" "United States"}
    APK {"Air Peace Ltd" Nigeria}
    LTG {"Absa Aerolinhas Brasileiras" Brazil}
}

image create photo ::img::logo -data {
    iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAAGVn0euAAAMgElEQVR4nO1dW4wkVRn+zqk63T2zswwuoGAgasxG45v6amKMQQ0J
    koiaYFhma2YWhMjuVM8yIGKM0ZBdd2Z6BkJAYKcXCIjKgw9qNMbw5Ivx8qBP4IsiCUZhszu7M1238/tQ1Zfqrvute3bnSyZTXXVu
    //nP5T///59zGBERUkAFAKFriSPw7oPVaqeLIHQtUSR18EdUJHZSg+oMRRiBDYiHNF/KPDx0P/AgAiMIXQstXmSRBiO9CeATuuaP
    8I/m9308sVrtER4xIqJMjEsKVmpbMlvtqtuSE5FTt9i+CI2hXIJo81WrXZO9Z7Z8NDAnXwQ6/UIvZVo7FxhhpC11izFcCd338ZyW
    to8WX4RhIi+iA7F8zPcuMofr9PtHXxIRzTxwN0miwv/ECY16jTVNl0gKX1sdhNVqJ267cQgcMoSuQamzXiZh1HECTFXAOPUUaqoI
    DBc6JjkG9dpSHDU27NBCRI/DAag1F0Ak4wN6iGx25vpW77kDE0LXYK6fhdVqw1aSZRBJAWPMfXCAgyfvA9DnB8UMK7EZCMdN3IbE
    1MmFke/1E4swNp93n5c0SBacTmgGF59wq2dKH00cAC57iQtdA0ISBwZmhbI6GoiIxNJRKgPq0lFKPa+lhQpyAEcBpe4R8ZAAVMcm
    NFaKr38AsFZDBrsiMZJBUaNoaAbkZVIriLiRVGpef7jcOovN275SfAZAv9M9cOvtsFajq4yEDavVRmf9bOB3ZpsWNVaOBX7Mwg+f
    yBrXipIOH/9DX9IeRmT3spmTO/PIDGj9xcwJd5G4Lb7t/U/Ll8QZfFjXYGTIJFEGHdgAgBldA7xskmYSzgO11ns8qPebsdC/ie1W
    G42ATERzDiB/mUMpsM78ODTvg7oGWAFx1l8YLWdoKt1ShbUakSAMMiztggpgrYfzI1dPfrcbrhkeLlwuikm8sTwHR8ZXQOYqSpJ4
    rgySgkkpiYFFSmeZQADYgGT3qR8+gr+9+5+CcykPv1l5DJ+/6aMuCxzLxl8eOzXuMqXCZ2/6EOBU0IbKguJ14FgCFNsGlMmlM3ao
    Ng5Mg07154UyVkF5EFu1qmGO6BbdJbJdasGSIvGSSegaGDGYG+7CllZfAuBKFzNj5EqqNR8xT/VyZgtQ3YG9DpcrNoApjxDGGDgx
    GMol0OmfAkwCPGU/ciREgGohFwFdiIfmAbgr+O78pCJKyks/CJA0oUrAjomaa9VdS6hZjkL95BykE1LKBHTnIsBMXHiJ6eOLsJQg
    ZUi+IToXAUnFG3FiAUio2EuL7OQr4SUSuoYvPPpg77e12U6lnUyDzARYq88Hvu/OGa/vXnKfjf58QasuIUUKpoXKCLw5P/JOPHJs
    ZPY2W+2R/kNEIIcgiIOJ5IrDTH1gO6DzCl2LbOZdIrqjFkOyxXWc6JKJgMbQ75nmkcRJxRn1LsHBNcuLUBJaDFITQLY/ZQeAkUKJ
    +7HLhu+3CbcdqwCUpgZO6Qas1ATYTw5oH2ygEWDLjsLfn33F9/tAmJEwIVLHEboGBxKQMtAQHxu/OedLKy+y9YEQE0siEC90TTG5
    S62E2LMEMHLVgxwAFKHinbEWJx2ICCYTgJLBD2TS0OvE08fnQ8TdyYMqGXY3PZN213RJJXhPlPFnkuyZW4moP4W++sZfceTpJ8ZV
    qanw3oAo0huF/vDnP42lMFnAQ573JK58An59/NEqypEZsQTc+pHDsFpt7BRsyy8KiZuQQPEOCUUgloBhydFqtUM9hcaBRByY+s6i
    77cTYZisGokIsHccd+04AKvVRmMCNOzJ+8BJzbUMDmD7yfFzItU8EGRyztMnVJKQULBw8+Ge4cRqtcFZ8gRTLynrSxqMDX/NO+t+
    j3AHhAaAt1rnMAuZ1BzXg7G+BaZ/AyrqsWFTEyBZsG6nSNsAAFDrFRARagHavvypw10/lAm2dCS28EAO9bqlEAxHol6gCXawGaos
    WdFy2Qfqae1ewyCJur4IybKvBPM5dqYdfQiAM7QzJeesXoJn6igOHfsatmdmSkk7BwHJqk7oGlBS4YEco9AnWS0+EIDdkiXYzAT8
    cf2Z8I8DclO0/Tg/il9S7npy0xCs1a2AwPlROAHi0f7OIh8UVgonCiVADomrQWr0KCfHLMhEQF2age9FkJVymAgGGGvBDt1ZkImA
    S5svj74kdxdSEIaJ4JzjUkBzIm9mV95+e+RbGAqbyKLcUwGgvjQPY6PfkbtuOmEYdN+JQmWKLckIUyeSS7AqAGHF21pTEyDZaKIz
    zeB9CMOweQoiCNgZtIiGIP2KjEZFCINSrO7VaCvw7NIcdljyek1NwE7rnO/3bRuPp4q/u/Zc4PteR09ReKCAPvC7f76ZKz7XjwIA
    rPVg75fY+Hky7+SJ7EEB87buKaHDcBRyEXCNPhcfaADDO5fYkS/3noUevrkxCtkd/CFBKaMPC3nq9ddlzb6HDL4S7jCY2d3A8NrJ
    brbow8jAAcrl6yAemYeNvtSaF2MxMdWW97izR1JvrCS48o18k44eAUfvuHOc5cgMFXAXIp9uHJpII14QDCJwT6jsuds0motwKHwT
    6ySBScDc9PxPQ/2FChwp9uGC+Kg+07ccYA9rULv6hvPvosFKcpm/CnHphgNQLeF6XHfOg57+BYBBBhg2VNPTE5BErblQiLS/Dxeq
    xWCtbwG2A7Gy6GqPlYFZbHATzoOvnh02aO8jNwiXGUDCP6rseTlor2OfAWPGPgPGjNyGAd/iwUam/ShXM3IzwCEJpatJVvsMsU0L
    0yv3gXI4cFwNyD0ETesL2Al4r9YEzI0tWKvF7vm80pCbAZIBs7qGhr6AQJux4u5ZtVpt2PX95fUwCpuEHUgc0DWcjwhDp17AhVYb
    yr//VVS2ex6Fu5m9X9dgKwCdORtoZZwG0Pn57wEA7wH4wISdz1I1ShFDVQcQzQXMnoiu3ENwJ+3za+X4P+0FlOpoucNdg+nrD/8A
    n7nx5tBwM9z13+rAO7kuJxwuAVLQcAi7Ux386v7v4Yu3fBzE8xNc07VC1TSVeLp+7vR3YSuAjJGIumcSGnAdiExIuN6cHA7c7jpu
    icpstd2TD+AKH3lR2UpYddzWU9M1mDHGhu42B/c4WM/tDOOv/C4UAFMAzNZzsFk+C30lPWAQBOCAvgCbbNDGS1VnnwlkOFCac0BD
    jJi0VUzlSrtyBvQyZipsSKgToo4icjBzz1dhXn9t4HelJkqxEo6NAcTZ2CqffesuNJQGHD60kS+k8svE2Bjwy+PfLi9xAs4z4Mbl
    eyHl6GHAqmhgArZ8AhgjA750y+HcaUgpIVbmwZ1JmZ7TYyxjAJNUSM6cczg/Oge2u3et15X3AAbAXMvmTxwIDpjP/AQAoBy/Bzzi
    qMFJROU9wOYSUFPyXbqOtWL+9shgzhMv4sKEna4Qh8oZUHsn5ZlXBKhNzX2YvR7XPaDhvxHBp+HuhN9dez6T03vVqJwBnZd/myq8
    aGoYPMrgYh34YPfyjQi5XOUKjI02LraegzrBZohKGZD21DSm3xX5XSxrEM25kX2Og5iCit3NNqy1yXR8rZQBxulnE4c9OH8H1JHT
    SwNAHHV93u0RZsAFIF1w72j1M5PFiEqlIKWWbKe6DaAzeyh1+uLheyEVBidqf7XnOECQrnJPAra3z5QBUAigiEs1DDiY0RdDvqZH
    ZT2ApiiZOpPsRPtUw8AddxfPTPPY8KFHPrCuppVzqPAOxXU/RBazDsW1b8vLmcvoK28hqSSA9Xi81YuIIBJufY2DQTYauobp5eJa
    6yBo82foFLChopIhiBPzWlw4CEA9wXE7aWFJBzV9DmYrfu9xFLxjX6DuOKg9fj/ocsR8kwKVMOD8Rkzrl8XufRtGJ+AirjAQJG7Q
    7sSFa66FVMLPMSgK5d8VRQzTEd+3ISFKrHxbIfBUK2OO7dn3udNDBQu50hlgRU6FwKE8R4QnAK2eiwkhe7cqetd/wdjYqmzdUPoQ
    RBvh3b/WLLfybRixYcRAA+jeHCoZw1T8+XuFYGz2wPqSlurO5yy42Hol8jt7KPi8Ak4Eo1ONIqn8OaA557P7ESTUpbsq0Vge0jVM
    HT86+kECtaV5qHFXOFWA0kugEodoapg6oWEbEq+99QYYS6BiKAi2wsBW+i3dgatDmhS3+cpUETYvf8INg2rx3tmnjQnzRR1/H6wQ
    k3ZRI3CVMWASsc+AMWOfAWNGjwHKwKnKT369GI3kPvqwFY5pSFwY0gz4TkthK3dDtdxb34kT9jtIcVAZh+M44ATY1jacp14DEHJc
    DQGYEDH5ikKQpe3/1sCYsydYMYgAAAAASUVORK5CYII=
}
image create photo ::img::logo_rev -width 96 -height 96
::img::logo_rev copy ::img::logo -subsample -1 1
image create photo ::img::checkmark -data {
    iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1h
    Z2VSZWFkeXHJZTwAAALjSURBVHjaYvj//z8DJUBlPUuF8loWdRgfIIBYyDVIdSML5/9/DBuB2PXz/v8rgUKcQPwDIICYKDBsC8gw
    hr8MDG+X/JUHCosDMTNAAJFlINCgpUDsBDLs/2+G338/MJgAhQVBcgABxERGmOUADQsEGcbwDyzEysjOIA2kGYH4L0AAMZFomAHQ
    sF6YYf//gl3LwKHGKAw1/j9AADGRYBgzUPM0oGFsyIaB2GwyYANBEcwEEEAsJIRbMtAwS2TD/rxh+P524d+b3y78fwRUwgPEbAAB
    hGGg2g5WRaCmOf///a+57fPnOEgMmM7YgIbVIRv2+9n/L8+b/577+4XhI1DJOyD+BXIhQAAxoRmWBtR0CWiY0/9vDPVAIV5wxP1l
    AIlLI7vsRcff80DDXgPlLwDxESC+DzIUIIDALlTbxSoNchUQewANYwAHOiuDu0Agk8/vp/93AfmVIINA+O9Hhh8vOv+e//Oe4RVQ
    1TkgPgDE14EY5NJ/AAEENhCYjj4xsTKcZGD57wA0lAOmmceSsYiRgVEeyJYCR8Bfhv9vZv29+vvFf5Bhl6CGXQbizzBfAgQQIygv
    MzIyMgPZknwuTJHCsUw1TDwMfGBXAg34953hOdC1UqDw+7Tz3623y/7dghq2C+rdT6A4gxkIEECwMAQJ/P2059+txyV/FgMD/CMD
    xJWMMMN+Pfz//N2Kf/ehYXUMiK+gGwYCAAEEM/AfNKbO/nnNsOl5+79ZQG99hKWz/z8Y/rya+u8ykP8CKHIGiC8C8Xt0w0AAIICQ
    Y/knED8F4lNAF2540ftv+r/PDD9AXv+099+D3y//f4KG11kgfgXPeGgAIIDQ0+F/aGxd/vX4/7+3S/8KCfgwhb9f/+8uUOwB1HUP
    oGkOKwAIIFikYIhDU74BExeD579vDALQcNsLxC+weRUGAAIIV9YDafgCxFeBhoHUiADxNSB+i88wEAAIIFwuRA5jPiDmgMboN0J5
    HiDAAJIfU7xRtjujAAAAAElFTkSuQmCC
}
image create photo ::img::nocheck -width [image width ::img::checkmark] \
    -height [image width ::img::checkmark]

##+##########################################################################
#
# Cities.tsh -- module for computing closest city to a given point
# Uses data from SimpleMaps.com/data/world-cities, currently trimmed
# to only use cities with population greater than 7,000,000. Code is
# here to recompute the city list to a different threshold.
#

namespace eval ::Cities {
    # This is the 10,000+ list of cities trimmed to those with population > 7,000,000
    # plus some scattered city across the globe (for better locating flights)
    # https://simplemaps.com/data/world-cities
    variable CITIES {
        {"New York" "United States" 40.6943 -73.9249}      {Tokyo Japan 35.6850 139.7514}
        {"Mexico City" Mexico 19.4424 -99.1310}            {Mumbai India 19.0913 72.8686}
        {"São Paulo" Brazil -23.4402 -46.4922}             {Delhi India 28.6700 77.2300}
        {Shanghai China 31.2165 121.4365}                  {Kolkata India 22.4950 88.3247}
        {"Los Angeles" "United States" 34.1139 -118.4068}  {Dhaka Bangladesh 23.7231 90.4086}
        {"Buenos Aires" Argentina -34.6025 -58.3975}       {Karachi Pakistan 24.8700 66.9900}
        {"Rio de Janeiro" Brazil -22.9250 -43.2250}        {Cairo Egypt 30.0500 31.2500}
        {Beijing China 39.9289 116.3883}
        {Manila Philippines 14.6042 120.9822}              {Moscow Russia 55.7522 37.6155}
        {Istanbul Turkey 41.1050 29.0100}                  {Paris France 48.8667 2.3333}
        {Seoul "Korea, South" 37.5663 126.9997}            {Lagos Nigeria 6.5721 3.3151}
        {Jakarta Indonesia -6.1744 106.8294}               {Guangzhou China 23.1450 113.3250}
        {Chicago "United States" 41.9808 -87.9085}         {London "United Kingdom" 51.5000 -0.1167}
        {Lima Peru -12.0480 -77.0501}                      {Tehran Iran 35.6719 51.4243}
        {Kinshasa "Congo (Kinshasa)" -4.3297 15.3150}      {Bogota Colombia 4.5964 -74.0833}
        {Shenzhen China 22.5524 114.1221}                  {Wuhan China 30.5800 114.2700}
        {"Hong Kong" "Hong Kong" 22.3050 114.1850}
        {Chennai India 13.0900 80.2800}                    {Taipei Taiwan 25.0358 121.5683}
        {Bangalore India 12.9700 77.5600}                  {Bangkok Thailand 13.7500 100.5166}
        {Lahore Pakistan 31.5600 74.3500}                  {Miami "United States" 25.7840 -80.2102}
        {Dallas "United States" 32.7937 -96.7662}          {Santiago Chile -33.4500 -70.6670}
        {"Belo Horizonte" Brazil -19.9150 -43.9150}        {Madrid Spain 40.4000 -3.6834}
        {Washington "United States" 38.9047 -77.0163}
        {Atlanta "United States" 33.7626 -84.4228}         {Singapore Singapore 1.2930 103.8558}
        {Baghdad Iraq 33.3386 44.3939}                     {Sydney Australia -33.9200 151.1852}
        {Hanoi Vietnam 21.0333 105.8500}                   {Melbourne Australia -37.8200 144.9750}
        {Houston "United States" 29.7868 -95.3905}         {Recife Brazil -8.0756 -34.9156}
        {Seattle "United States" 47.6211 -122.3244}
        {"San Francisco" "United States" 37.619521 -122.373668}
        {Johannesburg "South Africa" -26.1326 28.2387}     {Kabul Afghanistan 34.5167 69.1833}
        {Caracas Venezuela 10.5010 -66.9170}
        {Minneapolis "United States" 44.9635 -93.2678}
        {Frankfurt Germany 50.0437 8.5698}
        {Denver "United States" 39.7621 -104.8759}
        {Dakar Senegal 14.7158 -17.4731}                   {Tunis Tunisia 36.8028 10.1797}
        {Tashkent Uzbekistan 41.3117 69.2949}              {Brisbane Australia -27.4550 153.0351}
        {Beirut Lebanon 33.8720 35.5097}                   {Quito Ecuador -0.2150 -78.5001}
        {"La Paz" Bolivia -16.4980 -68.1500}               {Perth Australia -31.9550 115.8400}
        {Novosibirsk Russia 55.0300 82.9600}
        {Dubai "United Arab Emirates" 25.2300 55.2800}
        {Auckland "New Zealand" -36.8481 174.7630}         {Amsterdam Netherlands 52.3500 4.9166}
        {Oslo Norway 59.9167 10.7500}
        {Honolulu "United States" 21.3294 -157.8460}
        {"Las Palmas" Spain 28.1000 -15.4300}
        {Anchorage "United States" 61.1508 -149.1091}
        {Reykjavík Iceland 64.1500 -21.9500}
        {Papeete "French Polynesia" -17.5334 -149.5667}
        {"St. John's" Canada 47.5850 -52.6810}             {"Goose Bay" Canada 53.3000 -60.3000}
    }
}
proc ::Cities::KnownCities {} {
    return [lsort -dictionary [lmap datum $::Cities::CITIES {lindex $datum 0}]]
}
proc ::Cities::KnownCitiesAsMarkers {} {
    # Data suitable for GMaps
    set all [lmap datum $::Cities::CITIES {
        lassign $datum name country lat lon
        return -level 0 [list "$name\\n$country" $lat $lon]
    }]
    return $all
}
proc ::Cities::CityCoords {city} {
    variable CITIES

    set n [lsearch -index 0 -exact $CITIES $city]
    if {$n == -1} { return [list ? ?] }
    lassign [lindex $CITIES $n] . . lat lon
    return [list $lat $lon]
}
proc ::Cities::ClosestCity {lat lon {whichCity ""}} {
    # Finds the city in our list of world cities that is the closest to lat, lon
    # Result: [list distance bearing lat lon city_name country]

    variable CITIES

    if {! [string is double -strict $lat] || ! [string is double -strict $lon]} {
        return [list ?? ?? ?? ?? ?? ??]
    }

    set cityList $CITIES
    if {$whichCity ne ""} {
        set idx [lsearch -exact -index 0 $CITIES $whichCity]
        if {$idx == -1} { error "cannot locate city $city" }
        set cityList [list [lindex $CITIES $idx]]
    }
    set shortest_distance 9999999999
    foreach city $cityList {
        lassign $city name country clat clon

        set distance [::Cities::GreatCircleDistance $lat $lon $clat $clon]
        if {$distance < $shortest_distance} {
            set who $city
            set shortest_distance $distance
        }
    }
    set shortest_distance [expr {round($shortest_distance)}]
    lassign $who name country clat clon
    set bearing [::Cities::BearingBetween2Points $clat $clon $lat $lon]
    return [list $shortest_distance $bearing $clat $clon $name $country]
}

proc ::Cities::GreatCircleDistance {lat1 lon1 lat2 lon2 {feet 0}} {
    set y1 $lat1
    set x1 $lon1
    set y2 $lat2
    set x2 $lon2

    set pi [expr {acos(-1)}]
    set x1 [expr {$x1 *2*$pi/360.0}]            ;# Convert degrees to radians
    set x2 [expr {$x2 *2*$pi/360.0}]
    set y1 [expr {$y1 *2*$pi/360.0}]
    set y2 [expr {$y2 *2*$pi/360.0}]
    # calculate distance:
    ##set d [expr {acos(sin($y1)*sin($y2)+cos($y1)*cos($y2)*cos($x1-$x2))}]
    set d [expr {sin($y1)*sin($y2)+cos($y1)*cos($y2)*cos($x1-$x2)}]
    if {abs($d) > 1.0} {                        ;# Rounding error
        set d [expr {$d > 0 ? 1.0 : -1.0}]
    }
    set d [expr {acos($d)}]

    set meters [expr {20001600/$pi*$d}]
    set miles [expr {$meters * 100 / 2.54 / 12 / 5280}]
    if {$feet} {
        return [expr {$miles * 5280}]
    }
    return $miles
}
proc ::Cities::BearingBetween2Points {lat1 lon1 lat2 lon2} {
    # Returns the bearing -180,180 with 0 being North between two points

    # https://www.sunearthtools.com/tools/distance.php
    # https://www.movable-type.co.uk/scripts/latlong.html
    # http://mathforum.org/library/drmath/view/55417.html
    # https://www.igismap.com/formula-to-find-bearing-or-heading-angle-between-two-points-latitude-longitude/
    # https://stackoverflow.com/questions/3932502/calculate-angle-between-two-latitude-longitude-points

    set rlat1 [expr {$lat1 * acos(-1) / 180}]
    set rlon1 [expr {$lon1 * acos(-1) / 180}]
    set rlat2 [expr {$lat2 * acos(-1) / 180}]
    set rlon2 [expr {$lon2 * acos(-1) / 180}]

    set dlon [expr {$rlon2 - $rlon1}]
    set y [expr {sin($dlon) * cos($rlat2)}]
    set x [expr {cos($rlat1) * sin($rlat2) - sin($rlat1) * cos($rlat2) * cos($dlon)}]
    set bearing [expr {atan2($y, $x)}]
    set degrees [expr {$bearing * 180 / acos(-1)}]
    set degrees [format %.2f $degrees]
    return $degrees
}
##+##########################################################################
#
# button_listbox.tcl -- Multicolumn list box with column 0 a button
# image which generates <<ButtonListBoxPress>> when clicking on the
# button image.

namespace eval ::ButtonListBox {
    package require Tk
    variable CONFIG
    variable DEFAULT
    array set DEFAULT {
        headers {}
        prettyHeaders {}
        displayColumns {}
        widths {}
        banding 0
        buttonImage ::ButtonListBox::help
        color,0 white color,1 \#aaffff
    }
}

##+##########################################################################
#
# ::ButtonListBox::Create -- Creates and packs a new tile table widget
# into a parent frame.
#
#
proc ::ButtonListBox::Create {parent args} {
    variable CONFIG
    if {$parent eq "."} { set parent "" }
    set w $parent.tree
    ::ButtonListBox::_ParseArgs $w $args

    ::ttk::treeview $w -columns $CONFIG($w,headers)  \
        -yscroll "$parent.vsb set"
    if {$CONFIG($w,displayColumns) ne ""} {
        $w config -displaycolumns $CONFIG($w,displayColumns)
    }
    scrollbar $parent.vsb -orient vertical -command "$w yview"

    bind $w <Key-Home> [list $w yview moveto 0]
    bind $w <Key-End> [list $w yview moveto 1]

    # Set up headings and widths
    set font [::ttk::style lookup [$w cget -style] -font]
    foreach col $CONFIG($w,headers) pretty $CONFIG($w,prettyHeaders) hSize $CONFIG($w,widths) {
        if {$pretty eq ""} { set pretty $col }
        $w heading $col -text $pretty -anchor c \
            -image ::ButtonListBox::arrowBlank \
            -command [list ::ButtonListBox::_SortBy $w $col 0]
        $w column $col -anchor c
        if {[string is integer -strict $hSize]} {
            $w column $col -width $hSize
        } else {
            if {$hSize eq ""} { set hSize $col }
            set width [font measure $font [string cat $hSize "xxxx"]]
            $w column $col -width $width
        }
    }
    # Fix up heading #0 (over the tree section)
    # $w heading \#0 -command [list ::ButtonListBox::_SortBy $w \#0 1] \
    #     -image ::ButtonListBox::arrowBlank
    $w column \#0 -width 45 -stretch 0

    bind $w <1> [list ::ButtonListBox::_ButtonPress %W %x %y]

    grid $w $parent.vsb -sticky nsew
    grid column [winfo parent $w] 0 -weight 1
    grid row    [winfo parent $w] 0 -weight 1

    return $w
}
proc ::ButtonListBox::ResetSort {widget} {
    variable CONFIG
    foreach col $CONFIG($widget,headers) {
        $widget heading $col -image ::ButtonListBox::arrowBlank \
            -command [list ::ButtonListBox::_SortBy $widget $col 0]
    }
}
proc ::ButtonListBox::_ParseArgs {widget myargs} {
    variable CONFIG
    variable DEFAULT
    foreach {key value} [array get DEFAULT] {
        set CONFIG($widget,$key) $value
    }

    foreach {key value} $myargs {
        set key2 [string range $key 1 end]
        if {[string index $key 0] ne "-" || $key2 ni [array names DEFAULT]} {
            error "unknown option $key"
        }
        if {$value eq {}} { error "missing value for $key" }
        set CONFIG($widget,$key2) $value
    }
}
proc ::ButtonListBox::AddItem {w itemData} {
    variable CONFIG
    set id [$w insert {} end -text "" -image $CONFIG($w,buttonImage) -values $itemData]
    $w item $id -tags $id ;# For banding
    ::ButtonListBox::_BandTable $w
    return $id
}
##+##########################################################################
#
# ::ButtonListBox::AddManyItems -- Fills in tree with given data
#
proc ::ButtonListBox::AddManyItems {w data} {
    variable CONFIG
    $w delete [$w child {}]
    foreach datum $data {
        set id [$w insert {} end -values $datum -text "" -image $CONFIG($w,buttonImage)]
        $w item $id -tags $id
    }
    # ::ButtonListBox::_SortBy $w [$w heading #1 -text] 0
    ::ButtonListBox::_BandTable $w
    ::ButtonListBox::_ArrowHeadings $w - -
}
##+##########################################################################
#
# ::ButtonListBox::Clear -- Deletes all items
#
proc ::ButtonListBox::Clear {w} {
    $w delete [$w child {}]
}
#
# Internal routines
#
image create bitmap ::ButtonListBox::arrow(0) -data {
    #define arrowUp_width 7
    #define arrowUp_height 4
    static char arrowUp_bits[] = {
        0x08, 0x1c, 0x3e, 0x7f
    };
}
image create bitmap ::ButtonListBox::arrow(1) -data {
    #define arrowDown_width 7
    #define arrowDown_height 4
    static char arrowDown_bits[] = {
        0x7f, 0x3e, 0x1c, 0x08
    };
}
image create bitmap ::ButtonListBox::arrowBlank -data {
    #define arrowBlank_width 7
    #define arrowBlank_height 4
    static char arrowBlank_bits[] = {
        0x00, 0x00, 0x00, 0x00
    };
}
image create photo ::ButtonListBox::help -data {
    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAADFklEQVQ4jZ2TW2zTdRTHP/1ba2Ln1Clk
    7eJwHYQp1sVJnCgsxsRM2YiXESPIRnzxATNfyMwSw807vrhopgwFZSRcxrqmEDPBzEQaAkLCw5xkuAtz
    0nvZ6Lq2//77u/hAVo3zye/jyTnfc77ne45Naw2AAXB2JKxtCxHbile6tFEwsWmt+TwwqutWlhFNmtgB
    ZCFL27ZeEtGbmWLNAuwd302Grv0x5r52fYb7Skqq7Q01DrfffwWVz5EUtpHbghNlIw9UlL76UmMdga5W
    R5Hjg4F4uN5juCzLIq/snL4Y3djz9qM+A+DUxbDuGxh0OR2K4ckoV6em+DM03v/Ypm/GDIBLw9PIXJot
    2w+w4clKvuwJUP/QUqZ/Hz1cbHG3t71aSvGDEqJcK/Fpbvzb9wEW6fg37AAfB5ItdVV39Aszjd1u5+SF
    ZKR728NuAKPz8LRndRX9u3uGuLfUwfcXJrn/zqxrfcdgCMCIROKnD/qHSc/MEAiOs/P1Wo6eDNLatMIN
    YI9FIhWJ1Bx5M0X7y17WtnZTsCxudxi3nIpFY5+0NdciTZP5rEUmPYvOzzH402+3ptRa427YPf/RkV+0
    57l3df2WLv1h7zntXPlmi9b6b5l3PfLWDiUK7ygholrJ583JQxP/uYfPBtPVUqnNUqg2qWW5FIKCUFEp
    Ra8Q6sjerQ9O/DO/SLCnL9pSkOLQs16nMxS9wdnLccavJ5BS41rqZJ23gmWV93D0zFRGFsTW47safEWC
    9q+u7FxXW7ZnPp1ln+8yVjbHme6NC9cKKF7sGMAqCDY3PY5W4P/x113nvt70ngEQjsQ7nXbBvr7zZOZu
    kjNTrH1jP10nLjGXMQknMiyvLCWVTHDw+BAedwnJWLyzaHUsEg2lzcrl5UtKuTo7ixR5tJIc8wU55gui
    LAu0RKNwly9jJjNP6kYiVPyoZCzeuGOvP/zCmipea67D0AJhZlhV42ZVjRupLLTMsr5xDU3PeNnesT+c
    TaUaF7mw5InOFqXkF80bnnY9tdpDidMBQCpl8vP5UU75hyIo1Z4dO+Bb5ML/xV9NZK9JY/hkUAAAAABJ
    RU5ErkJggg==
}

##+##########################################################################
#
# ::ButtonListBox::_SortBy -- Code to sort tree content when clicked on a header
#
proc ::ButtonListBox::_SortBy {tree col direction} {
    # Build something we can sort
    # if {$col eq "\#0"} { set col [lindex [$tree cget -columns] 0] }
    set sortData [lmap row [$tree children {}] {list [$tree set $row $col] $row}]
    lassign [::ButtonListBox::_SortNormalize $sortData] sortType sortData
    if {$col eq "callsign"} { set sortType -dictionary }

    set dir [expr {$direction ? "-decreasing" : "-increasing"}]

    # Now reshuffle the rows into the sorted order
    set r -1
    foreach rinfo [lsort $sortType -index 0 $dir $sortData] {
        $tree move [lindex $rinfo 1] {} [incr r]
    }

    # Switch the heading command so that it will sort in the opposite direction
    set cmd [list ::ButtonListBox::_SortBy $tree $col [expr {!$direction}]]
    $tree heading $col -command $cmd
    ::ButtonListBox::_BandTable $tree
    ::ButtonListBox::_ArrowHeadings $tree $col $direction
}
proc ::ButtonListBox::_SortNormalize {sortData} {
    # Determines if our data is all numbers (or null)
    set asNumbers [lmap datum $sortData {
        lassign $datum item key
        if {$item eq "null"} { list 9999999 $key
        } elseif {[string is double -strict $item]} {
            list [expr {double($item)}] $key
        } else {
            return -level 0 string
        }
    }]
    if {"string" ni $asNumbers} { return [list -real $asNumbers] }

    # Don't use -dictionary for data like "12AB28"
    set all [lsearch -all -regex -index 0 $sortData {[0-9][a-zA-Z]+[0-9]}]
    if {[llength $all] > 0} {
        return [list -ascii $sortData]
    }
    return [list -dictionary $sortData]
}
##+##########################################################################
#
# ::ButtonListBox::_ArrowHeadings -- Puts in up/down arrows to show sorting
#
proc ::ButtonListBox::_ArrowHeadings {tree sortCol dir} {
    set idx -1
    foreach col [$tree cget -columns] {
        incr idx
        set img ::ButtonListBox::arrowBlank
        if {$col == $sortCol} {
            set img ::ButtonListBox::arrow($dir)
        }
        $tree heading $idx -image $img
    }
    set img ::ButtonListBox::arrowBlank
    if {$sortCol eq "\#0"} {
        set img ::ButtonListBox::arrow($dir)
    }
    $tree heading "\#0" -image $img
}
##+##########################################################################
#
# ::ButtonListBox::_BandTable -- Draws bands on our table
#
proc ::ButtonListBox::_BandTable {tree} {
    variable CONFIG
    if {! $CONFIG($tree,banding)} return

    set id 0
    foreach row [$tree children {}] {
        set id [expr {! $id}]
        set tag [$tree item $row -tags]
        $tree tag configure $tag -background $CONFIG($tree,color,$id)
    }
}
##+##########################################################################
#
# ::ButtonListBox::_ButtonPress -- handles mouse click which can
#  toggle checkbutton, control selection or resize headings.
#
proc ::ButtonListBox::_ButtonPress {w x y} {
    lassign [$w identify $x $y] what id detail

    # Disable resizing heading #0
    if {$what eq "separator" && $id eq "\#0"} {
        return -code break
    }
    if {$what eq "item"} {
        set rowDict [$w set $id]
        dict set rowDict id $id
        # set header_1 [$w heading #1 -text]
        # event generate $w <<ButtonListBoxPress>> -data [$w set $id $header_1]
        event generate $w <<ButtonListBoxPress>> -data $rowDict
        return -code break
    }
}
##+##########################################################################
#
# OpenSkyApi -- front end to the OpenSky Network REST api letting you
# retrieve live airspace information for research and non-commercial purposes.
# Note, this API enforces the rate limit this site has.
# See namespace header for usage
#

namespace eval ::OpenSkyApi {
    variable api_protocol "https://"
    variable api_url "opensky-network.org/api/states/all"
    variable rate_limit_auth 2
    variable rate_limit_noauth 10
    variable last_request 0
    variable has_auth False
    variable verbose False
    variable CONFIG [dict create {*}{
        -time ""
        -icao24 {}
        -bbox {}
        -username ""
        -password ""
        -wait False
        -verbose False
        -nofetch False
    }]
    variable url ""
    variable msg "set state \[::OpenSkyApi::GetStates ?options...?\]\n"
    append msg "  -time     The time which the state vectors are associated with\n"
    append msg "            ignored if not authenticated\n"
    append msg "  -icao24   Optionally retrieve states for the given ICAO24 addresses\n"
    append msg "  -bbox     Optionally only retrieve states with a bounding box, specified by\n"
    append msg "            four values: min_lat max_lat min_lon max_lon\n"
    append msg "  -username OpenSky username if you have an account\n"
    append msg "  -password OpenSky password if you have an account\n"
    append msg "  -wait     If set then automatically wait until OpenSky's rate limit has\n"
    append msg "            expired: 10 seconds for unauthenticated users, 2 otherwise\n"
    append msg "  -verbose  If set then print information about what's happening\n"
    append msg "  -nofetch  Don't fetch any data, just return url"
}

proc ::OpenSkyApi::GetStates {args} {
    # Fetches the OpenSky state vectors for the given parameters.
    # Result is a dictionary of JSON data with three keys:
    #   time  : The time which the state vectors in this response are
    #           associated with. All vectors represent the state of a vehicle
    #           with the interval [time−1,time].
    #   states: A list of state vectors
    #   url   : The OpenSky API url for the REST api
    #

    lassign [::OpenSkyApi::_GetStates {*}$args] emsg states
    if {$emsg ne ""} { error $emsg }
    return $states
}

proc ::OpenSkyApi::_GetStates {args} {
    # Entry point which doesn't throw an error on bad data
    variable last_request

    lassign [::OpenSkyApi::_ParseArgs $args] emsg config
    if {$emsg ne ""} { return [list $emsg {}] }

    set url [::OpenSkyApi::_MakeUrl $config]
    if {[dict get $config -nofetch]} {
        return [list "" [dict create url $url time [clock seconds] states null]]
    }
    if {[::OpenSkyApi::_AreWeRateLimited [dict get $config -wait]]} {
        return [list "Blocking request due to rate limit" {}]
    }
    ::OpenSkyApi::_log "Fetching url: $url"
    set start [clock seconds]
    set token [::http::geturl $url]
    set duration [expr {[clock seconds] - $start}]
    set ncode [::http::ncode $token]
    set data [::http::data $token] ; list
    ::http::cleanup $token
    ::OpenSkyApi::_log [format "Got response: %d: %s in %s" $ncode \
                         [::OpenSkyApi::_Plural [string length $data] byte] \
                         [::OpenSkyApi::_Plural $duration second]]

    if {$ncode != 200} {
        return [list "bad response from opensky: $ncode" {}]
    }
    set last_request [clock seconds]
    set jdata [::json::json2dict $data]
    set jdata [dict merge [dict create url $url] $jdata]
    return [list "" $jdata]
}
proc ::OpenSkyApi::_log {msg} {
    if {$::OpenSkyApi::verbose} {
        puts stderr $msg
    }
}
proc ::OpenSkyApi::_Plural {cnt singular {plural ""}} {
    if {$cnt == 1} { return [string trim "$cnt $singular"] }

    set num $cnt
    while {[regsub {^([-+]?[0-9]+)([0-9][0-9][0-9])} $num {\1,\2} num]} {}

    if {$plural eq "" && $singular ne ""} { set plural "${singular}s" }
    return [string trim "$num $plural"]
}
proc ::OpenSkyApi::_MakeUrl {config} {
    variable api_protocol
    variable api_url
    variable has_auth
    variable url

    # https://opensky-network.org/api/states/all
    # https://USERNAME:[email protected]/api/states/all
    # https://opensky-network.org/api/states/all?icao24=3c6444&icao24=3e1bf9

    set auth ""
    if {$has_auth} {
        set auth "[dict get $config -username]:[dict get $config -password]@"
    }

    set params {}
    if {[dict get $config -time] ne ""} {
        lappend params "time=[dict get $config time]"
    }
    if {[dict get $config -icao24] ne {}} {
        lappend params "icao24=[join [dict get $config -icao24] &icao24=]"
    }
    if {[dict get $config -bbox] ne {}} {
        foreach key {lamin lomin lamax lomax} value [dict get $config -bbox] {
            lappend params "$key=$value"
        }
    }
    set url "$api_protocol$auth$api_url"
    if {$params ne {}} {
        append url "?" [join $params "&"]
    }
    ::OpenSkyApi::_log "Making url: $url"
    return $url
}
proc ::OpenSkyApi::_AreWeRateLimited {sleepUntilOk} {
    variable rate_limit_auth
    variable rate_limit_noauth
    variable last_request
    variable has_auth

    set delta [expr {[clock seconds] - $last_request}]
    set limit [expr {$has_auth ? $rate_limit_auth : $rate_limit_noauth}]
    if {$delta < $limit && ! $sleepUntilOk} { return True }
    if {$delta < $limit && $sleepUntilOk} {
        set seconds [expr {$limit - $delta}]
        ::OpenSkyApi::_log "Rate limited: sleeping $seconds seconds..."
        after [expr {$seconds * 1000}] { set wait_for_me 3 }
        vwait wait_for_me
    }
    return False
}
proc ::OpenSkyApi::_ParseArgs {arg_list} {
    variable CONFIG
    variable msg
    variable has_auth
    variable verbose

    set config [dict merge $CONFIG]
    for {set i 0} {$i < [llength $arg_list]} {} {
        set key [lindex $arg_list $i]

        if {$key in {-wait -verbose -nofetch}} {
            dict set config $key True
            incr i
        } elseif {$key in {-time -username -password}} {
            dict set config $key [lindex $arg_list $i+1]
            if {$i + 2 > [llength $arg_list]} { return [list "not enough arguments for $key" {}]}
            incr i 2
        } elseif {$key eq "-bbox"} {
            if {$i + 5 > [llength $arg_list]} { return [list "not enough arguments for $key" {}]}
            dict set config $key [lrange $arg_list $i+1 $i+4]
            incr i 5
            ::OpenSkyApi::_log "Retrieving for bounding box [dict get $config $key]"
        } elseif {$key eq "-icao24"} {
            set values {}
            for {set i [expr {$i + 1}]} {$i < [llength $arg_list]} {incr i} {
                set value [lindex $arg_list $i]
                if {[string index $value 0] eq "-"} break
                lappend values $value
            }
            dict set config $key $values
            ::OpenSkyApi::_log "Retrieving for icao24 matching $values"
        } else {
            return [list "unknown option '$key'\nusage: $msg" {}]
        }
    }
    set has_auth [expr {[dict get $config -username] ne ""}]
    set verbose [dict get $config -verbose]
    return [list "" $config]
}
proc ::OpenSky::About {} {
    set title [wm title .]
    catch {destroy .about}
    toplevel .about
    wm withdraw .about
    wm title .about "About $title"
    wm transient .about .

    set font "Helvetica 18"

    pack [::ttk::frame .about.f] -fill both -expand 1
    ::ttk::label .about.logo -image ::img::logo_rev

    set t .about.t
    text $t -relief raised -wrap word -width 80 -height 36 -font $font \
        -padx 10 -pady 10 -cursor {} -bd 2 -highlightthickness 0
    ::ttk::button .about.dismiss -text Dismiss -command {destroy .about}
    pack .about.dismiss -side bottom -pady 10 -in .about.f
    pack .about.logo -side left -anchor n -padx .2i -pady .2i -in .about.f
    pack $t -side top -expand 1 -fill both -in .about.f

    $t tag config title -justify center -foregr [::tk::Darken dodgerblue 70] \
        -font {Helvetica 48 bold}
    $t tag configure title2 -justify center -font {Helvetica 32 bold} -foreground dodgerblue
    $t tag configure header -font "$font bold" -spacing3 5
    $t tag configure italic -font "$font italic"

    $t insert end "$title\n" title
    $t insert end "Live Real-World Air Traffic Control Data\n" title2
    $t insert end "by Keith Vetter\October 2019\n\n" title2

    set txt "This program lets you view, analyze and filter the live air traffic "
    append txt "information that OpenSky provides.\n"
    $t insert end $txt

    $t insert end "\nHow to use\n" header
    $t insert end "\u2022 Clicking "
    $t insert end "Reload" italic " fetches the latest data from OpenSky\n"
    $t insert end "\u2022 Clicking on any header column will sort the table by that column\n"
    $t insert end "\u2022 Clicking on the same header again will reverse the sort\n"
    $t insert end "\u2022 Clicking on "
    $t image create end -image ::ButtonListBox::help
    $t insert end " displays an Info Panel with more specific information about that flight\n"

    $t insert end "\nViewing flights on Google Maps\n" header
    $t insert end "\u2022 To view a single flight, click the location button in the Info Panel\n"
    $t insert end "\u2022 To view many flights, click " . "Show first ## flights in browser\n" italic

    $t insert end "\nFiltering the data\n" header
    $t insert end "As you apply filters, a list of active ones appears on the bottom left panel\n"
    $t insert end "\u2022 The filter panel provides several general filters\n"
    $t insert end "\u2022 There are two ways to filter by country\n"
    $t insert end "\uA0\uA0\uA0\u2022 Click on a Country button in the Origins Panel\n"
    $t insert end "\uA0\uA0\uA0\u2022 Click on the Origin button in the Info Panel for a selected flight\n"
    $t insert end "\u2022 There are two ways to filter by airline\n"
    $t insert end "\uA0\uA0\uA0\u2022 Click on an Airline button in the Airlines Panel\n"
    $t insert end "\uA0\uA0\uA0\u2022 Click on the Airline button in the Info Panel for a selected flight\n"

    $t insert end "\nICAO Airlines\n" header
    $t insert end "If the first three characters in a callsign are letters, then they represent "
    $t insert end "a ICAO airline designator. A table of over 5,800 ICAO designators is included "
    $t insert end "along with the country they operate out of."

    $t config -state disabled
    wm deiconify .about
}
set googleTemplate {<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>OpenSky Demo</title>
    <style>
      #map {height: 100%;}
      html, body {height: 100%; margin: 0; padding: 0;}
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>

      var markers = [%MARKERS%]
      var infowindow = null;

      function initMap() {
        infowindow = new google.maps.InfoWindow({
          "size": new google.maps.Size(250, 50)
        });

        var map = new google.maps.Map(document.getElementById('map'), {
          "zoom": %ZOOM%,
          "center": {%MIDPOINT%}
        });

       if (%SHOW_MIDPOINT%) {
          var midpoint = new google.maps.Marker({
            position: {%MIDPOINT%},
            map: map,
            title: "center"
          });
        }

        // http://kml4earth.appspot.com/icons.html
        var image = "http://maps.google.com/mapfiles/kml/shapes/airports.png";
        var icon = {
          url: image,
          scaledSize: new google.maps.Size(32,32)
        }
        for (id in markers) {
          var latlng = {"lat": markers[id].lat, "lng": markers[id].lng}
          var marker = new google.maps.Marker({
            position: latlng,
            map: map,
            title: markers[id].name,
            icon: icon
          });
        }
      }
    </script>
    <script async defer
      src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAa1Ux2B-7ruNcDs25gS2_M0AKbkPJQUw8&callback=initMap">
    </script>
  </body>
</html>
}
proc ::OpenSky::ShowGMaps {} {
    variable TREE
    variable Filters

    # Find if we're centered on a city
    set matches [regexp -inline -line -all {within.*miles of (.*)} $Filters(active)]
    set city [lindex $matches end]

    set n [string map {, ""} $Filters(gmaps,cnt)]
    set ids [lrange [$TREE children {}] 0 $n-1]

    if {$ids eq {}} {
        if {$city eq ""} return
        set midpoint [::Cities::CityCoords $city]
        set allLat [lrange $midpoint 0 0]
        set allLon [lrange $midpoint 1 1]
    } else {
        set allLat [lsort -real [Filter [lmap id $ids { return -level 0 [lindex [$TREE item $id -values] 6]}] null]]
        set allLon [lsort -real [Filter [lmap id $ids { return -level 0 [lindex [$TREE item $id -values] 5]}] null]]
    }

    set lat0 [lindex $allLat 0] ; set lat1 [lindex $allLat end]
    set lon0 [lindex $allLon 0] ; set lon1 [lindex $allLon end]
    set distance [::Cities::GreatCircleDistance $lat0 $lon0 $lat1 $lon1]

    # Determine center of map
    if {$city ne {}} {
        set midpoint [concat [list $city] [::Cities::CityCoords $city]]
    } else {
        set midLat [expr {[::tcl::mathop::+ {*}$allLat] / [llength $ids]}]
        set midLon [expr {[::tcl::mathop::+ {*}$allLon] / [llength $ids]}]
        set midpoint [list "" $midLat $midLon]
    }

    # Compile the list of airplanes to display
    set markers [lmap id $ids {
        lassign [$TREE item $id -values] icao24 callsign . . . lon lat
        if {$lon eq "null" || $lat eq "null"} continue

        set name "ICAO24: $icao24"
        if {$callsign ne {}} {
            set name "Callsign: [string trim $callsign]\\n$name"
        }
        set bearing [lindex [$TREE item $id -values] end]
        regsub { of } $bearing { of\n} bearing
        append name "\\n$bearing"
        return -level 0 [list $name $lat $lon]
    }]
    # Uncomment following line to see the known cities
    # set markers [::Cities::KnownCitiesAsMarkers]
    set html [::OpenSky::MakeGMapPage $midpoint $markers $distance]

    # Save html to a temporary file and launch it
    set template [file join [expr {[file isdirectory /tmp] ? "/tmp" : ""}] opensky_gmap.html]
    set fout [file tempfile fname $template]
    puts $fout $html
    close $fout
    LaunchBrowser $fname
    lappend Filters(gmaps,fnames) $fname
    return "saved GMAP html in\n     $fname"
}
proc ::OpenSky::MakeGMapPage {midpoint markers distance} {
    set html $::googleTemplate

    lassign $midpoint city lat lon
    set show_midpoint [expr {$city ne "" ? "true" : "false"}]
    set midpoint_json "lat: $lat, lng: $lon"
    set markers_json [join [lmap marker $markers {
        lassign $marker name lat lng
        return -level 0 [format {{"name": "%s", "lat": %g, "lng": %g}} $name $lat $lng]
    }] ",\n    "]

    set zoom [expr {int(18 - log($distance + .01) / log(2))}]
    set mapping [list %ZOOM% $zoom %MIDPOINT% $midpoint_json \
                     %MARKERS% $markers_json %SHOW_MIDPOINT% $show_midpoint]
    set html [string map $mapping $html]
    return $html
}
proc ::OpenSky::Spinner {{widget ""}} {
    variable SPINNER
    variable SPINNERS

    if {$widget ne ""} {
        # Create new spinner
        lassign [lindex $SPINNERS [expr {int(rand() * [llength $SPINNERS])}]] . freq chars
        set SPINNER [list 0 $freq $chars $widget]
    }

    lassign $SPINNER idx freq chars widget

    if {! [winfo exists $widget]} return
    set idx [expr {($idx + 1) % [llength $chars]}]
    set newChar [lindex $chars $idx]
    set oldText [$widget cget -text]
    $widget config -text [string replace $oldText end end $newChar]

    set SPINNER [list $idx $freq $chars $widget]
    set aid [after $freq ::OpenSky::Spinner]
}
proc ::OpenSky::Search {} {
    variable TREE
    scan [wm geom [winfo top $TREE]] "%dx%d+%d+%d" width height x0 y0

    set x [expr {$x0 + $width / 2 - 50}]
    set y [expr {$y0 + 50}]
    set txt "Search flight data\nenter search term"
    set txt "Enter term to search all\nflight data for"
    set n [::getstring::tk_getString .find ::OpenSky::Filters(find) $txt \
               -title "OpenSky Search" -geometry +${x}+${y}]
    if {! $n} return
    ::OpenSky::SearchForValue $::OpenSky::Filters(find)
}
proc ::OpenSky::SearchForValue {what} {
    variable TREE
    variable FILTERS

    set matches [::OpenSky::_SearchForValue $what]
    # Put all matches at the top
    $TREE selection set $matches
    foreach item [lreverse $matches] {
        $TREE move $item {} 0
        $TREE see $item
    }
    ::ButtonListBox::ResetSort $TREE

    # Add what we did to the log
    set msg "[Plural $matches match matches] for '$what'"
    ::OpenSky::AddFiltering $msg
}
proc ::OpenSky::_SearchForValue {what} {
    variable TREE

    set matches {}
    set what [string tolower [string trim $what]]
    foreach item [$TREE children {}] {
        foreach value [$TREE item $item -values] {
            if {[string first $what [string tolower $value]] > -1} {
                lappend matches $item
                break
            }
        }
    }
    return $matches
}

################################################################
################################################################
set TREE [::OpenSky::DoDisplay]
::OpenSky::DownloadFromOpensky

return