require 'spec_helper'

describe 'Whois as-set resolution' do
  include_context 'whois queries'

  context 'When FQDN specified for Whois server' do
    subject {send_query(whois_fqdn, 'AS-JPNIC')}

    it 'returns ipv4 and ipv6 prefixes by default' do
      expect(subject['AS-JPNIC'][:ipv4]['AS2515']).to include '192.41.192.0/24', '202.12.30.0/24',
                                                              '211.120.240.0/21', '211.120.248.0/24'
      expect(subject['AS-JPNIC'][:ipv6]['AS2515']).to include '2001:dc2::/32', '2001:0fa0::/32'
    end
  end

  context 'When a name specified for Whois server' do
    subject {send_query(whois, as_set)}

    it 'returns the same result as if the FQDN specified' do
      expect(subject).to eq send_query(whois_fqdn, as_set)
    end
  end

  it 'gently closes connections to Whois server' do
    expect_any_instance_of(Irrc::Whoisd::Client).to receive(:close)
    send_query(whois_fqdn, as_set)
  end

  describe 'Fintering by Authoritative Whois server' do
    subject {send_query(:jpirr, 'AS-JPNIC', source: :apnic)}

    it 'returns nothing' do
      expect(subject).to eq({})
    end
  end

  context 'When as-set resolution is done but something wrong while further processes' do
    subject {send_query(whois, as_set)}
    before do
      allow_any_instance_of(Irrc::Whoisd::Client).to receive(:expand_aut_num) {raise}
    end

    it 'ignores a halfway result' do
      expect(subject).to eq({"AS-JPNIC" => {:ipv4 => {"AS2515" => []}, :ipv6 => {"AS2515" => []}}})
    end
  end

  context 'When only ipv4 is specified for protocol' do
    subject {send_query(whois, as_set, protocol: :ipv4)}

    it 'returns nothing about ipv6' do
      expect(subject[as_set][:ipv6]).to be_nil
    end
  end

  context 'When nil specified for protocol' do
    subject {send_query(whois, as_set, protocol: nil)}

    it 'returns nothing about the as-set' do
      expect(subject[as_set]).to eq({})
    end
  end

  context 'When blank protocol specified' do
    subject {send_query(whois, as_set, protocol: [])}

    it 'returns nothing about the as-set' do
      expect(subject[as_set]).to eq({})
    end
  end

  context 'When an invalid protocol specified' do
    subject {send_query(whois, as_set, protocol: :invalid)}

    it 'reports an ArgumentError' do
      expect {subject}.to raise_error ArgumentError
    end
  end

  context 'When a non-mirrored server specified for authoritative Whois server' do
    subject {send_query(whois, as_set, source: :outsider)}

    it 'returns nothing' do
      expect(subject).to eq({})
    end
  end

  context 'When nil specified for authoritative Whois server' do
    subject {send_query(whois, as_set, source: nil)}

    it 'returns a result without any filter of authoritative Whois server' do
      expect(subject).to eq send_query(whois, as_set)
    end
  end

  context 'When blank authoritative Whois server specified' do
    subject {send_query(whois, as_set, source: [])}

    it 'returns a result without any filter of authoritative Whois server' do
      expect(subject).to eq send_query(whois, as_set)
    end
  end

  context 'When non-existent Whois object specified' do
    subject {send_query(whois, 'AS-NON-EXISTENT')}

    it 'ignores the Whois error' do
      expect(subject).to eq({})
    end
  end

  context 'When as-sets cross-refers to each other' do
    before do
      allow_any_instance_of(Irrc::Whoisd::Client).to receive(:execute) {|client, command|
        case command
        when /AS-A/
          "members:        AS1\nmembers:        AS-B"
        when /AS-B/
          "members:        AS-A"
        when /AS1/
          "route:          192.0.2.0/24"
        end
      }
    end
    let(:looped_as_set) {'AS-A'}

    subject {send_query(whois, looped_as_set)}

    it 'breaks out of the loop and returns something' do
      expect(subject['AS-A']).to eq(
                                   {:ipv4 => {"AS1" => ["192.0.2.0/24"]}, :ipv6 => {"AS1" => []}}
                                 )
    end
  end

  context 'When route-sets cross-refers to each other' do
    before do
      allow_any_instance_of(Irrc::Whoisd::Client).to receive(:execute) {|client, command|
        case command
        when /RS-A/
          "members:        192.0.2.0/24\nmembers:        RS-B"
        when /RS-B/
          "members:        RS-A"
        end
      }
    end
    let(:looped_route_set) {'RS-A'}

    subject {send_query(whois, looped_route_set)}

    it 'breaks out of the loop and returns something' do
      expect(subject['RS-A']).to eq(
                                   {:ipv4 => {nil => ["192.0.2.0/24"]}, :ipv6 => {nil => []}}
                                 )
    end
  end

  context 'When invalid Whois server name specified' do
    subject {send_query(:invalid, as_set)}

    it 'reports an error' do
      expect {subject}.to raise_error "Unknown type of IRR for 'invalid'."
    end
  end

  context 'When non-resolvable Whois server fqdn specified' do
    subject {send_query('non-resolvable.localdomain', as_set)}

    it 'reports an error' do
      expect {subject}.to raise_error "Unknown type of IRR for 'non-resolvable.localdomain'."
    end
  end

  context 'When unreachable Whois server specified' do
    subject {send_query('192.0.2.1', as_set)}

    it 'reports an error' do
      expect {subject}.to raise_error "Unknown type of IRR for '192.0.2.1'."
    end
  end

  context 'When specifing an Whois server out of service' do
    subject {send_query('127.0.0.1', as_set)}

    it 'reports an error' do
      expect {subject}.to raise_error "Unknown type of IRR for '127.0.0.1'."
    end
  end

  describe 'NOTE: These may fail due to Whois database changes, not code. Check Whois database if fails.' do
    describe 'route-set' do
      subject {send_query(whois, 'RS-RC-26462')}

      it 'returns the same result as Whois database' do
        expect(subject['RS-RC-26462']).to eq(
                                            {:ipv4 => {nil => ["137.238.0.0/16"]}, :ipv6 => {nil => ["2620:0:5080::/48"]}}
                                          )
      end
    end

    describe 'nested as-set' do
      subject {send_query(whois, 'AS-PDOXUPLINKS', source: :apnic)}

      it 'returns the same result as Whois database' do
        expect(subject['AS-PDOXUPLINKS'])
          .to eq({:ipv4=>
                    {"AS703"=>[],
                     "AS1221"=>
                       ["1.120.0.0/13",
                        "1.128.0.0/11",
                        "1.143.62.0/24",
                        "101.103.0.0/16",
                        "101.160.0.0/11",
                        "103.121.59.0/24",
                        "103.129.227.0/24",
                        "103.142.3.0/24",
                        "103.143.185.0/24",
                        "103.149.43.0/24",
                        "103.198.92.0/24",
                        "103.234.163.0/24",
                        "103.58.34.0/23",
                        "103.58.34.0/24",
                        "103.58.34.0/25",
                        "103.58.34.0/26",
                        "103.58.34.128/25",
                        "103.58.34.128/26",
                        "103.58.34.192/26",
                        "103.58.34.64/26",
                        "103.58.35.0/24",
                        "103.58.35.0/25",
                        "103.58.35.0/26",
                        "103.58.35.128/25",
                        "103.58.35.128/26",
                        "103.58.35.192/26",
                        "103.58.35.64/26",
                        "103.78.241.0/24",
                        "103.93.157.0/24",
                        "110.140.0.0/15",
                        "110.142.0.0/16",
                        "110.143.0.0/16",
                        "110.144.0.0/13",
                        "120.144.0.0/13",
                        "120.152.0.0/14",
                        "120.156.0.0/15",
                        "120.158.0.0/16",
                        "121.208.0.0/12",
                        "122.200.24.0/23",
                        "123.209.0.0/16",
                        "123.210.0.0/15",
                        "124.176.0.0/12",
                        "125.255.0.0/16",
                        "137.147.0.0/16",
                        "138.130.0.0/16",
                        "138.217.0.0/16",
                        "139.130.0.0/16",
                        "139.134.0.0/16",
                        "139.163.131.0/24",
                        "139.163.132.0/24",
                        "139.163.133.0/24",
                        "139.163.137.0/24",
                        "139.163.138.0/24",
                        "139.163.139.0/24",
                        "139.163.18.0/24",
                        "139.163.250.0/24",
                        "139.163.40.0/24",
                        "139.163.83.0/24",
                        "139.163.85.0/24",
                        "139.168.0.0/16",
                        "143.238.0.0/16",
                        "144.139.0.0/16",
                        "144.140.0.0/16",
                        "147.69.0.0/16",
                        "149.135.0.0/16",
                        "149.176.112.0/24",
                        "149.176.116.0/24",
                        "149.176.169.0/24",
                        "149.176.172.0/24",
                        "149.176.203.0/24",
                        "149.176.221.0/24",
                        "149.176.223.0/24",
                        "149.176.225.0/24",
                        "149.176.226.0/24",
                        "149.176.227.0/24",
                        "149.176.244.0/24",
                        "149.176.246.0/24",
                        "149.176.248.0/24",
                        "149.176.250.0/24",
                        "149.176.251.0/24",
                        "149.176.252.0/24",
                        "149.176.253.0/24",
                        "149.176.254.0/24",
                        "149.176.255.0/24",
                        "165.228.0.0/16",
                        "168.134.0.0/24",
                        "192.111.105.0/24",
                        "192.131.27.0/24",
                        "192.131.28.0/23",
                        "192.131.30.0/24",
                        "192.148.116.0/22",
                        "192.148.120.0/21",
                        "192.148.128.0/19",
                        "192.148.160.0/22",
                        "192.148.164.0/23",
                        "192.195.197.0/24",
                        "192.67.84.0/24",
                        "192.70.219.0/24",
                        "192.73.66.0/24",
                        "192.74.139.0/24",
                        "192.74.140.0/22",
                        "192.74.144.0/20",
                        "192.74.160.0/19",
                        "192.74.192.0/20",
                        "192.74.208.0/24",
                        "192.82.143.0/24",
                        "202.1.240.0/20",
                        "202.1.240.0/23",
                        "202.1.240.0/24",
                        "202.1.241.0/24",
                        "202.1.255.0/24",
                        "202.12.128.0/18",
                        "202.12.192.0/19",
                        "202.12.224.0/20",
                        "202.12.240.0/23",
                        "202.12.242.0/24",
                        "202.160.127.0/24",
                        "202.36.14.0/24",
                        "202.47.86.0/24",
                        "202.7.64.0/19",
                        "202.74.252.0/24",
                        "202.93.155.0/24",
                        "203.100.224.0/19",
                        "203.11.0.0/24",
                        "203.11.4.0/24",
                        "203.12.144.0/21",
                        "203.12.231.0/24",
                        "203.12.42.0/24",
                        "203.12.97.0/24",
                        "203.13.21.0/24",
                        "203.13.76.0/24",
                        "203.13.77.0/24",
                        "203.14.0.0/20",
                        "203.143.192.0/18",
                        "203.143.192.0/19",
                        "203.143.224.0/19",
                        "203.15.254.0/24",
                        "203.15.68.0/24",
                        "203.16.180.0/22",
                        "203.17.162.0/24",
                        "203.17.40.0/21",
                        "203.18.112.0/20",
                        "203.18.34.0/23",
                        "203.18.34.0/24",
                        "203.18.35.0/24",
                        "203.18.76.0/23",
                        "203.2.125.0/24",
                        "203.2.228.0/24",
                        "203.21.49.0/24",
                        "203.21.50.0/24",
                        "203.21.51.0/24",
                        "203.21.52.0/24",
                        "203.21.53.0/24",
                        "203.21.54.0/24",
                        "203.21.55.0/24",
                        "203.21.56.0/24",
                        "203.21.57.0/24",
                        "203.21.58.0/24",
                        "203.21.59.0/24",
                        "203.21.63.0/24",
                        "203.22.129.0/24",
                        "203.22.83.0/24",
                        "203.23.20.0/24",
                        "203.23.21.0/24",
                        "203.23.75.0/24",
                        "203.23.86.0/24",
                        "203.24.134.0/23",
                        "203.24.170.0/24",
                        "203.25.230.0/23",
                        "203.25.245.0/24",
                        "203.26.175.0/24",
                        "203.26.184.0/24",
                        "203.26.245.0/24",
                        "203.26.8.0/22",
                        "203.27.128.0/18",
                        "203.27.193.0/24",
                        "203.27.237.0/24",
                        "203.27.56.0/24",
                        "203.27.69.0/24",
                        "203.28.167.0/24",
                        "203.29.160.0/20",
                        "203.30.244.0/24",
                        "203.30.92.0/22",
                        "203.30.92.0/23",
                        "203.30.94.0/23",
                        "203.31.4.0/24",
                        "203.31.5.0/24",
                        "203.33.197.0/24",
                        "203.34.228.0/24",
                        "203.34.229.0/24",
                        "203.34.33.0/24",
                        "203.34.68.0/24",
                        "203.35.0.0/16",
                        "203.36.0.0/14",
                        "203.4.192.0/24",
                        "203.4.193.0/24",
                        "203.4.194.0/24",
                        "203.4.195.0/24",
                        "203.4.196.0/24",
                        "203.40.0.0/13",
                        "203.48.0.0/14",
                        "203.5.58.0/24",
                        "203.52.0.0/15",
                        "203.54.0.0/16",
                        "203.58.128.0/17",
                        "203.58.32.0/19",
                        "203.58.64.0/18",
                        "203.6.143.0/24",
                        "203.62.148.0/22",
                        "203.62.205.0/24",
                        "203.62.248.0/21",
                        "203.9.190.0/23",
                        "203.92.224.0/19",
                        "203.92.224.0/20",
                        "203.92.224.0/21",
                        "203.92.224.0/22",
                        "203.92.224.0/23",
                        "203.92.224.0/24",
                        "203.92.225.0/24",
                        "203.92.226.0/23",
                        "203.92.226.0/24",
                        "203.92.227.0/24",
                        "203.92.228.0/22",
                        "203.92.228.0/23",
                        "203.92.228.0/24",
                        "203.92.229.0/24",
                        "203.92.230.0/23",
                        "203.92.230.0/24",
                        "203.92.231.0/24",
                        "203.92.232.0/21",
                        "203.92.232.0/22",
                        "203.92.232.0/23",
                        "203.92.232.0/24",
                        "203.92.233.0/24",
                        "203.92.234.0/23",
                        "203.92.234.0/24",
                        "203.92.235.0/24",
                        "203.92.236.0/22",
                        "203.92.236.0/23",
                        "203.92.236.0/24",
                        "203.92.237.0/24",
                        "203.92.238.0/23",
                        "203.92.238.0/24",
                        "203.92.239.0/24",
                        "203.92.240.0/20",
                        "203.92.240.0/21",
                        "203.92.240.0/22",
                        "203.92.240.0/23",
                        "203.92.240.0/24",
                        "203.92.241.0/24",
                        "203.92.242.0/23",
                        "203.92.242.0/24",
                        "203.92.243.0/24",
                        "203.92.244.0/22",
                        "203.92.244.0/23",
                        "203.92.244.0/24",
                        "203.92.245.0/24",
                        "203.92.246.0/23",
                        "203.92.246.0/24",
                        "203.92.247.0/24",
                        "203.92.248.0/21",
                        "203.92.248.0/22",
                        "203.92.248.0/23",
                        "203.92.248.0/24",
                        "203.92.249.0/24",
                        "203.92.250.0/23",
                        "203.92.250.0/24",
                        "203.92.251.0/24",
                        "203.92.252.0/22",
                        "203.92.252.0/23",
                        "203.92.252.0/24",
                        "203.92.253.0/24",
                        "203.92.254.0/23",
                        "203.92.254.0/24",
                        "203.92.255.0/24",
                        "210.23.128.0/19",
                        "58.160.0.0/12",
                        "60.224.0.0/13",
                        "61.8.0.0/19",
                        "61.9.128.0/17"],
                     "AS2764"=>
                       ["118.107.144.0/24",
                        "118.107.151.0/24",
                        "147.76.241.0/24",
                        "147.76.28.0/24",
                        "147.76.52.0/24",
                        "147.76.53.0/24",
                        "203.24.208.0/24",
                        "203.55.9.0/24"],
                     "AS7474"=>
                       ["103.126.25.0/24",
                        "103.77.128.0/24",
                        "147.76.21.0/24",
                        "202.129.218.0/24",
                        "203.10.243.0/24",
                        "203.11.1.0/24",
                        "203.6.0.0/18",
                        "203.6.217.0/24",
                        "203.6.222.0/24",
                        "203.6.223.0/24"],
                     "AS7657"=>[],
                     "AS4565"=>[],
                     "AS5650"=>[],
                     "AS6461"=>["103.139.130.0/23"]},
                  :ipv6=>
                    {"AS703"=>[],
                     "AS1221"=>["2001:8000::/20", "2401:a480::/48", "2402:6580::/32"],
                     "AS2764"=>[],
                     "AS7474"=>["2402:13c0:1::/48", "2402:13c0::/48", "2405:9000::/32"],
                     "AS7657"=>[],
                     "AS4565"=>[],
                     "AS5650"=>[],
                     "AS6461"=>["2001:df0:7c80::/48"]}}
              )
      end
    end

    describe 'nested route-set' do
      subject {send_query(whois, 'RS-RR-COUDERSPORT')}

      it 'returns the same result as Whois database' do
        expect(subject['RS-RR-COUDERSPORT'])
          .to eq(
                {:ipv4 => {nil => ["71.74.32.0/20", "75.180.128.0/19", "107.14.160.0/20"]},
                 :ipv6 => {nil => []}}
              )
      end
    end

    describe 'members with a comment' do
      subject {send_query('whois.ripe.net', 'AS16086:AS-CUST-FI', source: :ripe)}

      it 'returns the same result as Whois database' do
        expect(subject['AS16086:AS-CUST-FI'])
          .to eq(
                {:ipv4=>
                   {"AS16086"=>
                      ["109.108.0.0/19",
                       "143.51.128.0/17",
                       "146.211.0.0/16",
                       "157.94.16.0/24",
                       "159.255.224.0/19",
                       "176.93.0.0/16",
                       "178.55.0.0/16",
                       "178.75.128.0/18",
                       "185.15.212.0/22",
                       "185.174.24.0/22",
                       "185.196.4.0/22",
                       "185.248.34.0/24",
                       "185.55.32.0/22",
                       "188.67.0.0/16",
                       "188.94.64.0/21",
                       "192.102.52.0/24",
                       "192.107.200.0/21",
                       "192.107.208.0/20",
                       "192.107.224.0/21",
                       "192.49.54.0/24",
                       "192.49.90.0/24",
                       "192.98.100.0/24",
                       "193.143.225.0/24",
                       "193.143.70.0/23",
                       "193.143.73.0/24",
                       "193.143.79.0/24",
                       "193.143.80.0/21",
                       "193.143.88.0/23",
                       "193.143.91.0/24",
                       "193.143.93.0/24",
                       "193.143.94.0/23",
                       "193.234.216.0/22",
                       "194.100.0.0/16",
                       "195.10.128.0/18",
                       "195.234.142.0/24",
                       "195.234.196.0/22",
                       "195.95.208.0/23",
                       "212.146.0.0/18",
                       "212.149.128.0/17",
                       "212.50.128.0/19",
                       "212.86.0.0/19",
                       "212.90.64.0/19",
                       "213.139.160.0/19",
                       "213.141.96.0/19",
                       "213.186.224.0/19",
                       "213.186.224.0/24",
                       "213.216.192.0/18",
                       "213.243.128.0/18",
                       "217.78.192.0/19",
                       "37.130.160.0/19",
                       "37.136.0.0/16",
                       "37.219.0.0/16",
                       "37.33.0.0/16",
                       "62.113.160.0/19",
                       "62.165.128.0/18",
                       "62.183.128.0/17",
                       "62.197.160.0/19",
                       "62.236.0.0/15",
                       "62.241.192.0/18",
                       "62.44.192.0/18",
                       "62.78.128.0/17",
                       "62.78.96.0/19",
                       "78.27.64.0/18",
                       "80.64.0.0/20",
                       "81.175.128.0/17",
                       "82.128.128.0/17",
                       "82.181.0.0/16",
                       "82.203.128.0/17",
                       "83.100.0.0/17",
                       "83.102.0.0/17",
                       "84.253.192.0/18",
                       "85.131.0.0/17",
                       "85.23.0.0/16",
                       "87.100.128.0/17",
                       "87.92.0.0/14",
                       "88.148.128.0/17",
                       "89.166.0.0/17",
                       "89.27.0.0/17",
                       "91.145.64.0/18"],
                    "AS12375"=>[],
                    "AS12918"=>[],
                    "AS15501"=>[],
                    "AS15970"=>[],
                    "AS20542"=>[],
                    "AS49422"=>[],
                    "AS6793"=>[],
                    "AS8236"=>["193.105.76.0/24", "195.244.80.0/21"],
                    "AS29282"=>
                      ["158.90.128.0/17",
                       "217.69.48.0/20",
                       "77.95.144.0/21",
                       "77.95.144.0/22"],
                    "AS48156"=>
                      ["158.127.0.0/16",
                       "158.127.128.0/18",
                       "158.127.16.0/20",
                       "158.127.192.0/19",
                       "158.127.20.0/22",
                       "158.127.24.0/21",
                       "158.127.240.0/20",
                       "158.127.32.0/19",
                       "158.127.64.0/18",
                       "158.127.8.0/21",
                       "193.211.44.0/24",
                       "194.137.237.0/24",
                       "194.137.237.224/27",
                       "194.137.36.0/24",
                       "194.137.38.0/24",
                       "195.165.77.0/24"],
                    "AS49762"=>["195.211.16.0/22"],
                    "AS62357"=>
                      ["141.98.192.0/22",
                       "141.98.192.0/23",
                       "141.98.194.0/23",
                       "185.39.184.0/22",
                       "185.39.184.0/26",
                       "193.143.192.0/19",
                       "193.143.192.0/22",
                       "193.143.192.0/23",
                       "193.143.194.0/23",
                       "193.143.195.0/24",
                       "193.143.206.0/24",
                       "193.143.253.0/24",
                       "92.118.4.0/22",
                       "92.118.4.0/23",
                       "92.118.6.0/23"],
                    "AS201964"=>["185.55.84.0/22", "31.187.84.0/22"],
                    "AS202180"=>["185.39.128.0/22"],
                    "AS375"=>
                      ["131.207.0.0/17",
                       "131.207.0.0/18",
                       "131.207.0.0/19",
                       "131.207.100.0/23",
                       "131.207.103.0/24",
                       "131.207.104.0/21",
                       "131.207.112.0/21",
                       "131.207.120.0/22",
                       "131.207.124.0/23",
                       "131.207.32.0/21",
                       "131.207.40.0/24",
                       "131.207.44.0/22",
                       "131.207.48.0/20",
                       "131.207.64.0/19",
                       "131.207.96.0/22",
                       "192.163.145.0/24",
                       "192.49.0.0/21",
                       "192.49.10.0/24",
                       "192.49.100.0/23",
                       "192.49.100.0/24",
                       "192.49.101.0/24",
                       "192.49.103.0/24",
                       "192.49.104.0/24",
                       "192.49.106.0/23",
                       "192.49.108.0/22",
                       "192.49.109.0/24",
                       "192.49.111.0/24",
                       "192.49.112.0/24",
                       "192.49.113.0/24",
                       "192.49.114.0/23",
                       "192.49.119.0/24",
                       "192.49.120.0/22",
                       "192.49.124.0/23",
                       "192.49.126.0/24",
                       "192.49.131.0/24",
                       "192.49.134.0/24",
                       "192.49.136.0/23",
                       "192.49.139.0/24",
                       "192.49.140.0/23",
                       "192.49.144.0/24",
                       "192.49.146.0/24",
                       "192.49.148.0/22",
                       "192.49.152.0/21",
                       "192.49.160.0/23",
                       "192.49.163.0/24",
                       "192.49.164.0/22",
                       "192.49.168.0/23",
                       "192.49.170.0/24",
                       "192.49.173.0/24",
                       "192.49.174.0/23",
                       "192.49.175.0/24",
                       "192.49.176.0/20",
                       "192.49.177.0/24",
                       "192.49.178.0/23",
                       "192.49.180.0/22",
                       "192.49.184.0/21",
                       "192.49.19.0/24",
                       "192.49.192.0/18",
                       "192.49.20.0/24",
                       "192.49.22.0/24",
                       "192.49.36.0/22",
                       "192.49.36.0/24",
                       "192.49.40.0/23",
                       "192.49.52.0/23",
                       "192.49.55.0/24",
                       "192.49.56.0/21",
                       "192.49.64.0/22",
                       "192.49.64.0/23",
                       "192.49.67.0/24",
                       "192.49.68.0/24",
                       "192.49.70.0/23",
                       "192.49.72.0/24",
                       "192.49.73.0/24",
                       "192.49.86.0/23",
                       "192.49.88.0/24",
                       "192.49.91.0/24",
                       "192.49.92.0/22",
                       "192.49.96.0/24",
                       "192.49.98.0/23",
                       "192.49.99.0/24"],
                    "AS3222"=>
                      ["164.5.128.0/18",
                       "164.5.128.0/23",
                       "164.5.160.0/19",
                       "164.5.224.0/19",
                       "185.16.168.0/22",
                       "77.95.240.0/21"],
                    "AS3274"=>
                      ["193.28.203.0/24",
                       "81.20.224.0/20",
                       "81.20.224.0/24",
                       "81.20.225.0/24",
                       "81.20.226.0/24",
                       "81.20.227.0/24",
                       "81.20.228.0/24",
                       "81.20.229.0/24",
                       "81.20.230.0/24",
                       "81.20.231.0/24",
                       "81.20.232.0/24",
                       "81.20.233.0/24",
                       "81.20.234.0/24",
                       "81.20.235.0/24",
                       "81.20.236.0/24",
                       "81.20.237.0/24",
                       "81.20.238.0/24",
                       "81.20.239.0/24"],
                    "AS3573"=>["159.167.188.0/22", "194.146.68.0/24", "194.146.69.0/24"],
                    "AS5420"=>
                      ["192.40.72.0/24",
                       "192.40.73.0/24",
                       "192.40.74.0/24",
                       "192.40.75.0/24",
                       "192.40.76.0/22"],
                    "AS6839"=>["89.200.192.0/21"],
                    "AS6852"=>["193.169.100.0/23"],
                    "AS12630"=>["185.207.84.0/22", "212.68.0.0/19"],
                    "AS20571"=>["217.169.64.0/20", "217.169.64.0/21", "217.169.64.0/22"],
                    "AS20774"=>[],
                    "AS21348"=>["80.246.144.0/20", "80.95.128.0/20"],
                    "AS21490"=>
                      ["193.110.64.0/22",
                       "193.110.64.0/24",
                       "193.110.65.0/24",
                       "193.110.66.0/24",
                       "193.110.67.0/24"],
                    "AS25213"=>["134.37.0.0/16"],
                    "AS29093"=>["193.143.128.0/23", "195.234.135.0/24"],
                    "AS29293"=>["91.221.238.0/23"],
                    "AS34541"=>["185.193.76.0/22", "217.112.192.0/20"],
                    "AS39194"=>["185.143.60.0/22", "83.146.192.0/18"],
                    "AS39662"=>
                      ["87.239.120.0/21",
                       "87.239.122.0/24",
                       "93.190.96.0/21",
                       "93.190.99.0/24"],
                    "AS41701"=>
                      ["132.155.0.0/16",
                       "132.155.56.0/22",
                       "145.247.0.0/16",
                       "145.247.0.0/24",
                       "145.247.254.0/24",
                       "145.247.255.0/24",
                       "157.129.0.0/16",
                       "157.129.127.0/24",
                       "192.165.244.0/24",
                       "194.103.234.0/23",
                       "194.103.235.0/24"],
                    "AS41808"=>["89.17.64.0/19"],
                    "AS41878"=>["217.29.224.0/20", "217.29.228.0/24"],
                    "AS42252"=>["77.72.56.0/21", "91.194.214.0/23", "91.194.240.0/23"],
                    "AS42540"=>["185.43.120.0/22", "91.123.128.0/20"],
                    "AS42885"=>["185.225.120.0/22", "77.234.96.0/19"],
                    "AS43792"=>["91.198.120.0/24"],
                    "AS49059"=>["87.236.168.0/21", "87.236.169.0/24"],
                    "AS49670"=>["91.213.161.0/24"],
                    "AS50420"=>["193.104.217.0/24", "194.68.115.0/24"],
                    "AS51473"=>["83.216.0.0/19"],
                    "AS51726"=>["91.219.172.0/22"],
                    "AS52004"=>["185.52.164.0/22", "91.220.241.0/24"],
                    "AS52170"=>["91.224.4.0/23"],
                    "AS61395"=>["5.83.56.0/21", "5.83.56.0/22", "5.83.60.0/22"],
                    "AS41747"=>["194.0.80.0/22"],
                    "AS13813"=>["185.175.28.0/22", "185.175.28.0/24"],
                    "AS200656"=>
                      ["131.228.0.0/21",
                       "131.228.2.0/23",
                       "131.228.32.0/24",
                       "131.228.38.0/24",
                       "131.228.88.0/24",
                       "149.204.204.0/22",
                       "87.254.192.0/21",
                       "87.254.194.0/24",
                       "87.254.196.0/24",
                       "87.254.208.0/23",
                       "87.254.208.0/24",
                       "87.254.209.0/24",
                       "87.254.210.0/23",
                       "87.254.212.0/24",
                       "87.254.213.0/24",
                       "87.254.214.0/23",
                       "87.254.215.0/24",
                       "87.254.216.0/21",
                       "87.254.217.0/24",
                       "87.254.218.0/24",
                       "87.254.220.0/24",
                       "87.254.221.0/24",
                       "87.254.222.0/24",
                       "93.183.0.0/21",
                       "93.183.0.0/24",
                       "93.183.1.0/24",
                       "93.183.12.0/23",
                       "93.183.15.0/24",
                       "93.183.2.0/24",
                       "93.183.20.0/23",
                       "93.183.20.0/24",
                       "93.183.21.0/24",
                       "93.183.24.0/24",
                       "93.183.25.0/24",
                       "93.183.26.0/24",
                       "93.183.27.0/24",
                       "93.183.3.0/24",
                       "93.183.31.0/24",
                       "93.183.4.0/24",
                       "93.183.5.0/24",
                       "93.183.6.0/24",
                       "93.183.7.0/24"],
                    "AS34387"=>
                      ["85.188.0.0/18", "85.188.16.0/20", "85.188.32.0/19", "85.188.8.0/21"],
                    "AS49802"=>["91.213.97.0/24"],
                    "AS48652"=>["195.8.60.0/23"],
                    "AS60616"=>[],
                    "AS28883"=>["185.251.48.0/22", "194.240.69.0/24", "195.237.80.0/24"],
                    "AS41264"=>[],
                    "AS60109"=>["185.57.180.0/22", "37.16.100.0/22", "37.16.108.0/23"],
                    "AS56900"=>["109.69.120.0/21"],
                    "AS50290"=>
                      ["109.69.32.0/21",
                       "109.69.32.0/22",
                       "185.74.174.0/23",
                       "185.74.174.0/24",
                       "31.15.124.0/22",
                       "46.30.130.0/23",
                       "46.30.132.0/22"],
                    "AS206520"=>["185.184.44.0/24"],
                    "AS198514"=>
                      ["109.70.176.0/21",
                       "109.70.176.0/24",
                       "109.70.177.0/24",
                       "109.70.178.0/24",
                       "109.70.179.0/24",
                       "109.70.180.0/24",
                       "109.70.181.0/24",
                       "109.70.182.0/24",
                       "109.70.183.0/24",
                       "37.114.80.0/21",
                       "37.114.80.0/22",
                       "37.114.84.0/23",
                       "37.114.87.0/24",
                       "46.231.192.0/21",
                       "46.231.192.0/24",
                       "46.231.193.0/24",
                       "46.231.194.0/24",
                       "46.231.196.0/24",
                       "46.231.197.0/24",
                       "46.231.198.0/24",
                       "46.231.199.0/24"],
                    "AS206927"=>
                      ["185.171.176.0/22",
                       "185.171.176.0/24",
                       "185.171.177.0/24",
                       "185.171.178.0/24",
                       "185.171.179.0/24"],
                    "AS60414"=>
                      ["185.31.136.0/22",
                       "185.31.136.0/24",
                       "85.194.238.0/23",
                       "85.194.239.0/24",
                       "89.44.211.0/24"],
                    "AS41561"=>["193.201.244.0/22", "195.78.70.0/23"],
                    "AS203296"=>["185.139.168.0/22"],
                    "AS202407"=>["193.56.196.0/22"],
                    "AS395266"=>[],
                    "AS206175"=>
                      ["62.148.100.0/24",
                       "62.148.101.0/24",
                       "62.148.102.0/24",
                       "62.148.103.0/24",
                       "62.148.104.0/24",
                       "62.148.105.0/24",
                       "62.148.106.0/24",
                       "62.148.107.0/24",
                       "62.148.108.0/24",
                       "62.148.109.0/24",
                       "62.148.110.0/24",
                       "62.148.111.0/24",
                       "62.148.112.0/24",
                       "62.148.113.0/24",
                       "62.148.114.0/24",
                       "62.148.115.0/24",
                       "62.148.116.0/24",
                       "62.148.117.0/24",
                       "62.148.118.0/24",
                       "62.148.119.0/24",
                       "62.148.120.0/24",
                       "62.148.121.0/24",
                       "62.148.122.0/24",
                       "62.148.123.0/24",
                       "62.148.124.0/24",
                       "62.148.125.0/24",
                       "62.148.126.0/24",
                       "62.148.127.0/24",
                       "62.148.96.0/19",
                       "62.148.96.0/24",
                       "62.148.97.0/24",
                       "62.148.98.0/24",
                       "62.148.99.0/24"],
                    "AS201750"=>
                      ["185.252.116.0/22",
                       "185.252.116.0/24",
                       "185.252.117.0/24",
                       "185.252.118.0/24",
                       "185.252.119.0/24"],
                    "AS196904"=>
                      ["185.16.192.0/22",
                       "185.16.194.0/24",
                       "185.16.195.0/24",
                       "193.105.57.0/24"],
                    "AS8145"=>
                      ["85.208.92.0/22",
                       "85.208.92.0/24",
                       "85.208.93.0/24",
                       "85.208.94.0/24",
                       "85.208.95.0/24"],
                    "AS209633"=>["139.28.184.0/22"],
                    "AS15786"=>["185.118.232.0/22"],
                    "AS207390"=>["185.151.248.0/22"],
                    "AS60937"=>["185.230.176.0/22"],
                    "AS198936"=>
                      ["185.159.238.0/23",
                       "91.105.248.0/21",
                       "91.105.248.0/24",
                       "91.105.249.0/24",
                       "91.105.250.0/24",
                       "91.105.251.0/24",
                       "91.105.252.0/24",
                       "91.105.253.0/24",
                       "91.105.254.0/24",
                       "91.105.255.0/24",
                       "185.159.238.0/23",
                       "91.105.248.0/21",
                       "91.105.248.0/24",
                       "91.105.249.0/24",
                       "91.105.250.0/24",
                       "91.105.251.0/24",
                       "91.105.252.0/24",
                       "91.105.253.0/24",
                       "91.105.254.0/24",
                       "91.105.255.0/24",
                       "185.159.238.0/23",
                       "91.105.248.0/21",
                       "91.105.248.0/24",
                       "91.105.249.0/24",
                       "91.105.250.0/24",
                       "91.105.251.0/24",
                       "91.105.252.0/24",
                       "91.105.253.0/24",
                       "91.105.254.0/24",
                       "91.105.255.0/24"],
                    "AS60903"=>["185.128.160.0/22"],
                    "AS206860"=>["85.202.201.0/24"],
                    "AS207509"=>["185.25.94.0/24"],
                    "AS207065"=>
                      ["185.119.128.0/22",
                       "185.120.48.0/22",
                       "185.165.132.0/22",
                       "185.166.184.0/22",
                       "185.206.176.0/22",
                       "185.242.148.0/24",
                       "185.249.48.0/22",
                       "45.87.200.0/22"],
                    "AS212574"=>["185.153.232.0/24"],
                    "AS212664"=>["45.157.104.0/22"],
                    "AS198024"=>
                      ["185.116.32.0/22",
                       "185.124.88.0/22",
                       "185.124.92.0/22",
                       "185.127.60.0/22",
                       "185.127.72.0/22",
                       "185.127.84.0/22",
                       "185.191.192.0/22",
                       "185.31.68.0/22",
                       "185.59.116.0/22",
                       "193.142.176.0/21",
                       "193.142.184.0/22",
                       "31.172.152.0/21",
                       "37.44.48.0/21",
                       "45.88.44.0/22"],
                    "AS211929"=>["185.230.198.0/24"],
                    "AS211799"=>["185.40.17.0/24"],
                    "AS199486"=>
                      ["185.214.156.0/24",
                       "185.214.157.0/24",
                       "185.214.158.0/24",
                       "185.214.159.0/24",
                       "31.47.64.0/21",
                       "185.214.156.0/24",
                       "185.214.157.0/24",
                       "185.214.158.0/24",
                       "185.214.159.0/24",
                       "31.47.64.0/21"],
                    "AS211135"=>[],
                    "AS49282"=>
                      ["164.215.32.0/21",
                       "185.162.156.0/22",
                       "185.18.76.0/22",
                       "85.194.204.0/22",
                       "91.194.27.0/24",
                       "95.175.124.0/22",
                       "95.175.96.0/19"],
                    "AS198243"=>[],
                    "AS200087"=>["185.37.132.0/22"],
                    "AS16273"=>
                      ["193.110.108.0/23",
                       "193.110.108.0/24",
                       "46.228.128.0/23",
                       "46.228.128.0/24",
                       "46.228.129.0/24",
                       "46.228.130.0/23",
                       "46.228.132.0/23",
                       "46.228.134.0/23",
                       "46.228.141.0/24",
                       "46.228.143.0/24"],
                    "AS201057"=>["185.87.108.0/22"],
                    "AS201056"=>["46.228.140.0/24"],
                    "AS61340"=>
                      ["185.10.196.0/22",
                       "185.10.196.0/24",
                       "185.10.197.0/24",
                       "185.10.198.0/24",
                       "185.10.199.0/24"],
                    "AS203899"=>[],
                    "AS31639"=>["185.28.247.0/24"],
                    "AS206381"=>["185.186.40.0/22", "91.237.151.0/24"],
                    "AS199231"=>
                      ["185.4.228.0/22",
                       "213.135.92.0/24",
                       "185.4.228.0/22",
                       "213.135.92.0/24"],
                    "AS203391"=>
                      ["185.136.96.0/24",
                       "185.136.97.0/24",
                       "185.136.98.0/24",
                       "185.136.99.0/24"],
                    "AS205436"=>
                      ["185.156.20.0/22",
                       "185.156.20.0/23",
                       "185.156.20.0/24",
                       "185.156.21.0/24",
                       "185.156.22.0/23",
                       "185.156.22.0/24",
                       "185.156.23.0/24"],
                    "AS1342"=>
                      ["141.192.0.0/16",
                       "185.205.0.0/22",
                       "185.205.0.0/24",
                       "185.205.1.0/24",
                       "185.205.2.0/24",
                       "185.205.3.0/24",
                       "185.231.144.0/22",
                       "193.105.160.0/24",
                       "213.138.128.0/19",
                       "213.214.128.0/18"],
                    "AS20861"=>
                      ["140.150.0.0/16",
                       "185.101.56.0/22",
                       "192.16.147.0/24",
                       "80.67.192.0/20"],
                    "AS202677"=>
                      ["185.231.144.0/23",
                       "185.231.144.0/24",
                       "185.231.145.0/24",
                       "213.214.160.0/21",
                       "213.214.160.0/24",
                       "213.214.161.0/24",
                       "213.214.162.0/24",
                       "213.214.163.0/24",
                       "213.214.164.0/24",
                       "213.214.165.0/24",
                       "213.214.166.0/24",
                       "213.214.167.0/24"],
                    "AS20569"=>[],
                    "AS30978"=>["82.199.224.0/19"],
                    "AS24713"=>["185.134.88.0/22", "80.248.160.0/20", "81.22.160.0/20"],
                    "AS397681"=>[],
                    "AS29240"=>
                      ["185.118.224.0/22",
                       "185.217.236.0/22",
                       "185.244.244.0/22",
                       "185.77.244.0/22",
                       "193.142.1.0/24",
                       "193.142.16.0/23",
                       "193.143.100.0/22",
                       "193.143.100.0/24",
                       "193.143.104.0/21",
                       "193.143.112.0/22",
                       "193.143.116.0/23",
                       "193.143.118.0/24",
                       "193.143.99.0/24",
                       "195.225.176.0/22",
                       "213.255.160.0/19",
                       "213.255.162.0/23",
                       "213.255.164.0/23",
                       "213.255.176.0/23",
                       "213.255.178.0/23",
                       "213.255.188.0/23",
                       "213.255.190.0/23"],
                    "AS29243"=>["109.163.208.0/21", "185.168.212.0/22", "80.83.0.0/20"],
                    "AS39242"=>["109.70.160.0/21", "185.159.236.0/24", "81.19.112.0/20"],
                    "AS51164"=>
                      ["157.94.0.0/16",
                       "178.217.128.0/21",
                       "185.93.48.0/22",
                       "192.26.111.0/24",
                       "46.255.192.0/21"],
                    "AS20574"=>["178.21.80.0/21", "185.119.100.0/22", "193.108.42.0/23"],
                    "AS210167"=>["194.147.80.0/22"],
                    "AS62022"=>["185.50.244.0/22"],
                    "AS202053"=>
                      ["109.71.54.0/24",
                       "109.71.55.0/24",
                       "185.20.136.0/22",
                       "185.26.48.0/22",
                       "185.70.196.0/22",
                       "194.39.109.0/24",
                       "194.62.96.0/22",
                       "5.22.208.0/21",
                       "5.22.216.0/21",
                       "5.253.32.0/22",
                       "80.69.172.0/22",
                       "83.136.248.0/21",
                       "94.237.0.0/24",
                       "94.237.1.0/24",
                       "94.237.104.0/22",
                       "94.237.108.0/22",
                       "94.237.112.0/21",
                       "94.237.120.0/22",
                       "94.237.124.0/23",
                       "94.237.126.0/24",
                       "94.237.16.0/21",
                       "94.237.2.0/23",
                       "94.237.24.0/21",
                       "94.237.32.0/21",
                       "94.237.4.0/22",
                       "94.237.40.0/21",
                       "94.237.48.0/20",
                       "94.237.64.0/20",
                       "94.237.8.0/21",
                       "94.237.80.0/20",
                       "94.237.96.0/21",
                       "95.111.192.0/20",
                       "95.111.192.0/21",
                       "95.111.200.0/21",
                       "95.111.208.0/21",
                       "95.111.216.0/21"],
                    "AS25697"=>["194.113.72.0/22", "5.57.208.0/24"],
                    "AS39324"=>
                      ["185.163.56.0/22",
                       "185.179.236.0/24",
                       "185.179.237.0/24",
                       "185.179.238.0/24",
                       "217.64.32.0/20",
                       "81.22.240.0/20",
                       "91.227.187.0/24",
                       "91.227.192.0/23",
                       "185.163.56.0/22",
                       "185.179.236.0/24",
                       "185.179.237.0/24",
                       "185.179.238.0/24",
                       "217.64.32.0/20",
                       "81.22.240.0/20",
                       "91.227.187.0/24",
                       "91.227.192.0/23"],
                    "AS58065"=>
                      ["107.150.94.0/24",
                       "176.103.122.0/23",
                       "5.157.12.0/24",
                       "5.157.19.0/24",
                       "5.157.21.0/24",
                       "5.157.26.0/24",
                       "5.157.34.0/24",
                       "5.157.51.0/24",
                       "91.108.182.0/24"],
                    "AS206804"=>
                      ["141.98.212.0/24",
                       "141.98.213.0/24",
                       "141.98.214.0/24",
                       "141.98.215.0/24",
                       "185.195.236.0/24",
                       "185.195.237.0/24",
                       "185.221.132.0/24",
                       "185.227.68.0/24",
                       "185.234.73.0/24",
                       "185.51.134.0/24",
                       "193.36.116.0/24",
                       "193.36.117.0/24",
                       "193.36.118.0/24",
                       "193.36.119.0/24",
                       "195.80.148.0/24",
                       "195.80.149.0/24",
                       "195.80.150.0/24",
                       "195.80.151.0/24",
                       "45.128.132.0/24",
                       "45.128.133.0/24",
                       "45.128.134.0/24",
                       "45.128.135.0/24",
                       "45.133.192.0/23",
                       "45.133.194.0/24",
                       "45.133.195.0/24",
                       "45.138.84.0/24",
                       "45.138.85.0/24",
                       "45.138.86.0/24",
                       "45.138.87.0/24",
                       "5.8.16.0/24",
                       "91.196.70.0/24"],
                    "AS201422"=>
                      ["185.75.128.0/22",
                       "185.75.128.0/24",
                       "185.75.129.0/24",
                       "185.75.130.0/24"],
                    "AS59397"=>["185.75.129.0/24", "185.75.130.0/24", "185.75.131.0/24"],
                    "AS57692"=>
                      ["194.146.111.0/24",
                       "91.232.154.0/24",
                       "91.232.155.0/24",
                       "91.232.156.0/24"],
                    "AS205449"=>["185.218.88.0/22"],
                    "AS50503"=>["109.204.128.0/17", "185.128.16.0/22"],
                    "AS35382"=>["5.23.56.0/21", "83.143.216.0/21"],
                    "AS203602"=>["185.255.244.0/22"],
                    "AS41993"=>["185.82.144.0/22"]},
                 :ipv6=>
                   {"AS16086"=>
                      ["2001:14b8::/29",
                       "2001:1b70:81::/48",
                       "2001:4078::/29",
                       "2001:67c:1850::/48",
                       "2001:67c:19b0::/46",
                       "2001:67c:1bb0::/48",
                       "2001:6e8::/29",
                       "2a01:a800::/29",
                       "2a0a:62c0::/32"],
                    "AS12375"=>[],
                    "AS12918"=>[],
                    "AS15501"=>[],
                    "AS15970"=>[],
                    "AS20542"=>[],
                    "AS49422"=>[],
                    "AS6793"=>[],
                    "AS8236"=>[],
                    "AS29282"=>["2a00:9b00::/32"],
                    "AS48156"=>[],
                    "AS49762"=>["2001:67c:245c::/48", "2001:998:82::/48"],
                    "AS62357"=>["2a04:7980::/29", "2a09:1440::/29"],
                    "AS201964"=>["2a02:4820::/32"],
                    "AS202180"=>[],
                    "AS375"=>["2a03:9b80::/34"],
                    "AS3222"=>["2a04:240::/29"],
                    "AS3274"=>["2001:67c:110::/48"],
                    "AS3573"=>
                      ["2a02:ee80:200::/40",
                       "2a02:ee80:2010::/44",
                       "2a02:ee80:2020::/44",
                       "2a02:ee80:2030::/44",
                       "2a02:ee80:2040::/44",
                       "2a02:ee80:300::/40",
                       "2a02:ee80:400c::/47",
                       "2a02:ee80:4010::/47",
                       "2a02:ee80:4010::/48",
                       "2a02:ee80:4011::/48",
                       "2a02:ee80:4012::/47",
                       "2a02:ee80:4012::/48",
                       "2a02:ee80:4014::/47",
                       "2a02:ee80:4014::/48",
                       "2a02:ee80:4015::/48",
                       "2a02:ee80:4016::/47",
                       "2a02:ee80:401e::/47",
                       "2a02:ee80:401e::/48",
                       "2a02:ee80:401f::/48",
                       "2a02:ee80:4020::/47",
                       "2a02:ee80:4020::/48",
                       "2a02:ee80:4021::/48",
                       "2a02:ee80:4022::/47",
                       "2a02:ee80:4022::/48",
                       "2a02:ee80:4023::/48",
                       "2a02:ee80:4024::/47",
                       "2a02:ee80:4024::/48",
                       "2a02:ee80:4025::/48",
                       "2a02:ee80:4026::/47",
                       "2a02:ee80:4026::/48",
                       "2a02:ee80:4027::/48",
                       "2a02:ee80:4028::/47",
                       "2a02:ee80:4028::/48",
                       "2a02:ee80:4029::/48",
                       "2a02:ee80:402a::/47",
                       "2a02:ee80:402a::/48",
                       "2a02:ee80:402b::/48",
                       "2a02:ee80:402c::/47",
                       "2a02:ee80:402c::/48",
                       "2a02:ee80:402d::/48",
                       "2a02:ee80:4034::/47",
                       "2a02:ee80:4038::/47",
                       "2a02:ee80:4040::/47",
                       "2a02:ee80:4046::/47",
                       "2a02:ee80:4048::/47",
                       "2a02:ee80:404a::/47",
                       "2a02:ee80:4054::/47",
                       "2a02:ee80:4054::/48",
                       "2a02:ee80:4055::/48",
                       "2a02:ee80:4060::/47",
                       "2a02:ee80:4065::/48",
                       "2a02:ee80:4066::/47",
                       "2a02:ee80:4066::/48",
                       "2a02:ee80:4067::/48",
                       "2a02:ee80:4068::/47",
                       "2a02:ee80:406a::/47",
                       "2a02:ee80:406a::/48",
                       "2a02:ee80:406b::/48",
                       "2a02:ee80:406c::/47",
                       "2a02:ee80:406c::/48",
                       "2a02:ee80:406d::/48",
                       "2a02:ee80:406e::/47",
                       "2a02:ee80:406e::/48",
                       "2a02:ee80:406f::/48",
                       "2a02:ee80:4070::/47",
                       "2a02:ee80:4070::/48",
                       "2a02:ee80:4071::/48",
                       "2a02:ee80:4072::/47",
                       "2a02:ee80:4074::/47",
                       "2a02:ee80:4074::/48",
                       "2a02:ee80:4075::/48",
                       "2a02:ee80:4076::/47",
                       "2a02:ee80:4076::/48",
                       "2a02:ee80:4077::/48",
                       "2a02:ee80:4078::/47",
                       "2a02:ee80:4078::/48",
                       "2a02:ee80:4079::/48",
                       "2a02:ee80:407a::/47",
                       "2a02:ee80:407c::/47",
                       "2a02:ee80:407c::/48",
                       "2a02:ee80:407d::/48",
                       "2a02:ee80:407e::/47",
                       "2a02:ee80:407e::/48",
                       "2a02:ee80:407f::/48",
                       "2a02:ee80:4080::/47",
                       "2a02:ee80:4080::/48",
                       "2a02:ee80:4081::/48",
                       "2a02:ee80:4082::/47",
                       "2a02:ee80:4082::/48",
                       "2a02:ee80:4083::/48",
                       "2a02:ee80:4084::/47",
                       "2a02:ee80:4084::/48",
                       "2a02:ee80:4085::/48",
                       "2a02:ee80:4086::/47",
                       "2a02:ee80:4086::/48",
                       "2a02:ee80:4087::/48",
                       "2a02:ee80:4088::/47",
                       "2a02:ee80:4088::/48",
                       "2a02:ee80:4089::/48",
                       "2a02:ee80:408a::/47",
                       "2a02:ee80:408c::/47",
                       "2a02:ee80:408e::/47",
                       "2a02:ee80:408e::/48",
                       "2a02:ee80:4090::/47",
                       "2a02:ee80:4090::/48",
                       "2a02:ee80:4092::/47",
                       "2a02:ee80:4094::/47",
                       "2a02:ee80:4094::/48",
                       "2a02:ee80:4095::/48",
                       "2a02:ee80:4096::/47",
                       "2a02:ee80:4096::/48",
                       "2a02:ee80:4097::/48",
                       "2a02:ee80:4098::/47",
                       "2a02:ee80:409a::/47",
                       "2a02:ee80:409a::/48",
                       "2a02:ee80:409c::/47",
                       "2a02:ee80:40a4::/47",
                       "2a02:ee80:40a4::/48",
                       "2a02:ee80:40a5::/48",
                       "2a02:ee80:40a6::/47",
                       "2a02:ee80:40a6::/48",
                       "2a02:ee80:40a7::/48",
                       "2a02:ee80:40a8::/47",
                       "2a02:ee80:40a8::/48",
                       "2a02:ee80:40a9::/48",
                       "2a02:ee80:40aa::/47",
                       "2a02:ee80:40ae::/47",
                       "2a02:ee80:40b0::/47",
                       "2a02:ee80:40b0::/48",
                       "2a02:ee80:40b1::/48",
                       "2a02:ee80:40b8::/47",
                       "2a02:ee80:40b8::/48",
                       "2a02:ee80:40b9::/48",
                       "2a02:ee80:4100::/47",
                       "2a02:ee80:4104::/47",
                       "2a02:ee80:4104::/48",
                       "2a02:ee80:4105::/48",
                       "2a02:ee80:4106::/47",
                       "2a02:ee80:4106::/48",
                       "2a02:ee80:4108::/47",
                       "2a02:ee80:410a::/47",
                       "2a02:ee80:4110::/47",
                       "2a02:ee80:4110::/48",
                       "2a02:ee80:4111::/48",
                       "2a02:ee80:4112::/47",
                       "2a02:ee80:4114::/47",
                       "2a02:ee80:4114::/48",
                       "2a02:ee80:4115::/48",
                       "2a02:ee80:411a::/47",
                       "2a02:ee80:411a::/48",
                       "2a02:ee80:411b::/48",
                       "2a02:ee80:411c::/47",
                       "2a02:ee80:411c::/48",
                       "2a02:ee80:411d::/48",
                       "2a02:ee80:411e::/47",
                       "2a02:ee80:411e::/48",
                       "2a02:ee80:411f::/48",
                       "2a02:ee80:4120::/47",
                       "2a02:ee80:4120::/48",
                       "2a02:ee80:4121::/48",
                       "2a02:ee80:4122::/47",
                       "2a02:ee80:4122::/48",
                       "2a02:ee80:4123::/48",
                       "2a02:ee80:4124::/47",
                       "2a02:ee80:4124::/48",
                       "2a02:ee80:4125::/48",
                       "2a02:ee80:4128::/47",
                       "2a02:ee80:412a::/47",
                       "2a02:ee80:412a::/48",
                       "2a02:ee80:412c::/47",
                       "2a02:ee80:412c::/48",
                       "2a02:ee80:412d::/48",
                       "2a02:ee80:412e::/47",
                       "2a02:ee80:412e::/48",
                       "2a02:ee80:412f::/48",
                       "2a02:ee80:4130::/47",
                       "2a02:ee80:4130::/48",
                       "2a02:ee80:4131::/48",
                       "2a02:ee80:4132::/47",
                       "2a02:ee80:4132::/48",
                       "2a02:ee80:4133::/48",
                       "2a02:ee80:4134::/47",
                       "2a02:ee80:4134::/48",
                       "2a02:ee80:4135::/48",
                       "2a02:ee80:4138::/47",
                       "2a02:ee80:4138::/48",
                       "2a02:ee80:4139::/48",
                       "2a02:ee80:413e::/47",
                       "2a02:ee80:413e::/48",
                       "2a02:ee80:413f::/48",
                       "2a02:ee80:4144::/47",
                       "2a02:ee80:4144::/48",
                       "2a02:ee80:4145::/48",
                       "2a02:ee80:4146::/47",
                       "2a02:ee80:4146::/48",
                       "2a02:ee80:4147::/48",
                       "2a02:ee80:4148::/47",
                       "2a02:ee80:4148::/48",
                       "2a02:ee80:4149::/48",
                       "2a02:ee80:4150::/47",
                       "2a02:ee80:4150::/48",
                       "2a02:ee80:4151::/48",
                       "2a02:ee80:4152::/47",
                       "2a02:ee80:4154::/47",
                       "2a02:ee80:4154::/48",
                       "2a02:ee80:4158::/47",
                       "2a02:ee80:4158::/48",
                       "2a02:ee80:4159::/48",
                       "2a02:ee80:415c::/47",
                       "2a02:ee80:415c::/48",
                       "2a02:ee80:415d::/48",
                       "2a02:ee80:4160::/47",
                       "2a02:ee80:4160::/48",
                       "2a02:ee80:4161::/48",
                       "2a02:ee80:4162::/47",
                       "2a02:ee80:4162::/48",
                       "2a02:ee80:4163::/48",
                       "2a02:ee80:4164::/47",
                       "2a02:ee80:4164::/48",
                       "2a02:ee80:4165::/48",
                       "2a02:ee80:4166::/47",
                       "2a02:ee80:4166::/48",
                       "2a02:ee80:4167::/48",
                       "2a02:ee80:4168::/47",
                       "2a02:ee80:4168::/48",
                       "2a02:ee80:4169::/48",
                       "2a02:ee80:416a::/47",
                       "2a02:ee80:416a::/48",
                       "2a02:ee80:416b::/48",
                       "2a02:ee80:416c::/47",
                       "2a02:ee80:416c::/48",
                       "2a02:ee80:416d::/48",
                       "2a02:ee80:416e::/47",
                       "2a02:ee80:416e::/48",
                       "2a02:ee80:416f::/48",
                       "2a02:ee80:4170::/47",
                       "2a02:ee80:4170::/48",
                       "2a02:ee80:4171::/48",
                       "2a02:ee80:4172::/47",
                       "2a02:ee80:4173::/48",
                       "2a02:ee80:4174::/47",
                       "2a02:ee80:4174::/48",
                       "2a02:ee80:417a::/47",
                       "2a02:ee80:417a::/48",
                       "2a02:ee80:417b::/48",
                       "2a02:ee80:417c::/47",
                       "2a02:ee80:417c::/48",
                       "2a02:ee80:417d::/48",
                       "2a02:ee80:4180::/47",
                       "2a02:ee80:4180::/48",
                       "2a02:ee80:4181::/48",
                       "2a02:ee80:4182::/47",
                       "2a02:ee80:4182::/48",
                       "2a02:ee80:4184::/47",
                       "2a02:ee80:4186::/47",
                       "2a02:ee80:4186::/48",
                       "2a02:ee80:4187::/48",
                       "2a02:ee80:4188::/47",
                       "2a02:ee80:4188::/48",
                       "2a02:ee80:4189::/48",
                       "2a02:ee80:418a::/47",
                       "2a02:ee80:418a::/48",
                       "2a02:ee80:418b::/48",
                       "2a02:ee80:418c::/47",
                       "2a02:ee80:418c::/48",
                       "2a02:ee80:418d::/48",
                       "2a02:ee80:418e::/47",
                       "2a02:ee80:418e::/48",
                       "2a02:ee80:418f::/48",
                       "2a02:ee80:4190::/47",
                       "2a02:ee80:4190::/48",
                       "2a02:ee80:4191::/48",
                       "2a02:ee80:4194::/47",
                       "2a02:ee80:4194::/48",
                       "2a02:ee80:4195::/48",
                       "2a02:ee80:4196::/47",
                       "2a02:ee80:4196::/48",
                       "2a02:ee80:4197::/48",
                       "2a02:ee80:4198::/47",
                       "2a02:ee80:4198::/48",
                       "2a02:ee80:4199::/48",
                       "2a02:ee80:419a::/47",
                       "2a02:ee80:419a::/48",
                       "2a02:ee80:419b::/48",
                       "2a02:ee80:419c::/47",
                       "2a02:ee80:419c::/48",
                       "2a02:ee80:419e::/47",
                       "2a02:ee80:419e::/48",
                       "2a02:ee80:419f::/48",
                       "2a02:ee80:41a0::/47",
                       "2a02:ee80:41a0::/48",
                       "2a02:ee80:41a1::/48",
                       "2a02:ee80:41a2::/47",
                       "2a02:ee80:41a2::/48",
                       "2a02:ee80:41a3::/48",
                       "2a02:ee80:41a8::/48",
                       "2a02:ee80:41a9::/48",
                       "2a02:ee80:41ac::/47",
                       "2a02:ee80:41ac::/48",
                       "2a02:ee80:41ad::/48",
                       "2a02:ee80:41ae::/47",
                       "2a02:ee80:41ae::/48",
                       "2a02:ee80:41af::/48",
                       "2a02:ee80:41b0::/47",
                       "2a02:ee80:41b0::/48",
                       "2a02:ee80:41b1::/48",
                       "2a02:ee80:41ce::/47",
                       "2a02:ee80:41ce::/48",
                       "2a02:ee80:41cf::/48",
                       "2a02:ee80:41d0::/47",
                       "2a02:ee80:41d0::/48",
                       "2a02:ee80:41d1::/48",
                       "2a02:ee80:41d2::/47",
                       "2a02:ee80:41d2::/48",
                       "2a02:ee80:41d3::/48",
                       "2a02:ee80:41d4::/47",
                       "2a02:ee80:41d4::/48",
                       "2a02:ee80:41d5::/48",
                       "2a02:ee80:41d6::/47",
                       "2a02:ee80:41d6::/48",
                       "2a02:ee80:41d7::/48",
                       "2a02:ee80:41e2::/47",
                       "2a02:ee80:41e2::/48",
                       "2a02:ee80:41e3::/48",
                       "2a02:ee80:41e4::/47",
                       "2a02:ee80:41e4::/48",
                       "2a02:ee80:41e5::/48",
                       "2a02:ee80:41ea::/48",
                       "2a02:ee80:41eb::/48",
                       "2a02:ee80:41f2::/47",
                       "2a02:ee80:41f4::/47",
                       "2a02:ee80:41f4::/48",
                       "2a02:ee80:41f5::/48",
                       "2a02:ee80:41f6::/47",
                       "2a02:ee80:41f6::/48",
                       "2a02:ee80:41f7::/48",
                       "2a02:ee80:41fe::/47",
                       "2a02:ee80:41fe::/48",
                       "2a02:ee80:41ff::/48",
                       "2a02:ee80:4200::/47",
                       "2a02:ee80:4200::/48",
                       "2a02:ee80:4201::/48",
                       "2a02:ee80:4202::/47",
                       "2a02:ee80:420c::/47",
                       "2a02:ee80:420c::/48",
                       "2a02:ee80:420d::/48",
                       "2a02:ee80:420e::/47",
                       "2a02:ee80:420e::/48",
                       "2a02:ee80:420f::/48",
                       "2a02:ee80:4210::/47",
                       "2a02:ee80:4210::/48",
                       "2a02:ee80:4211::/48",
                       "2a02:ee80:4216::/47",
                       "2a02:ee80:4216::/48",
                       "2a02:ee80:4217::/48",
                       "2a02:ee80:4218::/47",
                       "2a02:ee80:4218::/48",
                       "2a02:ee80:4219::/48",
                       "2a02:ee80:421a::/47",
                       "2a02:ee80:421a::/48",
                       "2a02:ee80:421b::/48",
                       "2a02:ee80:4220::/47",
                       "2a02:ee80:4220::/48",
                       "2a02:ee80:4221::/48",
                       "2a02:ee80:4222::/47",
                       "2a02:ee80:4222::/48",
                       "2a02:ee80:4223::/48",
                       "2a02:ee80:4226::/47",
                       "2a02:ee80:4226::/48",
                       "2a02:ee80:4227::/48",
                       "2a02:ee80:4228::/47",
                       "2a02:ee80:4228::/48",
                       "2a02:ee80:4229::/48",
                       "2a02:ee80:422a::/47",
                       "2a02:ee80:422a::/48",
                       "2a02:ee80:422b::/48",
                       "2a02:ee80:422c::/47",
                       "2a02:ee80:422c::/48",
                       "2a02:ee80:422d::/48",
                       "2a02:ee80:4236::/47",
                       "2a02:ee80:4236::/48",
                       "2a02:ee80:4237::/48",
                       "2a02:ee80:4238::/47",
                       "2a02:ee80:4238::/48",
                       "2a02:ee80:4239::/48",
                       "2a02:ee80:423a::/47",
                       "2a02:ee80:423a::/48",
                       "2a02:ee80:423b::/48",
                       "2a02:ee80:423c::/47",
                       "2a02:ee80:423c::/48",
                       "2a02:ee80:423d::/48",
                       "2a02:ee80:424a::/47",
                       "2a02:ee80:424a::/48",
                       "2a02:ee80:424b::/48",
                       "2a02:ee80:424c::/47",
                       "2a02:ee80:424c::/48",
                       "2a02:ee80:424d::/48",
                       "2a02:ee80:424e::/47",
                       "2a02:ee80:424e::/48",
                       "2a02:ee80:424f::/48",
                       "2a02:ee80:4250::/47",
                       "2a02:ee80:4250::/48",
                       "2a02:ee80:4251::/48",
                       "2a02:ee80:4252::/47",
                       "2a02:ee80:4252::/48",
                       "2a02:ee80:4253::/48",
                       "2a02:ee80:4254::/47",
                       "2a02:ee80:4254::/48",
                       "2a02:ee80:4255::/48",
                       "2a02:ee80:4256::/47",
                       "2a02:ee80:4256::/48",
                       "2a02:ee80:4257::/48",
                       "2a02:ee80:4258::/47",
                       "2a02:ee80:4258::/48",
                       "2a02:ee80:4259::/48",
                       "2a02:ee80:425e::/47",
                       "2a02:ee80:425e::/48",
                       "2a02:ee80:425f::/48",
                       "2a02:ee80:4262::/47",
                       "2a02:ee80:4262::/48",
                       "2a02:ee80:4263::/48",
                       "2a02:ee80:4264::/47",
                       "2a02:ee80:4264::/48",
                       "2a02:ee80:4265::/48",
                       "2a02:ee80:4270::/47",
                       "2a02:ee80:4270::/48",
                       "2a02:ee80:4271::/48",
                       "2a02:ee80:4274::/47",
                       "2a02:ee80:4274::/48",
                       "2a02:ee80:4275::/48",
                       "2a02:ee80:4276::/47",
                       "2a02:ee80:4276::/48",
                       "2a02:ee80:4277::/48",
                       "2a02:ee80:4278::/47",
                       "2a02:ee80:4278::/48",
                       "2a02:ee80:4279::/48",
                       "2a02:ee80:4284::/47",
                       "2a02:ee80:4284::/48",
                       "2a02:ee80:4285::/48",
                       "2a02:ee80:4294::/47",
                       "2a02:ee80:4294::/48",
                       "2a02:ee80:4295::/48",
                       "2a02:ee80:8000::/33",
                       "2a02:ee80::/32",
                       "2a02:ee80::/33"],
                    "AS5420"=>["2001:67c:21a4::/48", "2a06:f040::/32"],
                    "AS6839"=>["2001:67c:2168::/48"],
                    "AS6852"=>[],
                    "AS12630"=>["2a02:4880::/32"],
                    "AS20571"=>["2a0a:b7c0::/32"],
                    "AS20774"=>[],
                    "AS21348"=>["2a01:51a0::/32"],
                    "AS21490"=>[],
                    "AS25213"=>[],
                    "AS29093"=>[],
                    "AS29293"=>[],
                    "AS34541"=>[],
                    "AS39194"=>["2a00:7a20::/32"],
                    "AS39662"=>
                      ["2a00:13f0:0:1000::/64",
                       "2a00:13f0:0:1001::/64",
                       "2a00:13f0:0:1002::/64",
                       "2a00:13f0:0:1003::/64",
                       "2a00:13f0:0:1004::/64",
                       "2a00:13f0:0:1005::/64",
                       "2a00:13f0:0:1006::/64",
                       "2a00:13f0:0:1007::/64",
                       "2a00:13f0:0:1008::/64",
                       "2a00:13f0:0:1::/64",
                       "2a00:13f0:0:2::/64",
                       "2a00:13f0:0:3::/64",
                       "2a00:13f0:0:a001::/64",
                       "2a00:13f0::/32",
                       "2a00:13f0::/64"],
                    "AS41701"=>["2001:67c:21d8::/48"],
                    "AS41808"=>[],
                    "AS41878"=>[],
                    "AS42252"=>["2a00:1778::/32"],
                    "AS42540"=>["2001:678:52c::/48", "2a04:4a80::/29"],
                    "AS42885"=>[],
                    "AS43792"=>["2001:67c:17a0::/48"],
                    "AS49059"=>[],
                    "AS49670"=>[],
                    "AS50420"=>[],
                    "AS51473"=>[],
                    "AS51726"=>[],
                    "AS52004"=>["2a04:bd80::/29"],
                    "AS52170"=>[],
                    "AS61395"=>["2a04:680::/30", "2a04:684::/30"],
                    "AS41747"=>[],
                    "AS13813"=>
                      ["2a0b:cb00:1::/48",
                       "2a0b:cb00:3::/48",
                       "2a0b:cb00:4::/48",
                       "2a0b:cb00::/29"],
                    "AS200656"=>
                      ["2a00:8a00:4000::/35",
                       "2a00:8a00:4000::/36",
                       "2a00:8a00:4f01::/48",
                       "2a00:8a00:6000::/35",
                       "2a00:8a02:10::/44",
                       "2a00:8a02:20::/44",
                       "2a00:8a02:8000::/44",
                       "2a00:8a02:8010::/44",
                       "2a00:8a02:8020::/44",
                       "2a00:8a02::/44",
                       "2a03:5342:10::/44",
                       "2a03:5342:20::/44",
                       "2a03:5342::/44"],
                    "AS34387"=>["2001:67c:15c::/48", "2001:67c:2d74::/48"],
                    "AS49802"=>[],
                    "AS48652"=>[],
                    "AS60616"=>[],
                    "AS28883"=>["2a0c:1540::/29"],
                    "AS41264"=>["2a00:79e0:39::/48"],
                    "AS60109"=>
                      ["2a00:4cc2::/32",
                       "2a00:4cc4::/32",
                       "2a00:4cc4:a::/48",
                       "2a00:4cc4:ccc::/48"],
                    "AS56900"=>[],
                    "AS50290"=>[],
                    "AS206520"=>["2a0b:2980::/48"],
                    "AS198514"=>[],
                    "AS206927"=>["2a0a:e100::/29"],
                    "AS60414"=>["2a00:bbe0::/29", "2a00:bbe0::/32", "2a00:bbe1::/32"],
                    "AS41561"=>["2a04:83c0::/29"],
                    "AS203296"=>["2a0d:c840::/29"],
                    "AS202407"=>[],
                    "AS395266"=>[],
                    "AS206175"=>[],
                    "AS201750"=>
                      ["2a0c:2640::/29",
                       "2a0c:2640::/32",
                       "2a0c:2641::/32",
                       "2a0c:2642::/32",
                       "2a0c:2643::/32",
                       "2a0c:2644::/32",
                       "2a0c:2645::/32",
                       "2a0c:2646::/32",
                       "2a0c:2647::/32"],
                    "AS196904"=>["2a03:dc40:ffdf::/48", "2a03:dc40:ffff::/48"],
                    "AS8145"=>
                      ["2a09:84c0:400::/40",
                       "2a09:84c0:600::/40",
                       "2a09:84c0::/32",
                       "2a09:84c0::/39"],
                    "AS209633"=>[],
                    "AS15786"=>[],
                    "AS207390"=>["2a07:7840::/29"],
                    "AS60937"=>[],
                    "AS198936"=>["2a01:7bc0::/32", "2a01:7bc0::/32", "2a01:7bc0::/32"],
                    "AS60903"=>["2a06:cf80::/29"],
                    "AS206860"=>[],
                    "AS207509"=>["2a0c:95c0::/29"],
                    "AS207065"=>[],
                    "AS212574"=>["2a10:7240::/32"],
                    "AS212664"=>[],
                    "AS198024"=>
                      ["2a00:89e0::/32",
                       "2a03:7b80::/32",
                       "2a05:b080::/29",
                       "2a06:7b40::/29",
                       "2a06:b100::/29",
                       "2a06:c780::/29",
                       "2a06:c7c0::/29",
                       "2a06:c840::/29",
                       "2a07:3b00::/29",
                       "2a0a:1c40::/29"],
                    "AS211929"=>[],
                    "AS211799"=>[],
                    "AS199486"=>["2a09:2e80::/29", "2a09:2e80::/29"],
                    "AS211135"=>[],
                    "AS49282"=>["2a03:e580::/29"],
                    "AS198243"=>[],
                    "AS200087"=>["2a00:f860::/32"],
                    "AS16273"=>["2a03:7800::/40", "2a03:7800:a00::/40"],
                    "AS201057"=>["2a05:b9c0::/29", "2a0a:2000::/29"],
                    "AS201056"=>[],
                    "AS61340"=>["2a03:5fc0::/32"],
                    "AS203899"=>["2001:67c:2e94::/48"],
                    "AS31639"=>["2001:67c:14c0::/48"],
                    "AS206381"=>["2a0b:7880::/32"],
                    "AS199231"=>["2a02:c5c0::/29", "2a02:c5c0::/29"],
                    "AS203391"=>
                      ["2a06:fb00:0:1::/64",
                       "2a06:fb00:0:2::/64",
                       "2a06:fb00:0:3::/64",
                       "2a06:fb00:0:4::/64",
                       "2a06:fb00:0:5::/64",
                       "2a06:fb00:0:6::/64",
                       "2a06:fb00:0:7::/64",
                       "2a06:fb00:0:8::/64",
                       "2a06:fb00:0:9::/64",
                       "2a06:fb00:0:a::/64",
                       "2a06:fb00:1::/48"],
                    "AS205436"=>[],
                    "AS1342"=>["2a02:2048::/32"],
                    "AS20861"=>[],
                    "AS202677"=>[],
                    "AS20569"=>[],
                    "AS30978"=>[],
                    "AS24713"=>["2a03:d640::/32"],
                    "AS397681"=>[],
                    "AS29240"=>["2a01:18::/32"],
                    "AS29243"=>["2001:1430::/32"],
                    "AS39242"=>["2a02:ef0::/32"],
                    "AS51164"=>["2001:67c:224::/48", "2a01:6140::/32", "2a0b:8880::/29"],
                    "AS20574"=>["2a03:900::/32"],
                    "AS210167"=>["2a0d:9240::/29"],
                    "AS62022"=>["2a04:c0c0::/29"],
                    "AS202053"=>
                      ["2a03:3b00:1::/48",
                       "2a03:3b00:2::/48",
                       "2a04:3540::/32",
                       "2a04:3541::/32",
                       "2a04:3542:8000::/34",
                       "2a04:3542::/32",
                       "2a04:3543::/32",
                       "2a04:3544:8000::/34",
                       "2a04:3544::/32",
                       "2a04:3545::/32",
                       "2a04:3546::/32",
                       "2a09:51c0::/29"],
                    "AS25697"=>[],
                    "AS39324"=>
                      ["2a02:1370::/32", "2a0a:48c0::/32", "2a02:1370::/32", "2a0a:48c0::/32"],
                    "AS58065"=>
                      ["2a02:5740:10::/48",
                       "2a02:5740:11::/48",
                       "2a02:5740:12::/48",
                       "2a02:5740:13::/48",
                       "2a02:5740:14::/48",
                       "2a02:5740:15::/48",
                       "2a02:5740:16::/48",
                       "2a02:5740:17::/48",
                       "2a02:5740:18::/48",
                       "2a02:5740:19::/48",
                       "2a02:5740:20::/48",
                       "2a02:5740:21::/48",
                       "2a02:5740:22::/48",
                       "2a02:5740:23::/48",
                       "2a02:5740:24::/48",
                       "2a02:5740:25::/48",
                       "2a02:5740:26::/48",
                       "2a02:5740:27::/48",
                       "2a02:5740:28::/48",
                       "2a02:5740:7::/48",
                       "2a02:5740:8::/48",
                       "2a02:5740:9::/48"],
                    "AS206804"=>
                      ["2001:1548:206::/48", "2a0b:b87:ffd6::/48", "2a0b:b87:ffd7::/48"],
                    "AS201422"=>
                      ["2a03:4d20:1000::/36",
                       "2a03:4d20:3000::/36",
                       "2a03:4d20::/29",
                       "2a03:4d20::/32",
                       "2a03:4d21::/32",
                       "2a03:4d22::/32",
                       "2a03:4d23::/32",
                       "2a03:4d24::/32",
                       "2a03:4d26::/32",
                       "2a03:4d27::/32"],
                    "AS59397"=>["2a03:4d22::/32", "2a03:4d24::/32", "2a03:4d25::/32"],
                    "AS57692"=>["2001:67c:1be8::/48"],
                    "AS205449"=>[],
                    "AS50503"=>["2a00:8780::/32"],
                    "AS35382"=>["2a00:14c0::/32"],
                    "AS203602"=>["2a0c:61c0::/32"],
                    "AS41993"=>["2a05:9100::/29"]}}
              )
      end
    end
  end
end
