summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.appveyor.yml36
-rw-r--r--.gitignore8
-rw-r--r--.travis.yml27
-rw-r--r--ChangeLog434
-rw-r--r--Doxyfile.in2
-rw-r--r--Makefile.am12
-rw-r--r--ReleaseNotes168
-rw-r--r--changes/bug219004
-rw-r--r--changes/bug230824
-rw-r--r--changes/bug243936
-rw-r--r--changes/bug246613
-rw-r--r--changes/bug258857
-rw-r--r--changes/bug271973
-rw-r--r--changes/bug277073
-rw-r--r--changes/bug277404
-rw-r--r--changes/bug278004
-rw-r--r--changes/bug278043
-rw-r--r--changes/bug279295
-rw-r--r--changes/bug281153
-rw-r--r--changes/bug285184
-rw-r--r--changes/bug285684
-rw-r--r--changes/bug285693
-rw-r--r--changes/bug286124
-rw-r--r--changes/doc285603
-rw-r--r--changes/feature272445
-rw-r--r--changes/feature273674
-rw-r--r--changes/prop2977
-rw-r--r--changes/subsystems6
-rw-r--r--changes/ticket248053
-rw-r--r--changes/ticket248386
-rw-r--r--changes/ticket263604
-rw-r--r--changes/ticket267708
-rw-r--r--changes/ticket272255
-rw-r--r--changes/ticket273593
-rw-r--r--changes/ticket2740210
-rw-r--r--changes/ticket274715
-rw-r--r--changes/ticket274906
-rw-r--r--changes/ticket276203
-rw-r--r--changes/ticket277512
-rw-r--r--changes/ticket279933
-rw-r--r--changes/ticket280063
-rw-r--r--changes/ticket280073
-rw-r--r--changes/ticket280083
-rw-r--r--changes/ticket280093
-rw-r--r--changes/ticket280103
-rw-r--r--changes/ticket280113
-rw-r--r--changes/ticket280123
-rw-r--r--changes/ticket280773
-rw-r--r--changes/ticket281003
-rw-r--r--changes/ticket281795
-rw-r--r--changes/ticket281803
-rw-r--r--changes/ticket2826610
-rw-r--r--changes/ticket283357
-rw-r--r--changes/ticket283626
-rw-r--r--changes/ticket285513
-rw-r--r--changes/ticket286245
-rw-r--r--changes/ticket287684
-rw-r--r--changes/ticket288393
-rw-r--r--changes/ticket288403
-rw-r--r--changes/ticket288533
-rw-r--r--changes/ticket288814
-rw-r--r--changes/ticket288834
-rw-r--r--configure.ac35
-rw-r--r--contrib/dist/tor.service.in2
-rw-r--r--contrib/win32build/tor-mingw.nsi.in2
-rw-r--r--doc/HACKING/Maintaining.md113
-rw-r--r--doc/HACKING/ReleasingTor.md119
-rw-r--r--doc/tor.1.txt111
-rw-r--r--link_rust.sh.in10
-rwxr-xr-xscripts/codegen/fuzzing_include_am.py5
-rwxr-xr-xscripts/codegen/run_trunnel.sh4
-rwxr-xr-xscripts/maint/checkIncludes.py66
-rw-r--r--scripts/maint/fallback.whitelist175
-rwxr-xr-xscripts/maint/pre-push.git-hook61
-rwxr-xr-xscripts/maint/run_calltool.sh4
-rwxr-xr-xscripts/maint/updateFallbackDirs.py302
-rwxr-xr-xscripts/maint/updateRustDependencies.sh18
-rwxr-xr-xscripts/maint/updateVersions.pl.in59
-rwxr-xr-xscripts/maint/update_versions.py133
-rwxr-xr-xscripts/test/chutney-git-bisect.sh6
-rwxr-xr-xscripts/test/cov-diff6
-rwxr-xr-xscripts/test/coverage20
-rwxr-xr-xscripts/test/scan-build.sh5
-rw-r--r--src/app/config/config.c80
-rw-r--r--src/app/config/config.h2
-rw-r--r--src/app/config/fallback_dirs.inc581
-rw-r--r--src/app/config/or_options_st.h17
-rw-r--r--src/app/config/or_state_st.h7
-rw-r--r--src/app/config/statefile.c9
-rw-r--r--src/app/main/main.c111
-rw-r--r--src/app/main/main.h2
-rw-r--r--src/app/main/ntmain.c4
-rw-r--r--src/app/main/subsysmgr.c202
-rw-r--r--src/app/main/subsysmgr.h24
-rw-r--r--src/app/main/subsystem_list.c40
-rw-r--r--src/config/geoip26374
-rw-r--r--src/config/geoip64553
-rw-r--r--src/core/include.am7
-rw-r--r--src/core/mainloop/connection.c43
-rw-r--r--src/core/mainloop/connection.h1
-rw-r--r--src/core/mainloop/mainloop.c385
-rw-r--r--src/core/mainloop/mainloop.h8
-rw-r--r--src/core/mainloop/netstatus.c132
-rw-r--r--src/core/mainloop/netstatus.h11
-rw-r--r--src/core/mainloop/periodic.c22
-rw-r--r--src/core/mainloop/periodic.h15
-rw-r--r--src/core/or/circuitbuild.c26
-rw-r--r--src/core/or/circuitbuild.h3
-rw-r--r--src/core/or/circuitlist.c2
-rw-r--r--src/core/or/connection_edge.c13
-rw-r--r--src/core/or/connection_or.c2
-rw-r--r--src/core/or/or.h4
-rw-r--r--src/core/or/policies.c98
-rw-r--r--src/core/or/policies.h1
-rw-r--r--src/core/or/relay.c2
-rw-r--r--src/core/or/scheduler.c2
-rw-r--r--src/core/or/scheduler_kist.c2
-rw-r--r--src/core/or/versions.c103
-rw-r--r--src/core/or/versions.h4
-rw-r--r--src/core/proto/proto_cell.c2
-rw-r--r--src/core/proto/proto_control0.c2
-rw-r--r--src/core/proto/proto_ext_or.c2
-rw-r--r--src/core/proto/proto_http.c2
-rw-r--r--src/core/proto/proto_socks.c2
-rw-r--r--src/ext/.may_include10
-rw-r--r--src/ext/csiphash.c10
-rw-r--r--src/ext/readpassphrase.c2
-rw-r--r--src/ext/timeouts/.may_include6
-rw-r--r--src/ext/timeouts/timeout.c5
-rw-r--r--src/ext/timeouts/timeout.h4
-rw-r--r--src/feature/client/bridges.c3
-rw-r--r--src/feature/client/dnsserv.c4
-rw-r--r--src/feature/client/entrynodes.c27
-rw-r--r--src/feature/client/transports.c235
-rw-r--r--src/feature/client/transports.h15
-rw-r--r--src/feature/control/control.c393
-rw-r--r--src/feature/control/control.h6
-rw-r--r--src/feature/control/control_bootstrap.c358
-rw-r--r--src/feature/dirauth/dirvote.c56
-rw-r--r--src/feature/dirauth/dirvote.h11
-rw-r--r--src/feature/dirauth/process_descs.c12
-rw-r--r--src/feature/dirauth/process_descs.h3
-rw-r--r--src/feature/dirauth/shared_random.c3
-rw-r--r--src/feature/dirauth/shared_random_state.c19
-rw-r--r--src/feature/dirauth/voteflags.c8
-rw-r--r--src/feature/dirauth/voteflags.h6
-rw-r--r--src/feature/dircache/consdiffmgr.c83
-rw-r--r--src/feature/dircache/consdiffmgr.h11
-rw-r--r--src/feature/dircache/dircache.c18
-rw-r--r--src/feature/dircache/dirserv.c5
-rw-r--r--src/feature/dircache/dirserv.h1
-rw-r--r--src/feature/dirclient/dirclient.c23
-rw-r--r--src/feature/dircommon/consdiff.c42
-rw-r--r--src/feature/dircommon/consdiff.h15
-rw-r--r--src/feature/dirparse/authcert_parse.c16
-rw-r--r--src/feature/dirparse/authcert_parse.h1
-rw-r--r--src/feature/dirparse/microdesc_parse.c26
-rw-r--r--src/feature/dirparse/ns_parse.c57
-rw-r--r--src/feature/dirparse/ns_parse.h10
-rw-r--r--src/feature/dirparse/parsecommon.c31
-rw-r--r--src/feature/dirparse/routerparse.c4
-rw-r--r--src/feature/hibernate/hibernate.c54
-rw-r--r--src/feature/hs/hs_config.c30
-rw-r--r--src/feature/hs/hs_descriptor.c32
-rw-r--r--src/feature/hs/hs_intropoint.c6
-rw-r--r--src/feature/hs/hs_service.c158
-rw-r--r--src/feature/hs/hs_service.h77
-rw-r--r--src/feature/nodelist/authcert.c3
-rw-r--r--src/feature/nodelist/fmt_routerstatus.c3
-rw-r--r--src/feature/nodelist/microdesc.c16
-rw-r--r--src/feature/nodelist/microdesc_st.h5
-rw-r--r--src/feature/nodelist/networkstatus.c116
-rw-r--r--src/feature/nodelist/networkstatus.h14
-rw-r--r--src/feature/nodelist/nodefamily.c416
-rw-r--r--src/feature/nodelist/nodefamily.h50
-rw-r--r--src/feature/nodelist/nodefamily_st.h48
-rw-r--r--src/feature/nodelist/nodelist.c137
-rw-r--r--src/feature/nodelist/nodelist.h11
-rw-r--r--src/feature/nodelist/routerlist.c2
-rw-r--r--src/feature/nodelist/routerstatus_st.h2
-rw-r--r--src/feature/relay/dns.c91
-rw-r--r--src/feature/relay/dns.h5
-rw-r--r--src/feature/relay/router.c217
-rw-r--r--src/feature/relay/router.h8
-rw-r--r--src/feature/rend/rendcache.c2
-rw-r--r--src/feature/stats/geoip_stats.c2
-rw-r--r--src/include.am3
-rw-r--r--src/lib/buf/.may_include10
-rw-r--r--src/lib/buf/buffers.c (renamed from src/lib/container/buffers.c)2
-rw-r--r--src/lib/buf/buffers.h (renamed from src/lib/container/buffers.h)0
-rw-r--r--src/lib/buf/include.am17
-rw-r--r--src/lib/cc/.may_include1
-rw-r--r--src/lib/cc/ctassert.h53
-rw-r--r--src/lib/cc/include.am1
-rw-r--r--src/lib/compress/.may_include2
-rw-r--r--src/lib/compress/compress.c21
-rw-r--r--src/lib/compress/compress.h2
-rw-r--r--src/lib/compress/compress_buf.c2
-rw-r--r--src/lib/compress/compress_sys.h14
-rw-r--r--src/lib/compress/include.am1
-rw-r--r--src/lib/container/.may_include9
-rw-r--r--src/lib/container/bloomfilt.c2
-rw-r--r--src/lib/container/include.am2
-rw-r--r--src/lib/container/map.c2
-rw-r--r--src/lib/container/map.h2
-rw-r--r--src/lib/crypt_ops/.may_include5
-rw-r--r--src/lib/crypt_ops/aes_openssl.c4
-rw-r--r--src/lib/crypt_ops/crypto_init.c49
-rw-r--r--src/lib/crypt_ops/crypto_sys.h14
-rw-r--r--src/lib/crypt_ops/digestset.c2
-rw-r--r--src/lib/crypt_ops/include.am1
-rw-r--r--src/lib/encoding/.may_include1
-rw-r--r--src/lib/encoding/binascii.c12
-rw-r--r--src/lib/encoding/binascii.h1
-rw-r--r--src/lib/encoding/include.am2
-rw-r--r--src/lib/encoding/kvline.c239
-rw-r--r--src/lib/encoding/kvline.h24
-rw-r--r--src/lib/encoding/time_fmt.c4
-rw-r--r--src/lib/err/.may_include2
-rw-r--r--src/lib/err/include.am8
-rw-r--r--src/lib/err/torerr.c10
-rw-r--r--src/lib/err/torerr.h1
-rw-r--r--src/lib/err/torerr_sys.c40
-rw-r--r--src/lib/err/torerr_sys.h14
-rw-r--r--src/lib/evloop/.may_include4
-rw-r--r--src/lib/evloop/timers.c7
-rw-r--r--src/lib/evloop/workqueue.c2
-rw-r--r--src/lib/fs/.may_include2
-rw-r--r--src/lib/intmath/cmp.h3
-rw-r--r--src/lib/log/.may_include4
-rw-r--r--src/lib/log/include.am10
-rw-r--r--src/lib/log/log.c5
-rw-r--r--src/lib/log/log.h6
-rw-r--r--src/lib/log/log_sys.c35
-rw-r--r--src/lib/log/log_sys.h14
-rw-r--r--src/lib/malloc/.may_include2
-rw-r--r--src/lib/memarea/.may_include2
-rw-r--r--src/lib/memarea/memarea.c3
-rw-r--r--src/lib/net/.may_include6
-rw-r--r--src/lib/net/address.c16
-rw-r--r--src/lib/net/buffers_net.c133
-rw-r--r--src/lib/net/buffers_net.h7
-rw-r--r--src/lib/net/inaddr.c8
-rw-r--r--src/lib/net/include.am2
-rw-r--r--src/lib/net/network_sys.c44
-rw-r--r--src/lib/net/network_sys.h14
-rw-r--r--src/lib/net/resolve.c13
-rw-r--r--src/lib/net/resolve.h2
-rw-r--r--src/lib/net/socket.c29
-rw-r--r--src/lib/net/socket.h1
-rw-r--r--src/lib/osinfo/uname.c95
-rw-r--r--src/lib/process/.may_include7
-rw-r--r--src/lib/process/include.am14
-rw-r--r--src/lib/process/process.c797
-rw-r--r--src/lib/process/process.h142
-rw-r--r--src/lib/process/process_unix.c705
-rw-r--r--src/lib/process/process_unix.h68
-rw-r--r--src/lib/process/process_win32.c1026
-rw-r--r--src/lib/process/process_win32.h97
-rw-r--r--src/lib/process/subprocess.c1236
-rw-r--r--src/lib/process/subprocess.h134
-rw-r--r--src/lib/process/waitpid.c2
-rw-r--r--src/lib/process/winprocess_sys.c64
-rw-r--r--src/lib/process/winprocess_sys.h14
-rw-r--r--src/lib/sandbox/.may_include7
-rw-r--r--src/lib/sandbox/sandbox.c13
-rw-r--r--src/lib/smartlist_core/.may_include2
-rw-r--r--src/lib/string/.may_include4
-rw-r--r--src/lib/string/compat_string.c4
-rw-r--r--src/lib/string/util_string.c13
-rw-r--r--src/lib/string/util_string.h1
-rw-r--r--src/lib/subsys/.may_include1
-rw-r--r--src/lib/subsys/include.am3
-rw-r--r--src/lib/subsys/subsys.h95
-rw-r--r--src/lib/term/.may_include3
-rw-r--r--src/lib/term/getpass.c2
-rw-r--r--src/lib/thread/.may_include2
-rw-r--r--src/lib/thread/compat_pthreads.c1
-rw-r--r--src/lib/thread/compat_threads.c16
-rw-r--r--src/lib/thread/include.am5
-rw-r--r--src/lib/thread/thread_sys.h14
-rw-r--r--src/lib/time/.may_include1
-rw-r--r--src/lib/time/include.am2
-rw-r--r--src/lib/time/time_sys.c26
-rw-r--r--src/lib/time/time_sys.h14
-rw-r--r--src/lib/tls/.may_include7
-rw-r--r--src/lib/tls/buffers_tls.c2
-rw-r--r--src/lib/tls/include.am1
-rw-r--r--src/lib/tls/tortls.c14
-rw-r--r--src/lib/tls/tortls_openssl.c19
-rw-r--r--src/lib/tls/tortls_sys.h14
-rw-r--r--src/lib/version/.may_include3
-rw-r--r--src/lib/version/git_revision.c (renamed from src/lib/log/git_revision.c)2
-rw-r--r--src/lib/version/git_revision.h (renamed from src/lib/log/git_revision.h)0
-rw-r--r--src/lib/version/include.am25
-rw-r--r--src/lib/version/torversion.h12
-rw-r--r--src/lib/version/version.c50
-rw-r--r--src/lib/wallclock/.may_include1
-rw-r--r--src/lib/wallclock/approx_time.c16
-rw-r--r--src/lib/wallclock/include.am3
-rw-r--r--src/lib/wallclock/wallclock_sys.h14
-rw-r--r--src/rust/Cargo.lock1
-rw-r--r--src/rust/Cargo.toml16
-rw-r--r--src/rust/build.rs4
-rw-r--r--src/rust/crypto/Cargo.toml1
-rw-r--r--src/rust/external/Cargo.toml6
-rw-r--r--src/rust/external/lib.rs2
-rw-r--r--src/rust/protover/Cargo.toml1
-rw-r--r--src/rust/protover/ffi.rs27
-rw-r--r--src/rust/smartlist/Cargo.toml1
-rw-r--r--src/rust/smartlist/lib.rs9
-rw-r--r--src/rust/tor_allocate/Cargo.toml1
-rw-r--r--src/rust/tor_allocate/lib.rs5
-rw-r--r--src/rust/tor_log/Cargo.toml1
-rw-r--r--src/rust/tor_rust/Cargo.toml2
-rw-r--r--src/rust/tor_util/Cargo.toml1
-rw-r--r--src/rust/tor_util/strings.rs6
-rw-r--r--src/test/Makefile.nmake7
-rw-r--r--src/test/bench.c53
-rwxr-xr-xsrc/test/bt_test.py10
-rw-r--r--src/test/fuzz/fuzz_consensus.c6
-rw-r--r--src/test/fuzz/fuzz_diff.c32
-rw-r--r--src/test/fuzz/fuzz_diff_apply.c13
-rw-r--r--src/test/fuzz/fuzz_http.c2
-rw-r--r--src/test/fuzz/fuzz_http_connect.c2
-rw-r--r--src/test/fuzz/fuzz_socks.c2
-rw-r--r--src/test/fuzz/fuzz_strops.c247
-rw-r--r--src/test/fuzz/fuzz_vrs.c24
-rw-r--r--src/test/fuzz/fuzzing_common.c10
-rw-r--r--src/test/fuzz/include.am29
-rw-r--r--src/test/include.am9
-rw-r--r--src/test/test-child.c61
-rw-r--r--src/test/test-process.c85
-rw-r--r--src/test/test.c6
-rw-r--r--src/test/test.h4
-rw-r--r--src/test/test_addr.c56
-rw-r--r--src/test/test_address.c76
-rw-r--r--src/test/test_buffers.c2
-rw-r--r--src/test/test_channelpadding.c2
-rw-r--r--src/test/test_channeltls.c2
-rw-r--r--src/test/test_circuitbuild.c4
-rw-r--r--src/test/test_compat_libevent.c1
-rw-r--r--src/test/test_config.c78
-rw-r--r--src/test/test_consdiff.c94
-rw-r--r--src/test/test_consdiffmgr.c41
-rw-r--r--src/test/test_dir.c119
-rw-r--r--src/test/test_dir_common.c17
-rw-r--r--src/test/test_dir_handle_get.c18
-rw-r--r--src/test/test_dns.c66
-rw-r--r--src/test/test_entrynodes.c103
-rw-r--r--src/test/test_extorport.c2
-rw-r--r--src/test/test_helpers.c2
-rw-r--r--src/test/test_hs_common.c2
-rw-r--r--src/test/test_hs_config.c16
-rw-r--r--src/test/test_hs_service.c4
-rw-r--r--src/test/test_logging.c22
-rw-r--r--src/test/test_mainloop.c221
-rw-r--r--src/test/test_microdesc.c41
-rw-r--r--src/test/test_nodelist.c416
-rw-r--r--src/test/test_oom.c2
-rw-r--r--src/test/test_options.c1
-rw-r--r--src/test/test_parsecommon.c8
-rw-r--r--src/test/test_periodic_event.c61
-rw-r--r--src/test/test_policy.c50
-rw-r--r--src/test/test_process.c696
-rw-r--r--src/test/test_process_slow.c342
-rw-r--r--src/test/test_proto_http.c2
-rw-r--r--src/test/test_proto_misc.c2
-rw-r--r--src/test/test_pt.c87
-rw-r--r--src/test/test_rebind.py80
-rwxr-xr-xsrc/test/test_rebind.sh15
-rw-r--r--src/test/test_rendcache.c4
-rw-r--r--src/test/test_router.c252
-rw-r--r--src/test/test_routerlist.c21
-rwxr-xr-xsrc/test/test_rust.sh10
-rw-r--r--src/test/test_shared_random.c12
-rw-r--r--src/test/test_slow.c2
-rw-r--r--src/test/test_socks.c2
-rw-r--r--src/test/test_util.c340
-rw-r--r--src/test/test_util_format.c4
-rw-r--r--src/test/test_util_slow.c396
-rw-r--r--src/test/test_voting_flags.c192
-rw-r--r--src/test/testing_common.c20
-rw-r--r--src/tools/include.am9
-rw-r--r--src/tools/tor-resolve.c393
-rw-r--r--src/tools/tor_runner.c2
-rw-r--r--src/trunnel/socks5.c13
-rw-r--r--src/trunnel/socks5.trunnel2
-rw-r--r--src/win32/orconfig.h2
389 files changed, 31001 insertions, 18001 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index 7d8927ee35..b838055f46 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -2,19 +2,27 @@ version: 1.0.{build}
clone_depth: 50
+# Appveyor images are named after the Visual Studio version they contain.
+# But we compile using MinGW, not Visual Studio.
+# We use these images because they have different Windows versions.
+image:
+ # Windows Server 2012 R2
+ - Visual Studio 2015
+ # Windows Server 2016
+ - Visual Studio 2017
+
environment:
compiler: mingw
matrix:
- target: i686-w64-mingw32
compiler_path: mingw32
- openssl_path: /c/OpenSSL-Win32
mingw_prefix: mingw-w64-i686
hardening:
- target: x86_64-w64-mingw32
compiler_path: mingw64
- openssl_path: /c/OpenSSL-Win64
mingw_prefix: mingw-w64-x86_64
+ # hardening doesn't work with mingw-w64-x86_64-gcc, because it's gcc 8
hardening: --disable-gcc-hardening
install:
@@ -30,11 +38,17 @@ install:
{
Execute-Command 'c:\msys64\usr\bin\bash' '-e' '-c' $args
}
- Execute-Command "C:\msys64\usr\bin\pacman" -Sy --needed --noconfirm openssl-devel openssl libevent-devel libevent ${env:mingw_prefix}-libevent ${env:mingw_prefix}-zstd ;
+ <# mingw packages start with ${env:mingw_prefix}
+ # unprefixed packages are from MSYS2, which is like Cygwin. Avoid them.
+ #
+ # Use pacman --debug to show package downloads and install locations
+ #>
+ Execute-Command "C:\msys64\usr\bin\pacman" -Sy --verbose --needed --noconfirm ${env:mingw_prefix}-libevent ${env:mingw_prefix}-pkg-config ${env:mingw_prefix}-xz ${env:mingw_prefix}-zstd ;
build_script:
- ps: >-
if ($env:compiler -eq "mingw") {
+ <# use the MSYS2 compiler and user binaries to build and install #>
$oldpath = ${env:Path} -split ';'
$buildpath = @("C:\msys64\${env:compiler_path}\bin", "C:\msys64\usr\bin") + $oldpath
$env:Path = @($buildpath) -join ';'
@@ -45,7 +59,11 @@ build_script:
Set-Location "${env:build}"
Execute-Bash "which ${env:target}-gcc"
Execute-Bash "${env:target}-gcc --version"
- Execute-Bash "../configure --prefix=/${env:compiler_path} --build=${env:target} --host=${env:target} --disable-asciidoc --enable-fatal-warnings --with-openssl-dir=${env:openssl_path} ${env:hardening}"
+ <# compile for mingw
+ # mingw zstd doesn't come with a pkg-config file, so we manually
+ # configure its flags. liblzma just works.
+ #>
+ Execute-Bash "ZSTD_CFLAGS='-L/${env:compiler_path}/include' ZSTD_LIBS='-L/${env:compiler_path}/lib -lzstd' ../configure --prefix=/${env:compiler_path} --build=${env:target} --host=${env:target} --with-openssl-dir=/${env:compiler_path} --disable-asciidoc --enable-fatal-warnings ${env:hardening}"
Execute-Bash "V=1 make -j2"
Execute-Bash "V=1 make -j2 install"
}
@@ -53,24 +71,32 @@ build_script:
test_script:
- ps: >-
if ($env:compiler -eq "mingw") {
+ <# use the MSYS2 compiler binaries to make check #>
$oldpath = ${env:Path} -split ';'
$buildpath = @("C:\msys64\${env:compiler_path}\bin") + $oldpath
$env:Path = $buildpath -join ';'
Set-Location "${env:build}"
+ Copy-Item "C:/msys64/${env:compiler_path}/bin/libssp-0.dll" -Destination "${env:build}/src/test"
+ Copy-Item "C:/msys64/${env:compiler_path}/bin/zlib1.dll" -Destination "${env:build}/src/test"
Execute-Bash "VERBOSE=1 make -j2 check"
}
-on_failure:
+on_finish:
- ps: >-
if ($env:compiler -eq "mingw") {
+ <# use the MSYS2 user binaries to archive failures #>
$oldpath = ${env:Path} -split ';'
$buildpath = @("C:\msys64\usr\bin") + $oldpath
$env:Path = @($buildpath) -join ';'
Set-Location "${env:build}"
+ <# store logs as appveyor artifacts: see the artifacts tab #>
Execute-Bash "7z a logs.zip config.log || true"
Execute-Bash "7z a logs.zip test-suite.log || true"
Execute-Bash "appveyor PushArtifact logs.zip || true"
Execute-Bash "tail -1000 config.log || true"
Execute-Bash "cat test-suite.log || true"
}
+
+# notify the IRC channel of any failures
+on_failure:
- cmd: C:\Python27\python.exe %APPVEYOR_BUILD_FOLDER%\scripts\test\appveyor-irc-notify.py irc.oftc.net:6697 tor-ci failure
diff --git a/.gitignore b/.gitignore
index cedff8fb37..b73c5b9ab5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -155,6 +155,8 @@ uptime-*.json
# /src/lib
/src/lib/libcurve25519_donna.a
+/src/lib/libtor-buf.a
+/src/lib/libtor-buf-testing.a
/src/lib/libtor-compress.a
/src/lib/libtor-compress-testing.a
/src/lib/libtor-container.a
@@ -210,6 +212,8 @@ uptime-*.json
/src/lib/libtor-tls.a
/src/lib/libtor-tls-testing.a
/src/lib/libtor-trace.a
+/src/lib/libtor-version.a
+/src/lib/libtor-version-testing.a
/src/lib/libtor-wallclock.a
/src/lib/libtor-wallclock-testing.a
@@ -237,7 +241,7 @@ uptime-*.json
/src/test/test
/src/test/test-slow
/src/test/test-bt-cl
-/src/test/test-child
+/src/test/test-process
/src/test/test-memwipe
/src/test/test-ntor-cl
/src/test/test-hs-ntor-cl
@@ -247,7 +251,7 @@ uptime-*.json
/src/test/test.exe
/src/test/test-slow.exe
/src/test/test-bt-cl.exe
-/src/test/test-child.exe
+/src/test/test-process.exe
/src/test/test-ntor-cl.exe
/src/test/test-hs-ntor-cl.exe
/src/test/test-memwipe.exe
diff --git a/.travis.yml b/.travis.yml
index ec1748e67b..2ea529e252 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -33,12 +33,8 @@ env:
## We don't list default variable values, because we set the defaults
## in global (or the default is unset)
-
- ## We turn off hardening for Rust builds, because they are incompatible,
- ## and it's going to take a while for them to be fixed. See:
- ## https:/trac.torproject.org/projects/tor/ticket/25386
- ## https:/trac.torproject.org/projects/tor/ticket/26398
## TOR_RUST_DEPENDENCIES is spelt RUST_DEPENDENCIES in 0.3.2
- - RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true HARDENING_OPTIONS=""
+ - RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
matrix:
## include creates builds with gcc, linux, sudo: false
@@ -51,11 +47,12 @@ matrix:
# - env: HARDENING_OPTIONS=""
## We check asciidoc with distcheck, to make sure we remove doc products
- env: DISTCHECK="yes" ASCIIDOC_OPTIONS=""
+ # We clone our stem repo and run `make test-stem`
+ - env: TEST_STEM="yes"
## Check rust online with distcheck, to make sure we remove rust products
- ## But without hardening (see above)
- - env: DISTCHECK="yes" RUST_OPTIONS="--enable-rust --enable-cargo-online-mode" HARDENING_OPTIONS=""
+ - env: DISTCHECK="yes" RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
## Check disable module dirauth with and without rust
- - env: MODULES_OPTIONS="--disable-module-dirauth" RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true HARDENING_OPTIONS=""
+ - env: MODULES_OPTIONS="--disable-module-dirauth" RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
- env: MODULES_OPTIONS="--disable-module-dirauth"
## Check NSS
- env: NSS_OPTIONS="--enable-nss"
@@ -179,11 +176,12 @@ install:
- if [[ "$ASCIIDOC_OPTIONS" == "" ]] && [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export XML_CATALOG_FILES="/usr/local/etc/xml/catalog"; fi
## If we're using Rust, download rustup
- if [[ "$RUST_OPTIONS" != "" ]]; then curl -Ssf -o rustup.sh https://sh.rustup.rs; fi
- ## Install the stable channels of rustc and cargo and setup our toolchain environment
- - if [[ "$RUST_OPTIONS" != "" ]]; then sh rustup.sh -y --default-toolchain stable; fi
+ ## Install the nightly channels of rustc and cargo and setup our toolchain environment
+ - if [[ "$RUST_OPTIONS" != "" ]]; then sh rustup.sh -y --default-toolchain nightly; fi
- if [[ "$RUST_OPTIONS" != "" ]]; then source $HOME/.cargo/env; fi
## If we're testing rust builds in offline-mode, then set up our vendored dependencies
- if [[ "$TOR_RUST_DEPENDENCIES" == "true" ]]; then export TOR_RUST_DEPENDENCIES=$PWD/src/ext/rust/crates; fi
+ - if [[ "$TEST_STEM" != "" ]]; then git clone --depth 1 https://github.com/torproject/stem.git ; export STEM_SOURCE_DIR=`pwd`/stem; fi
##
## Finally, list installed package versions
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then dpkg-query --show; fi
@@ -195,6 +193,10 @@ install:
- if [[ "$RUST_OPTIONS" != "" ]]; then rustup --version; fi
- if [[ "$RUST_OPTIONS" != "" ]]; then rustc --version; fi
- if [[ "$RUST_OPTIONS" != "" ]]; then cargo --version; fi
+ ## Get python version
+ - python --version
+ ## run stem tests if they are enabled.
+ - if [[ "$TEST_STEM" != "" ]]; then pushd stem; python -c "from stem import stem; print(stem.__version__);"; git log -1; popd; fi
script:
- ./autogen.sh
@@ -202,8 +204,9 @@ script:
- echo "Configure flags are $CONFIGURE_FLAGS"
- ./configure $CONFIGURE_FLAGS
## We run `make check` because that's what https://jenkins.torproject.org does.
- - if [[ "$DISTCHECK" == "" ]]; then make check; fi
- - if [[ "$DISTCHECK" != "" ]]; then make distcheck DISTCHECK_CONFIGURE_FLAGS="$CONFIGURE_FLAGS"; fi
+ - if [[ "$DISTCHECK" == "" && "$TEST_STEM" == "" ]]; then make check; fi
+ - if [[ "$TEST_STEM" != "" ]]; then make src/app/tor test-stem; fi
+ - if [[ "$DISTCHECK" != "" && "$TEST_STEM" == "" ]]; then make distcheck DISTCHECK_CONFIGURE_FLAGS="$CONFIGURE_FLAGS"; fi
after_failure:
## configure will leave a log file with more details of config failures.
diff --git a/ChangeLog b/ChangeLog
index 6c043638bf..a1667aa30a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,437 @@
+Changes in version 0.3.5.6-rc - 2018-12-18
+ Tor 0.3.5.6-rc fixes numerous small bugs in earlier versions of Tor.
+ It is the first release candidate in the 0.3.5.x series; if no further
+ huge bugs are found, our next release may be the stable 0.3.5.x.
+
+ o Minor features (continuous integration, Windows):
+ - Always show the configure and test logs, and upload them as build
+ artifacts, when building for Windows using Appveyor CI.
+ Implements 28459.
+
+ o Minor features (fallback directory list):
+ - Replace the 150 fallbacks originally introduced in Tor
+ 0.3.3.1-alpha in January 2018 (of which ~115 were still
+ functional), with a list of 157 fallbacks (92 new, 65 existing, 85
+ removed) generated in December 2018. Closes ticket 24803.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the December 5 2018 Maxmind GeoLite2
+ Country database. Closes ticket 28744.
+
+ o Minor bugfixes (compilation):
+ - Add missing dependency on libgdi32.dll for tor-print-ed-signing-
+ cert.exe on Windows. Fixes bug 28485; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (continuous integration, Windows):
+ - Explicitly specify the path to the OpenSSL library and do not
+ download OpenSSL from Pacman, but instead use the library that is
+ already provided by AppVeyor. Fixes bug 28574; bugfix on master.
+
+ o Minor bugfixes (onion service v3):
+ - When deleting an ephemeral onion service (DEL_ONION), do not close
+ any rendezvous circuits in order to let the existing client
+ connections finish by themselves or closed by the application. The
+ HS v2 is doing that already so now we have the same behavior for
+ all versions. Fixes bug 28619; bugfix on 0.3.3.1-alpha.
+
+ o Minor bugfixes (restart-in-process, boostrap):
+ - Add missing resets of bootstrap tracking state when shutting down
+ (regression caused by ticket 27169). Fixes bug 28524; bugfix
+ on 0.3.5.1-alpha.
+
+ o Minor bugfixes (testing):
+ - Use a separate DataDirectory for the test_rebind script.
+ Previously, this script would run using the default DataDirectory,
+ and sometimes fail. Fixes bug 28562; bugfix on 0.3.5.1-alpha.
+ Patch from Taylor R Campbell.
+ - Stop leaking memory in an entry guard unit test. Fixes bug 28554;
+ bugfix on 0.3.0.1-alpha.
+
+ o Minor bugfixes (Windows):
+ - Correctly identify Windows 8.1, Windows 10, and Windows Server
+ 2008 and later from their NT versions. Fixes bug 28096; bugfix on
+ 0.2.2.34; reported by Keifer Bly.
+ - On recent Windows versions, the GetVersionEx() function may report
+ an earlier Windows version than the running OS. To avoid user
+ confusion, add "[or later]" to Tor's version string on affected
+ versions of Windows. Fixes bug 28096; bugfix on 0.2.2.34; reported
+ by Keifer Bly.
+ - Remove Windows versions that were never supported by the
+ GetVersionEx() function. Stop duplicating the latest Windows
+ version in get_uname(). Fixes bug 28096; bugfix on 0.2.2.34;
+ reported by Keifer Bly.
+
+ o Testing:
+ - Increase logging and tag all log entries with timestamps in
+ test_rebind.py. Provides diagnostics for issue 28229.
+
+ o Code simplification and refactoring (shared random, dirauth):
+ - Change many tor_assert() to use BUG() instead. The idea is to not
+ crash a dirauth but rather scream loudly with a stacktrace and let
+ it continue run. The shared random subsystem is very resilient and
+ if anything wrong happens with it, at worst a non coherent value
+ will be put in the vote and discarded by the other authorities.
+ Closes ticket 19566.
+
+ o Documentation (onion services):
+ - Document in the man page that changing ClientOnionAuthDir value or
+ adding a new file in the directory will not work at runtime upon
+ sending a HUP if Sandbox 1. Closes ticket 28128.
+ - Note in the man page that the only real way to fully revoke an
+ onion service v3 client authorization is by restarting the tor
+ process. Closes ticket 28275.
+
+
+Changes in version 0.3.5.5-alpha - 2018-11-16
+ Tor 0.3.5.5-alpha includes numerous bugfixes on earlier releases,
+ including several that we hope to backport to older release series in
+ the future.
+
+ o Major bugfixes (OpenSSL, portability):
+ - Fix our usage of named groups when running as a TLS 1.3 client in
+ OpenSSL 1.1.1. Previously, we only initialized EC groups when
+ running as a relay, which caused clients to fail to negotiate TLS
+ 1.3 with relays. Fixes bug 28245; bugfix on 0.2.9.15 (when TLS 1.3
+ support was added).
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the November 6 2018 Maxmind GeoLite2
+ Country database. Closes ticket 28395.
+
+ o Minor bugfixes (compilation):
+ - Initialize a variable unconditionally in aes_new_cipher(), since
+ some compilers cannot tell that we always initialize it before
+ use. Fixes bug 28413; bugfix on 0.2.9.3-alpha.
+
+ o Minor bugfixes (connection, relay):
+ - Avoid a logging a BUG() stacktrace when closing connection held
+ open because the write side is rate limited but not the read side.
+ Now, the connection read side is simply shut down until Tor is
+ able to flush the connection and close it. Fixes bug 27750; bugfix
+ on 0.3.4.1-alpha.
+
+ o Minor bugfixes (continuous integration, Windows):
+ - Manually configure the zstd compiler options, when building using
+ mingw on Appveyor Windows CI. The MSYS2 mingw zstd package does
+ not come with a pkg-config file. Fixes bug 28454; bugfix
+ on 0.3.4.1-alpha.
+ - Stop using an external OpenSSL install, and stop installing MSYS2
+ packages, when building using mingw on Appveyor Windows CI. Fixes
+ bug 28399; bugfix on 0.3.4.1-alpha.
+
+ o Minor bugfixes (documentation):
+ - Make Doxygen work again after the code movement in the 0.3.5
+ source tree. Fixes bug 28435; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (Linux seccomp2 sandbox):
+ - Permit the "shutdown()" system call, which is apparently used by
+ OpenSSL under some circumstances. Fixes bug 28183; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (logging):
+ - Stop talking about the Named flag in log messages. Clients have
+ ignored the Named flag since 0.3.2. Fixes bug 28441; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor bugfixes (memory leaks):
+ - Fix a harmless memory leak in libtorrunner.a. Fixes bug 28419;
+ bugfix on 0.3.3.1-alpha. Patch from Martin Kepplinger.
+
+ o Minor bugfixes (onion services):
+ - On an intro point for a version 3 onion service, stop closing
+ introduction circuits on an NACK. This lets the client decide
+ whether to reuse the circuit or discard it. Previously, we closed
+ intro circuits when sending NACKs. Fixes bug 27841; bugfix on
+ 0.3.2.1-alpha. Patch by Neel Chaunan.
+ - When replacing a descriptor in the client cache, make sure to
+ close all client introduction circuits for the old descriptor, so
+ we don't end up with unusable leftover circuits. Fixes bug 27471;
+ bugfix on 0.3.2.1-alpha.
+
+
+Changes in version 0.3.5.4-alpha - 2018-11-08
+ Tor 0.3.5.4-alpha includes numerous bugfixes on earlier versions and
+ improves our continuous integration support. It continues our attempts
+ to stabilize this alpha branch and build it into a foundation for an
+ acceptable long-term-support release.
+
+ o Major bugfixes (compilation, rust):
+ - Rust tests can now build and run successfully with the
+ --enable-fragile-hardening option enabled. Doing this currently
+ requires the rust beta channel; it will be possible with stable
+ rust once Rust version 1.31 is released. Patch from Alex Crichton.
+ Fixes bugs 27272, 27273, and 27274. Bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (embedding, main loop):
+ - When DisableNetwork becomes set, actually disable periodic events
+ that are already enabled. (Previously, we would refrain from
+ enabling new ones, but we would leave the old ones turned on.)
+ Fixes bug 28348; bugfix on 0.3.4.1-alpha.
+
+ o Minor features (continuous integration):
+ - Add a Travis CI build for --enable-nss on Linux gcc. Closes
+ ticket 27751.
+ - Add new CI job to Travis configuration to run stem-based
+ integration tests. Closes ticket 27913.
+
+ o Minor features (Windows, continuous integration):
+ - Build tor on Windows Server 2012 R2 and Windows Server 2016 using
+ Appveyor's CI. Closes ticket 28318.
+
+ o Minor bugfixes (C correctness, also in 0.3.4.9):
+ - Avoid undefined behavior in an end-of-string check when parsing
+ the BEGIN line in a directory object. Fixes bug 28202; bugfix
+ on 0.2.0.3-alpha.
+
+ o Minor bugfixes (compilation):
+ - Fix a pair of missing headers on OpenBSD. Fixes bug 28303; bugfix
+ on 0.3.5.1-alpha. Patch from Kris Katterjohn.
+
+ o Minor bugfixes (compilation, OpenSolaris):
+ - Fix compilation on OpenSolaris and its descendants by adding a
+ missing include to compat_pthreads.c. Fixes bug 27963; bugfix
+ on 0.3.5.1-alpha.
+
+ o Minor bugfixes (configuration):
+ - Refuse to start with relative file paths and RunAsDaemon set
+ (regression from the fix for bug 22731). Fixes bug 28298; bugfix
+ on 0.3.3.1-alpha.
+
+ o Minor bugfixes (directory authority, also in 0.3.4.9):
+ - Log additional info when we get a relay that shares an ed25519 ID
+ with a different relay, instead of a BUG() warning with a
+ backtrace. Fixes bug 27800; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (onion service v3):
+ - Build the service descriptor's signing key certificate before
+ uploading, so we always have a fresh one: leaving no chances for
+ it to expire service side. Fixes bug 27838; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor bugfixes (onion service v3, client authorization):
+ - Fix an assert() when adding a client authorization for the first
+ time and then sending a HUP signal to the service. Before that,
+ Tor would stop abruptly. Fixes bug 27995; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (onion services):
+ - Unless we have explicitly set HiddenServiceVersion, detect the
+ onion service version and then look for invalid options.
+ Previously, we did the reverse, but that broke existing configs
+ which were pointed to a v2 service and had options like
+ HiddenServiceAuthorizeClient set. Fixes bug 28127; bugfix on
+ 0.3.5.1-alpha. Patch by Neel Chauhan.
+
+ o Minor bugfixes (portability):
+ - Make the OPE code (which is used for v3 onion services) run
+ correctly on big-endian platforms. Fixes bug 28115; bugfix
+ on 0.3.5.1-alpha.
+
+ o Minor bugfixes (protover, rust):
+ - Reject extra commas in version strings. Fixes bug 27197; bugfix
+ on 0.3.3.3-alpha.
+
+ o Minor bugfixes (relay shutdown, systemd):
+ - Notify systemd of ShutdownWaitLength so it can be set to longer
+ than systemd's TimeoutStopSec. In Tor's systemd service file, set
+ TimeoutSec to 60 seconds to allow Tor some time to shut down.
+ Fixes bug 28113; bugfix on 0.2.6.2-alpha.
+
+ o Minor bugfixes (rust, also in 0.3.4.9):
+ - Fix a potential null dereference in protover_all_supported(). Add
+ a test for it. Fixes bug 27804; bugfix on 0.3.3.1-alpha.
+ - Return a string that can be safely freed by C code, not one
+ created by the rust allocator, in protover_all_supported(). Fixes
+ bug 27740; bugfix on 0.3.3.1-alpha.
+
+ o Minor bugfixes (rust, directory authority, also in 0.3.4.9):
+ - Fix an API mismatch in the rust implementation of
+ protover_compute_vote(). This bug could have caused crashes on any
+ directory authorities running Tor with Rust (which we do not yet
+ recommend). Fixes bug 27741; bugfix on 0.3.3.6.
+
+ o Minor bugfixes (testing):
+ - Avoid hangs and race conditions in test_rebind.py. Fixes bug
+ 27968; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (testing, also in 0.3.4.9):
+ - Treat backtrace test failures as expected on BSD-derived systems
+ (NetBSD, OpenBSD, and macOS/Darwin) until we solve bug 17808.
+ (FreeBSD failures have been treated as expected since 18204 in
+ 0.2.8.) Fixes bug 27948; bugfix on 0.2.5.2-alpha.
+
+ o Documentation (onion service manpage):
+ - Improve HSv3 client authorization by making some options more
+ explicit and detailed. Closes ticket 28026. Patch by Mike Tigas.
+
+
+Changes in version 0.3.4.9 - 2018-11-02
+ Tor 0.3.4.9 is the second stable release in its series; it backports
+ numerous fixes, including a fix for a bandwidth management bug that
+ was causing memory exhaustion on relays. Anyone running an earlier
+ version of Tor 0.3.4.9 should upgrade.
+
+ o Major bugfixes (compilation, backport from 0.3.5.3-alpha):
+ - Fix compilation on ARM (and other less-used CPUs) when compiling
+ with OpenSSL before 1.1. Fixes bug 27781; bugfix on 0.3.4.1-alpha.
+
+ o Major bugfixes (mainloop, bootstrap, backport from 0.3.5.3-alpha):
+ - Make sure Tor bootstraps and works properly if only the
+ ControlPort is set. Prior to this fix, Tor would only bootstrap
+ when a client port was set (Socks, Trans, NATD, DNS or HTTPTunnel
+ port). Fixes bug 27849; bugfix on 0.3.4.1-alpha.
+
+ o Major bugfixes (relay, backport from 0.3.5.3-alpha):
+ - When our write bandwidth limit is exhausted, stop writing on the
+ connection. Previously, we had a typo in the code that would make
+ us stop reading instead, leading to relay connections being stuck
+ indefinitely and consuming kernel RAM. Fixes bug 28089; bugfix
+ on 0.3.4.1-alpha.
+
+ o Major bugfixes (restart-in-process, backport from 0.3.5.1-alpha):
+ - Fix a use-after-free error that could be caused by passing Tor an
+ impossible set of options that would fail during options_act().
+ Fixes bug 27708; bugfix on 0.3.3.1-alpha.
+
+ o Minor features (continuous integration, backport from 0.3.5.1-alpha):
+ - Don't do a distcheck with --disable-module-dirauth in Travis.
+ Implements ticket 27252.
+ - Only run one online rust build in Travis, to reduce network
+ errors. Skip offline rust builds on Travis for Linux gcc, because
+ they're redundant. Implements ticket 27252.
+ - Skip gcc on OSX in Travis CI, because it's rarely used. Skip a
+ duplicate hardening-off build in Travis on Tor 0.2.9. Skip gcc on
+ Linux with default settings, because all the non-default builds
+ use gcc on Linux. Implements ticket 27252.
+
+ o Minor features (continuous integration, backport from 0.3.5.3-alpha):
+ - Use the Travis Homebrew addon to install packages on macOS during
+ Travis CI. The package list is the same, but the Homebrew addon
+ does not do a `brew update` by default. Implements ticket 27738.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the October 9 2018 Maxmind GeoLite2
+ Country database. Closes ticket 27991.
+
+ o Minor bugfixes (32-bit OSX and iOS, timing, backport from 0.3.5.2-alpha):
+ - Fix an integer overflow bug in our optimized 32-bit millisecond-
+ difference algorithm for 32-bit Apple platforms. Previously, it
+ would overflow when calculating the difference between two times
+ more than 47 days apart. Fixes part of bug 27139; bugfix
+ on 0.3.4.1-alpha.
+ - Improve the precision of our 32-bit millisecond difference
+ algorithm for 32-bit Apple platforms. Fixes part of bug 27139;
+ bugfix on 0.3.4.1-alpha.
+ - Relax the tolerance on the mainloop/update_time_jumps test when
+ running on 32-bit Apple platforms. Fixes part of bug 27139; bugfix
+ on 0.3.4.1-alpha.
+
+ o Minor bugfixes (C correctness, to appear in 0.3.5.4-alpha):
+ - Avoid undefined behavior in an end-of-string check when parsing
+ the BEGIN line in a directory object. Fixes bug 28202; bugfix
+ on 0.2.0.3-alpha.
+
+ o Minor bugfixes (CI, appveyor, to appear in 0.3.5.4-alpha):
+ - Only install the necessary mingw packages during our appveyor
+ builds. This change makes the build a little faster, and prevents
+ a conflict with a preinstalled mingw openssl that appveyor now
+ ships. Fixes bugs 27943 and 27765; bugfix on 0.3.4.2-alpha.
+
+ o Minor bugfixes (code safety, backport from 0.3.5.3-alpha):
+ - Rewrite our assertion macros so that they no longer suppress the
+ compiler's -Wparentheses warnings. Fixes bug 27709; bugfix
+
+ o Minor bugfixes (continuous integration, backport from 0.3.5.1-alpha):
+ - Stop reinstalling identical packages in our Windows CI. Fixes bug
+ 27464; bugfix on 0.3.4.1-alpha.
+
+ o Minor bugfixes (directory authority, to appear in 0.3.5.4-alpha):
+ - Log additional info when we get a relay that shares an ed25519 ID
+ with a different relay, instead making a BUG() warning. Fixes bug
+ 27800; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (directory connection shutdown, backport from 0.3.5.1-alpha):
+ - Avoid a double-close when shutting down a stalled directory
+ connection. Fixes bug 26896; bugfix on 0.3.4.1-alpha.
+
+ o Minor bugfixes (HTTP tunnel, backport from 0.3.5.1-alpha):
+ - Fix a bug warning when closing an HTTP tunnel connection due to an
+ HTTP request we couldn't handle. Fixes bug 26470; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor bugfixes (netflow padding, backport from 0.3.5.1-alpha):
+ - Ensure circuitmux queues are empty before scheduling or sending
+ padding. Fixes bug 25505; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (onion service v3, backport from 0.3.5.1-alpha):
+ - When the onion service directory can't be created or has the wrong
+ permissions, do not log a stack trace. Fixes bug 27335; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor bugfixes (onion service v3, backport from 0.3.5.2-alpha):
+ - Close all SOCKS request (for the same .onion) if the newly fetched
+ descriptor is unusable. Before that, we would close only the first
+ one leaving the other hanging and let to time out by themselves.
+ Fixes bug 27410; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (onion service v3, backport from 0.3.5.3-alpha):
+ - When selecting a v3 rendezvous point, don't only look at the
+ protover, but also check whether the curve25519 onion key is
+ present. This way we avoid picking a relay that supports the v3
+ rendezvous but for which we don't have the microdescriptor. Fixes
+ bug 27797; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (protover, backport from 0.3.5.3-alpha):
+ - Reject protocol names containing bytes other than alphanumeric
+ characters and hyphens ([A-Za-z0-9-]). Fixes bug 27316; bugfix
+ on 0.2.9.4-alpha.
+
+ o Minor bugfixes (rust, backport from 0.3.5.1-alpha):
+ - Compute protover votes correctly in the rust version of the
+ protover code. Previously, the protover rewrite in 24031 allowed
+ repeated votes from the same voter for the same protocol version
+ to be counted multiple times in protover_compute_vote(). Fixes bug
+ 27649; bugfix on 0.3.3.5-rc.
+ - Reject protover names that contain invalid characters. Fixes bug
+ 27687; bugfix on 0.3.3.1-alpha.
+
+ o Minor bugfixes (rust, backport from 0.3.5.2-alpha):
+ - protover_all_supported() would attempt to allocate up to 16GB on
+ some inputs, leading to a potential memory DoS. Fixes bug 27206;
+ bugfix on 0.3.3.5-rc.
+
+ o Minor bugfixes (rust, directory authority, to appear in 0.3.5.4-alpha):
+ - Fix an API mismatch in the rust implementation of
+ protover_compute_vote(). This bug could have caused crashes on any
+ directory authorities running Tor with Rust (which we do not yet
+ recommend). Fixes bug 27741; bugfix on 0.3.3.6.
+
+ o Minor bugfixes (rust, to appear in 0.3.5.4-alpha):
+ - Fix a potential null dereference in protover_all_supported(). Add
+ a test for it. Fixes bug 27804; bugfix on 0.3.3.1-alpha.
+ - Return a string that can be safely freed by C code, not one
+ created by the rust allocator, in protover_all_supported(). Fixes
+ bug 27740; bugfix on 0.3.3.1-alpha.
+
+ o Minor bugfixes (testing, backport from 0.3.5.1-alpha):
+ - If a unit test running in a subprocess exits abnormally or with a
+ nonzero status code, treat the test as having failed, even if the
+ test reported success. Without this fix, memory leaks don't cause
+ the tests to fail, even with LeakSanitizer. Fixes bug 27658;
+ bugfix on 0.2.2.4-alpha.
+
+ o Minor bugfixes (testing, backport from 0.3.5.3-alpha):
+ - Make the hs_service tests use the same time source when creating
+ the introduction point and when testing it. Now tests work better
+ on very slow systems like ARM or Travis. Fixes bug 27810; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor bugfixes (testing, to appear in 0.3.5.4-alpha):
+ - Treat backtrace test failures as expected on BSD-derived systems
+ (NetBSD, OpenBSD, and macOS/Darwin) until we solve bug 17808.
+ (FreeBSD failures have been treated as expected since 18204 in
+ 0.2.8.) Fixes bug 27948; bugfix on 0.2.5.2-alpha.
+
+
Changes in version 0.3.5.3-alpha - 2018-10-17
Tor 0.3.5.3-alpha fixes several bugs, mostly from previous 0.3.5.x
versions. One important fix for relays addresses a problem with rate-
diff --git a/Doxyfile.in b/Doxyfile.in
index 8d8b959fb3..4caf421097 100644
--- a/Doxyfile.in
+++ b/Doxyfile.in
@@ -555,7 +555,7 @@ FILE_PATTERNS = *.c \
# should be searched for input files as well. Possible values are YES and NO.
# If left blank NO is used.
-RECURSIVE = NO
+RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should
# excluded from the INPUT source files. This way you can easily exclude a
diff --git a/Makefile.am b/Makefile.am
index e5c1be31b5..84050f8b34 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -31,9 +31,7 @@ TESTING_TOR_BINARY=$(top_builddir)/src/app/tor$(EXEEXT)
endif
if USE_RUST
-## this MUST be $(), otherwise am__DEPENDENCIES will not track it
-rust_ldadd=$(top_builddir)/$(TOR_RUST_LIB_PATH) \
- $(TOR_RUST_EXTRA_LIBS)
+rust_ldadd=$(top_builddir)/$(TOR_RUST_LIB_PATH)
else
rust_ldadd=
endif
@@ -42,6 +40,7 @@ endif
TOR_UTIL_LIBS = \
src/lib/libtor-geoip.a \
src/lib/libtor-process.a \
+ src/lib/libtor-buf.a \
src/lib/libtor-time.a \
src/lib/libtor-fs.a \
src/lib/libtor-encoding.a \
@@ -62,6 +61,7 @@ TOR_UTIL_LIBS = \
src/lib/libtor-malloc.a \
src/lib/libtor-wallclock.a \
src/lib/libtor-err.a \
+ src/lib/libtor-version.a \
src/lib/libtor-intmath.a \
src/lib/libtor-ctime.a
@@ -71,6 +71,7 @@ if UNITTESTS_ENABLED
TOR_UTIL_TESTING_LIBS = \
src/lib/libtor-geoip-testing.a \
src/lib/libtor-process-testing.a \
+ src/lib/libtor-buf-testing.a \
src/lib/libtor-time-testing.a \
src/lib/libtor-fs-testing.a \
src/lib/libtor-encoding-testing.a \
@@ -91,6 +92,7 @@ TOR_UTIL_TESTING_LIBS = \
src/lib/libtor-malloc-testing.a \
src/lib/libtor-wallclock-testing.a \
src/lib/libtor-err-testing.a \
+ src/lib/libtor-version-testing.a \
src/lib/libtor-intmath.a \
src/lib/libtor-ctime-testing.a
endif
@@ -275,7 +277,7 @@ need-stem-path:
fi
test-stem: need-stem-path $(TESTING_TOR_BINARY)
- @$(PYTHON) "$$STEM_SOURCE_DIR"/run_tests.py --tor "$(TESTING_TOR_BINARY)" --all --log notice --target RUN_ALL;
+ @$(PYTHON) "$$STEM_SOURCE_DIR"/run_tests.py --tor "$(TESTING_TOR_BINARY)" --integ --log notice --target RUN_ALL;
test-stem-full: need-stem-path $(TESTING_TOR_BINARY)
@$(PYTHON) "$$STEM_SOURCE_DIR"/run_tests.py --tor "$(TESTING_TOR_BINARY)" --all --log notice --target RUN_ALL,ONLINE -v;
@@ -416,7 +418,7 @@ endif
.PHONY: update-versions
update-versions:
- $(PERL) $(top_builddir)/scripts/maint/updateVersions.pl
+ abs_top_srcdir="$(abs_top_srcdir)" $(PYTHON) $(top_srcdir)/scripts/maint/update_versions.py
.PHONY: callgraph
callgraph:
diff --git a/ReleaseNotes b/ReleaseNotes
index dd7e823215..e0a25a74b7 100644
--- a/ReleaseNotes
+++ b/ReleaseNotes
@@ -2,6 +2,174 @@ This document summarizes new features and bugfixes in each stable
release of Tor. If you want to see more detailed descriptions of the
changes in each development snapshot, see the ChangeLog file.
+Changes in version 0.3.4.9 - 2018-11-02
+ Tor 0.3.4.9 is the second stable release in its series; it backports
+ numerous fixes, including a fix for a bandwidth management bug that
+ was causing memory exhaustion on relays. Anyone running an earlier
+ version of Tor 0.3.4.9 should upgrade.
+
+ o Major bugfixes (compilation, backport from 0.3.5.3-alpha):
+ - Fix compilation on ARM (and other less-used CPUs) when compiling
+ with OpenSSL before 1.1. Fixes bug 27781; bugfix on 0.3.4.1-alpha.
+
+ o Major bugfixes (mainloop, bootstrap, backport from 0.3.5.3-alpha):
+ - Make sure Tor bootstraps and works properly if only the
+ ControlPort is set. Prior to this fix, Tor would only bootstrap
+ when a client port was set (Socks, Trans, NATD, DNS or HTTPTunnel
+ port). Fixes bug 27849; bugfix on 0.3.4.1-alpha.
+
+ o Major bugfixes (relay, backport from 0.3.5.3-alpha):
+ - When our write bandwidth limit is exhausted, stop writing on the
+ connection. Previously, we had a typo in the code that would make
+ us stop reading instead, leading to relay connections being stuck
+ indefinitely and consuming kernel RAM. Fixes bug 28089; bugfix
+ on 0.3.4.1-alpha.
+
+ o Major bugfixes (restart-in-process, backport from 0.3.5.1-alpha):
+ - Fix a use-after-free error that could be caused by passing Tor an
+ impossible set of options that would fail during options_act().
+ Fixes bug 27708; bugfix on 0.3.3.1-alpha.
+
+ o Minor features (continuous integration, backport from 0.3.5.1-alpha):
+ - Don't do a distcheck with --disable-module-dirauth in Travis.
+ Implements ticket 27252.
+ - Only run one online rust build in Travis, to reduce network
+ errors. Skip offline rust builds on Travis for Linux gcc, because
+ they're redundant. Implements ticket 27252.
+ - Skip gcc on OSX in Travis CI, because it's rarely used. Skip a
+ duplicate hardening-off build in Travis on Tor 0.2.9. Skip gcc on
+ Linux with default settings, because all the non-default builds
+ use gcc on Linux. Implements ticket 27252.
+
+ o Minor features (continuous integration, backport from 0.3.5.3-alpha):
+ - Use the Travis Homebrew addon to install packages on macOS during
+ Travis CI. The package list is the same, but the Homebrew addon
+ does not do a `brew update` by default. Implements ticket 27738.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the October 9 2018 Maxmind GeoLite2
+ Country database. Closes ticket 27991.
+
+ o Minor bugfixes (32-bit OSX and iOS, timing, backport from 0.3.5.2-alpha):
+ - Fix an integer overflow bug in our optimized 32-bit millisecond-
+ difference algorithm for 32-bit Apple platforms. Previously, it
+ would overflow when calculating the difference between two times
+ more than 47 days apart. Fixes part of bug 27139; bugfix
+ on 0.3.4.1-alpha.
+ - Improve the precision of our 32-bit millisecond difference
+ algorithm for 32-bit Apple platforms. Fixes part of bug 27139;
+ bugfix on 0.3.4.1-alpha.
+ - Relax the tolerance on the mainloop/update_time_jumps test when
+ running on 32-bit Apple platforms. Fixes part of bug 27139; bugfix
+ on 0.3.4.1-alpha.
+
+ o Minor bugfixes (C correctness, to appear in 0.3.5.4-alpha):
+ - Avoid undefined behavior in an end-of-string check when parsing
+ the BEGIN line in a directory object. Fixes bug 28202; bugfix
+ on 0.2.0.3-alpha.
+
+ o Minor bugfixes (CI, appveyor, to appear in 0.3.5.4-alpha):
+ - Only install the necessary mingw packages during our appveyor
+ builds. This change makes the build a little faster, and prevents
+ a conflict with a preinstalled mingw openssl that appveyor now
+ ships. Fixes bugs 27943 and 27765; bugfix on 0.3.4.2-alpha.
+
+ o Minor bugfixes (code safety, backport from 0.3.5.3-alpha):
+ - Rewrite our assertion macros so that they no longer suppress the
+ compiler's -Wparentheses warnings. Fixes bug 27709; bugfix
+
+ o Minor bugfixes (continuous integration, backport from 0.3.5.1-alpha):
+ - Stop reinstalling identical packages in our Windows CI. Fixes bug
+ 27464; bugfix on 0.3.4.1-alpha.
+
+ o Minor bugfixes (directory authority, to appear in 0.3.5.4-alpha):
+ - Log additional info when we get a relay that shares an ed25519 ID
+ with a different relay, instead making a BUG() warning. Fixes bug
+ 27800; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (directory connection shutdown, backport from 0.3.5.1-alpha):
+ - Avoid a double-close when shutting down a stalled directory
+ connection. Fixes bug 26896; bugfix on 0.3.4.1-alpha.
+
+ o Minor bugfixes (HTTP tunnel, backport from 0.3.5.1-alpha):
+ - Fix a bug warning when closing an HTTP tunnel connection due to an
+ HTTP request we couldn't handle. Fixes bug 26470; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor bugfixes (netflow padding, backport from 0.3.5.1-alpha):
+ - Ensure circuitmux queues are empty before scheduling or sending
+ padding. Fixes bug 25505; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (onion service v3, backport from 0.3.5.1-alpha):
+ - When the onion service directory can't be created or has the wrong
+ permissions, do not log a stack trace. Fixes bug 27335; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor bugfixes (onion service v3, backport from 0.3.5.2-alpha):
+ - Close all SOCKS request (for the same .onion) if the newly fetched
+ descriptor is unusable. Before that, we would close only the first
+ one leaving the other hanging and let to time out by themselves.
+ Fixes bug 27410; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (onion service v3, backport from 0.3.5.3-alpha):
+ - When selecting a v3 rendezvous point, don't only look at the
+ protover, but also check whether the curve25519 onion key is
+ present. This way we avoid picking a relay that supports the v3
+ rendezvous but for which we don't have the microdescriptor. Fixes
+ bug 27797; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (protover, backport from 0.3.5.3-alpha):
+ - Reject protocol names containing bytes other than alphanumeric
+ characters and hyphens ([A-Za-z0-9-]). Fixes bug 27316; bugfix
+ on 0.2.9.4-alpha.
+
+ o Minor bugfixes (rust, backport from 0.3.5.1-alpha):
+ - Compute protover votes correctly in the rust version of the
+ protover code. Previously, the protover rewrite in 24031 allowed
+ repeated votes from the same voter for the same protocol version
+ to be counted multiple times in protover_compute_vote(). Fixes bug
+ 27649; bugfix on 0.3.3.5-rc.
+ - Reject protover names that contain invalid characters. Fixes bug
+ 27687; bugfix on 0.3.3.1-alpha.
+
+ o Minor bugfixes (rust, backport from 0.3.5.2-alpha):
+ - protover_all_supported() would attempt to allocate up to 16GB on
+ some inputs, leading to a potential memory DoS. Fixes bug 27206;
+ bugfix on 0.3.3.5-rc.
+
+ o Minor bugfixes (rust, directory authority, to appear in 0.3.5.4-alpha):
+ - Fix an API mismatch in the rust implementation of
+ protover_compute_vote(). This bug could have caused crashes on any
+ directory authorities running Tor with Rust (which we do not yet
+ recommend). Fixes bug 27741; bugfix on 0.3.3.6.
+
+ o Minor bugfixes (rust, to appear in 0.3.5.4-alpha):
+ - Fix a potential null dereference in protover_all_supported(). Add
+ a test for it. Fixes bug 27804; bugfix on 0.3.3.1-alpha.
+ - Return a string that can be safely freed by C code, not one
+ created by the rust allocator, in protover_all_supported(). Fixes
+ bug 27740; bugfix on 0.3.3.1-alpha.
+
+ o Minor bugfixes (testing, backport from 0.3.5.1-alpha):
+ - If a unit test running in a subprocess exits abnormally or with a
+ nonzero status code, treat the test as having failed, even if the
+ test reported success. Without this fix, memory leaks don't cause
+ the tests to fail, even with LeakSanitizer. Fixes bug 27658;
+ bugfix on 0.2.2.4-alpha.
+
+ o Minor bugfixes (testing, backport from 0.3.5.3-alpha):
+ - Make the hs_service tests use the same time source when creating
+ the introduction point and when testing it. Now tests work better
+ on very slow systems like ARM or Travis. Fixes bug 27810; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor bugfixes (testing, to appear in 0.3.5.4-alpha):
+ - Treat backtrace test failures as expected on BSD-derived systems
+ (NetBSD, OpenBSD, and macOS/Darwin) until we solve bug 17808.
+ (FreeBSD failures have been treated as expected since 18204 in
+ 0.2.8.) Fixes bug 27948; bugfix on 0.2.5.2-alpha.
+
+
Changes in version 0.2.9.17 - 2018-09-10
Tor 0.2.9.17 backports numerous bugfixes from later versions of Tor.
diff --git a/changes/bug21900 b/changes/bug21900
new file mode 100644
index 0000000000..686cb6c584
--- /dev/null
+++ b/changes/bug21900
@@ -0,0 +1,4 @@
+ o Minor bugfixes (DNS):
+ - Gracefully handle empty or absent resolve.conf file by falling
+ back to using localhost DNS service and hoping it works. Fixes
+ bug 21900; bugfix on 0.2.1.10-alpha.
diff --git a/changes/bug23082 b/changes/bug23082
new file mode 100644
index 0000000000..fc4b52c364
--- /dev/null
+++ b/changes/bug23082
@@ -0,0 +1,4 @@
+ o Minor bugfixes (networking):
+ - Introduce additional checks into tor_addr_parse() to
+ reject certain incorrect inputs that previously were
+ not detected. Fixes bug 23082; bugfix on 0.2.0.10-alpha.
diff --git a/changes/bug24393 b/changes/bug24393
new file mode 100644
index 0000000000..e190192319
--- /dev/null
+++ b/changes/bug24393
@@ -0,0 +1,6 @@
+ o Minor features (ipv6):
+ - When using addrs_in_same_network_family(), check IPv6 subnets as well as
+ IPv4 ones where possible when a client chooses circuit paths. Previously,
+ we used this function only for IPv4 subnets. Closes ticket 24393. Patch
+ by Neel Chauhan.
+
diff --git a/changes/bug24661 b/changes/bug24661
new file mode 100644
index 0000000000..a915a93e0e
--- /dev/null
+++ b/changes/bug24661
@@ -0,0 +1,3 @@
+ o Minor bugfixes (client, guard selection):
+ - When Tor's consensus has expired, but is still reasonably live, use it
+ to select guards. Fixes bug 24661; bugfix on 0.3.0.1-alpha.
diff --git a/changes/bug25885 b/changes/bug25885
new file mode 100644
index 0000000000..1b89acfe06
--- /dev/null
+++ b/changes/bug25885
@@ -0,0 +1,7 @@
+ o Minor bugfixes (guards):
+ - In count_acceptable_nodes(), check if we have at least one bridge
+ or guard node, and two non-guard nodes for a circuit. Previously,
+ we have added up the sum of all nodes with a descriptor, but that
+ could cause us to build circuits that fail if we had either too
+ many bridges, or not enough guard nodes. Fixes bug 25885; bugfix
+ on 0.3.6.1-alpha. Patch by Neel Chauhan.
diff --git a/changes/bug27197 b/changes/bug27197
deleted file mode 100644
index e389f85065..0000000000
--- a/changes/bug27197
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (protover, rust):
- - Reject extra commas in version string. Fixes bug 27197; bugfix on
- 0.3.3.3-alpha.
diff --git a/changes/bug27707 b/changes/bug27707
new file mode 100644
index 0000000000..e114222741
--- /dev/null
+++ b/changes/bug27707
@@ -0,0 +1,3 @@
+ o Minor features (log messages):
+ - Improve log message in HSv3 service that could print out negative
+ revision counters. Closes ticket 27707. Patch by "ffmancera". \ No newline at end of file
diff --git a/changes/bug27740 b/changes/bug27740
deleted file mode 100644
index 76a17b7dda..0000000000
--- a/changes/bug27740
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (rust):
- - Return a string that can be safely freed by C code, not one created by
- the rust allocator, in protover_all_supported(). Fixes bug 27740; bugfix
- on 0.3.3.1-alpha.
diff --git a/changes/bug27800 b/changes/bug27800
deleted file mode 100644
index 63d5dbc681..0000000000
--- a/changes/bug27800
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (directory authority):
- - Log additional info when we get a relay that shares an ed25519
- ID with a different relay, instead making a BUG() warning.
- Fixes bug 27800; bugfix on 0.3.2.1-alpha.
diff --git a/changes/bug27804 b/changes/bug27804
deleted file mode 100644
index fa7fec0bc5..0000000000
--- a/changes/bug27804
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (rust):
- - Fix a potential null dereference in protover_all_supported().
- Add a test for it. Fixes bug 27804; bugfix on 0.3.3.1-alpha.
diff --git a/changes/bug27929 b/changes/bug27929
new file mode 100644
index 0000000000..dab57a2eca
--- /dev/null
+++ b/changes/bug27929
@@ -0,0 +1,5 @@
+ o Minor bugfixes (periodic events):
+ - Refrain from calling routerlist_remove_old_routers() from
+ check_descriptor_callback(). Instead, create a new periodic
+ event that will run once every hour even if Tor is not configured
+ as onion router. Fixes bug 27929; bugfix on 0.2.8.1-alpha.
diff --git a/changes/bug28115 b/changes/bug28115
deleted file mode 100644
index e3e29968eb..0000000000
--- a/changes/bug28115
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (portability):
- - Make the OPE code (which is used for v3 onion services) run correctly
- on big-endian platforms. Fixes bug 28115; bugfix on 0.3.5.1-alpha.
diff --git a/changes/bug28518 b/changes/bug28518
new file mode 100644
index 0000000000..d7ebab29bb
--- /dev/null
+++ b/changes/bug28518
@@ -0,0 +1,4 @@
+ o Minor features (FreeBSD):
+ - Warn relay operators if the "net.inet.ip.random_id" sysctl (IP ID
+ randomization) is disabled on their relay if it is running on FreeBSD
+ based operating systems. Closes ticket 28518.
diff --git a/changes/bug28568 b/changes/bug28568
new file mode 100644
index 0000000000..919ec08903
--- /dev/null
+++ b/changes/bug28568
@@ -0,0 +1,4 @@
+ o Minor bugfixes (testing):
+ - Stop running stem's unit tests as part of "make test-stem". But continue
+ to run stem's unit and online tests during "make test-stem-full".
+ Fixes bug 28568; bugfix on 0.2.6.3-alpha.
diff --git a/changes/bug28569 b/changes/bug28569
new file mode 100644
index 0000000000..45a57a80ae
--- /dev/null
+++ b/changes/bug28569
@@ -0,0 +1,3 @@
+ o Minor bugfixes (unit tests, directory clients):
+ - Mark outdated dirservers when Tor only has a reasonably live consensus.
+ Fixes bug 28569; bugfix on 0.3.2.5-alpha.
diff --git a/changes/bug28612 b/changes/bug28612
new file mode 100644
index 0000000000..559f254234
--- /dev/null
+++ b/changes/bug28612
@@ -0,0 +1,4 @@
+ o Minor bugfixes (windows services):
+ - Make Tor start correctly as an NT service again: previously it
+ was broken by refactoring. Fixes bug 28612; bugfix on 0.3.5.3-alpha.
+
diff --git a/changes/doc28560 b/changes/doc28560
new file mode 100644
index 0000000000..c3356bda0a
--- /dev/null
+++ b/changes/doc28560
@@ -0,0 +1,3 @@
+ o Documentation (hidden service manpage, sandbox):
+ - Mention that you cannot add new Onion Service if Tor is already
+ running with Sandbox enabled. Closes ticket 28560.
diff --git a/changes/feature27244 b/changes/feature27244
new file mode 100644
index 0000000000..a4debbbe53
--- /dev/null
+++ b/changes/feature27244
@@ -0,0 +1,5 @@
+ o Minor features (memory usage):
+ - Tor clients no longer need to keep the full text of a consensus in
+ memory in order to parse it, or apply a diff to it. Instead, they
+ use mmap() to read the consensus files from disk. Closes ticket
+ 27244.
diff --git a/changes/feature27367 b/changes/feature27367
new file mode 100644
index 0000000000..99c0839621
--- /dev/null
+++ b/changes/feature27367
@@ -0,0 +1,4 @@
+ o Minor features (parsing):
+ - Directory authorities now validate that router descriptors and ExtraInfo
+ documents are in a valid subset of UTF-8, and reject them if not.
+ Closes ticket 27367.
diff --git a/changes/prop297 b/changes/prop297
new file mode 100644
index 0000000000..4f93b232d2
--- /dev/null
+++ b/changes/prop297
@@ -0,0 +1,7 @@
+ o Minor features (required protocols):
+ - Tor no longer exits if it is missing a required protocol, if the
+ consensus that requires the protocol predates the release date of the
+ version of Tor. This change prevents Tor releases from exiting because
+ of an old cached consensus, on the theory that a newer cached
+ consensus might not require the protocol. Implements proposal 297;
+ closes ticket 27735.
diff --git a/changes/subsystems b/changes/subsystems
new file mode 100644
index 0000000000..a51fb8e2b1
--- /dev/null
+++ b/changes/subsystems
@@ -0,0 +1,6 @@
+ o Major features (refactoring):
+ - Tor now uses an explicit list of its own subsystems when initializing
+ and shutting down. Previously, these systems were managed implicitly
+ though various places throughout the codebase. (There still some
+ subsystems using the old system.)
+ Closes ticket 28330.
diff --git a/changes/ticket24805 b/changes/ticket24805
new file mode 100644
index 0000000000..4ba6f6ecd4
--- /dev/null
+++ b/changes/ticket24805
@@ -0,0 +1,3 @@
+ o Minor features (fallback directory list):
+ - Update the fallback whitelist based on operator opt-ins and opt-outs.
+ Closes ticket 24805, patch by Phoul.
diff --git a/changes/ticket24838 b/changes/ticket24838
new file mode 100644
index 0000000000..d068e31b91
--- /dev/null
+++ b/changes/ticket24838
@@ -0,0 +1,6 @@
+ o Minor features (fallback directory mirrors):
+ - Accept relays that are a fuzzy match to a fallback whitelist entry.
+ If a relay matches at least one fingerprint, IPv4 address, or IPv6
+ address in the fallback whitelist, it can become a fallback. This
+ reduces the work required to keep the list up to date.
+ Closes ticket 24838.
diff --git a/changes/ticket26360 b/changes/ticket26360
new file mode 100644
index 0000000000..80afbd1c17
--- /dev/null
+++ b/changes/ticket26360
@@ -0,0 +1,4 @@
+ o Minor bugfixes (pluggable transports):
+ - Make sure that data is continously read from standard out and error of the
+ PT child-process to avoid deadlocking when the pipes' buffer is full.
+ Fixes bug 26360; bugfix on 0.2.3.6-alpha.
diff --git a/changes/ticket26770 b/changes/ticket26770
new file mode 100644
index 0000000000..7f3e92e9dd
--- /dev/null
+++ b/changes/ticket26770
@@ -0,0 +1,8 @@
+ o Minor features (directory authority, relay):
+ - Authorities now vote on a "StaleDesc" flag to indicate that a relay's
+ descriptor is so old that the relay should upload again soon. Relays
+ understand this flag, and treat it as a signal to upload a new
+ descriptor. This flag will eventually let us remove the 'published'
+ date from routerstatus entries, and save a great deal of space in our
+ consensus diffs. Closes ticket 26770; implements proposal 293.
+
diff --git a/changes/ticket27225 b/changes/ticket27225
new file mode 100644
index 0000000000..4c05a269d6
--- /dev/null
+++ b/changes/ticket27225
@@ -0,0 +1,5 @@
+ o Minor features (performance):
+ - Avoid parsing the same protocol-versions string over and over
+ in summarize_protover_flags(). This should save us a huge number
+ of malloc calls on startup, and may reduce memory fragmentation with
+ some allocators. Closes ticket 27225.
diff --git a/changes/ticket27359 b/changes/ticket27359
new file mode 100644
index 0000000000..bddc90634d
--- /dev/null
+++ b/changes/ticket27359
@@ -0,0 +1,3 @@
+ o Minor features (memory usage):
+ - Store microdescriptor family lists with a more compact representation
+ to save memory. Closes ticket 27359.
diff --git a/changes/ticket27402 b/changes/ticket27402
new file mode 100644
index 0000000000..b79fb56760
--- /dev/null
+++ b/changes/ticket27402
@@ -0,0 +1,10 @@
+ o Minor feature (bootstrap):
+ - When reporting bootstrap progress, stop distinguishing between
+ situations where it seems that only internal paths are available
+ and situations where it seems that external paths are available.
+ Previously, tor would often erroneously report that it had only
+ internal paths. Closes ticket 27402.
+
+ o Code simplification and refactoring:
+ - Split out bootstrap progress reporting from control.c into a
+ separate file. Part of ticket 27402.
diff --git a/changes/ticket27471 b/changes/ticket27471
deleted file mode 100644
index ffe77d268e..0000000000
--- a/changes/ticket27471
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (hidden service v3, client):
- - When replacing a descriptor in the client cache with a newer descriptor,
- make sure to close all client introduction circuits of the old
- descriptor so we don't end up with unusable leftover circuits. Fixes bug
- 27471; bugfix on 0.3.2.1-alpha.
diff --git a/changes/ticket27490 b/changes/ticket27490
new file mode 100644
index 0000000000..523477dfea
--- /dev/null
+++ b/changes/ticket27490
@@ -0,0 +1,6 @@
+ o Minor features (ipv6):
+ - We add an option ClientAutoIPv6ORPort which makes clients randomly
+ prefer a node's IPv4 or IPv6 ORPort. The random preference is set
+ every time a node is loaded from a new consensus or bridge config.
+ Closes ticket 27490. Patch by Neel Chauhan.
+
diff --git a/changes/ticket27620 b/changes/ticket27620
new file mode 100644
index 0000000000..6c491696d0
--- /dev/null
+++ b/changes/ticket27620
@@ -0,0 +1,3 @@
+ o Code simplification and refactoring:
+ - Rework SOCKS wire format handling to rely on trunnel-generated
+ parsing/generation code. Resolves ticket 27620.
diff --git a/changes/ticket27751 b/changes/ticket27751
deleted file mode 100644
index 593c473b61..0000000000
--- a/changes/ticket27751
+++ /dev/null
@@ -1,2 +0,0 @@
- o Minor features (continuous integration):
- - Add a Travis CI build for --enable-nss on Linux gcc. Closes ticket 27751.
diff --git a/changes/ticket27993 b/changes/ticket27993
new file mode 100644
index 0000000000..78ee7c2054
--- /dev/null
+++ b/changes/ticket27993
@@ -0,0 +1,3 @@
+ o Minor features (developer tooling):
+ - Provide git hook script to prevent "fixup!" and "squash!" commits from
+ ending up in master. Closes ticket 27993.
diff --git a/changes/ticket28006 b/changes/ticket28006
new file mode 100644
index 0000000000..95a4b2cae4
--- /dev/null
+++ b/changes/ticket28006
@@ -0,0 +1,3 @@
+ o Code simplification and refactoring:
+ - Fix issues that shellcheck found in chutney-git-bisect.sh.
+ Resolves ticket 28006.
diff --git a/changes/ticket28007 b/changes/ticket28007
new file mode 100644
index 0000000000..1ac87862eb
--- /dev/null
+++ b/changes/ticket28007
@@ -0,0 +1,3 @@
+ o Code simplification and refactoring:
+ - Cleanup scan-build.sh to silence shellcheck warnings.
+ Closes ticket 28007.
diff --git a/changes/ticket28008 b/changes/ticket28008
new file mode 100644
index 0000000000..1f0de1a14d
--- /dev/null
+++ b/changes/ticket28008
@@ -0,0 +1,3 @@
+ o Code simplification and refactoring:
+ - Fix shellcheck warnings in scripts/test/coverage. Resolves issue
+ 28008.
diff --git a/changes/ticket28009 b/changes/ticket28009
new file mode 100644
index 0000000000..1d986d4211
--- /dev/null
+++ b/changes/ticket28009
@@ -0,0 +1,3 @@
+ o Code simplification and refactoring:
+ - Fix shellcheck warnings in cov-diff script. Resolves issue
+ 28009.
diff --git a/changes/ticket28010 b/changes/ticket28010
new file mode 100644
index 0000000000..4fca17d022
--- /dev/null
+++ b/changes/ticket28010
@@ -0,0 +1,3 @@
+ o Code simplification and refactoring:
+ - Fix shellcheck warnings in run_trunnel.sh. Resolves issue
+ 28010.
diff --git a/changes/ticket28011 b/changes/ticket28011
new file mode 100644
index 0000000000..5efc3c917b
--- /dev/null
+++ b/changes/ticket28011
@@ -0,0 +1,3 @@
+ o Code simplification and refactoring:
+ - Fix shellcheck warnings in run_calltool.sh. Resolves
+ ticket 28011.
diff --git a/changes/ticket28012 b/changes/ticket28012
new file mode 100644
index 0000000000..b2fe83e02a
--- /dev/null
+++ b/changes/ticket28012
@@ -0,0 +1,3 @@
+ o Code simplification and refactoring:
+ - Fix issues that shellcheck found in updateRustDependencies.sh.
+ Resolves ticket 28012.
diff --git a/changes/ticket28077 b/changes/ticket28077
new file mode 100644
index 0000000000..2b5afb1678
--- /dev/null
+++ b/changes/ticket28077
@@ -0,0 +1,3 @@
+ o Code simplification and refactoring:
+ - Remove unnecessarily unsafe code from the rust macro cstr!. Closes
+ ticket 28077.
diff --git a/changes/ticket28100 b/changes/ticket28100
new file mode 100644
index 0000000000..b8e3271013
--- /dev/null
+++ b/changes/ticket28100
@@ -0,0 +1,3 @@
+ o Minor features (HTTP standards compliance):
+ - Don't send Content-Type: application/octet-stream for transparently
+ compressed documents, which confused browsers. Closes ticket 28100.
diff --git a/changes/ticket28179 b/changes/ticket28179
new file mode 100644
index 0000000000..f548c4a79a
--- /dev/null
+++ b/changes/ticket28179
@@ -0,0 +1,5 @@
+ o Minor features (process):
+ - Add new Process API for handling child processes. This
+ new API allows Tor to have bi-directional
+ communication with child processes on both Unix and Windows.
+ Closes ticket 28179.
diff --git a/changes/ticket28180 b/changes/ticket28180
new file mode 100644
index 0000000000..2ec547bd47
--- /dev/null
+++ b/changes/ticket28180
@@ -0,0 +1,3 @@
+ o Minor features (pluggable transports):
+ - Add support for logging to Tor's logging subsystem from a pluggable
+ transport process. Partial implementation for ticket 28180
diff --git a/changes/ticket28266 b/changes/ticket28266
new file mode 100644
index 0000000000..e0bc171080
--- /dev/null
+++ b/changes/ticket28266
@@ -0,0 +1,10 @@
+ o Minor features (directory authority):
+ - Directory authorities support a new consensus algorithm,
+ under which microdescriptor entries are encoded in a canonical
+ form. This improves their compressibility in transit and on the client.
+ Closes ticket 28266; implements proposal 298.
+
+ o Minor features (relay):
+ - When listing relay families, list them in canonical form including the
+ relay's own identity, and try to give a more useful set of warnings.
+ Part of ticket 28266 and proposal 298.
diff --git a/changes/ticket28335 b/changes/ticket28335
new file mode 100644
index 0000000000..eecf7c7fd9
--- /dev/null
+++ b/changes/ticket28335
@@ -0,0 +1,7 @@
+ o Major features (client):
+ - When Tor is running as a client, and it is unused for a long time, it
+ can now enter a "dormant" state. When Tor is dormant, it avoids
+ network activity and CPU wakeups until it is reawoken either by a user
+ request or by a controller command. For more information, see
+ the configuration options starting with "Dormant". Implements tickets
+ 2149 and 28335.
diff --git a/changes/ticket28362 b/changes/ticket28362
new file mode 100644
index 0000000000..4ac22d50f2
--- /dev/null
+++ b/changes/ticket28362
@@ -0,0 +1,6 @@
+ o Code simplification and refactoring:
+ - The .may_include files that we use to describe our
+ directory-by-directory dependency structure now describe a noncircular
+ dependency graph over the directories that they cover.
+ Our checkIncludes.py tool now enforces this.
+ Closes ticket 28362.
diff --git a/changes/ticket28551 b/changes/ticket28551
new file mode 100644
index 0000000000..46ba9d713b
--- /dev/null
+++ b/changes/ticket28551
@@ -0,0 +1,3 @@
+ o Minor features (Continuous Integration):
+ - Log Python version during each Travis CI job. Resolves issue
+ 28551.
diff --git a/changes/ticket28624 b/changes/ticket28624
new file mode 100644
index 0000000000..353f962be9
--- /dev/null
+++ b/changes/ticket28624
@@ -0,0 +1,5 @@
+ o Minor features (battery management, client, dormant mode):
+ - The client's memory of whether it is "dormant", and how long it has
+ spend idle, persists across invocations. Implements ticket 28624.
+ - There is a DormantOnFirstStartup option that integrators can use if
+ they expect that in many cases, Tor will be installed but not used.
diff --git a/changes/ticket28768 b/changes/ticket28768
new file mode 100644
index 0000000000..27d90febc8
--- /dev/null
+++ b/changes/ticket28768
@@ -0,0 +1,4 @@
+ o Minor features (fallback directory mirrors):
+ - Accept fallbacks that deliver reasonably live consensuses.
+ (Consensuses that will become valid less than 24 hours in the future,
+ or that expired less than 24 hours ago.) Closes ticket 28768.
diff --git a/changes/ticket28839 b/changes/ticket28839
new file mode 100644
index 0000000000..e9f81dc405
--- /dev/null
+++ b/changes/ticket28839
@@ -0,0 +1,3 @@
+ o Minor features (performance):
+ - Speed up microdesriptor parsing by about 30%, to help
+ improve startup time. Closes ticket 28839.
diff --git a/changes/ticket28840 b/changes/ticket28840
new file mode 100644
index 0000000000..05d3fbb94c
--- /dev/null
+++ b/changes/ticket28840
@@ -0,0 +1,3 @@
+ o Minor features (testing):
+ - Allow HeartbeatPeriod of less than 30 minutes in testing Tor networks.
+ Closes ticket 28840, patch by robgjansen
diff --git a/changes/ticket28853 b/changes/ticket28853
new file mode 100644
index 0000000000..e76f6bd8c9
--- /dev/null
+++ b/changes/ticket28853
@@ -0,0 +1,3 @@
+ o Minor features (performance):
+ - Replace parse_short_policy() with a faster implementation, to improve
+ microdescriptor parsing time. Closes ticket 28853.
diff --git a/changes/ticket28881 b/changes/ticket28881
new file mode 100644
index 0000000000..1b015a6c37
--- /dev/null
+++ b/changes/ticket28881
@@ -0,0 +1,4 @@
+ o Code simplification and refactoring:
+ - When parsing a port configuration, make it more
+ obvious to static analyzer tools that we will always initialize the
+ address. Closes ticket 28881.
diff --git a/changes/ticket28883 b/changes/ticket28883
new file mode 100644
index 0000000000..1d8b6cb416
--- /dev/null
+++ b/changes/ticket28883
@@ -0,0 +1,4 @@
+ o Minor bugfixes (testing):
+ - Make sure that test_rebind.py actually obeys its timeout, even
+ when it receives a large number of log messages. Fixes bug 28883;
+ bugfix on 0.3.5.4-alpha.
diff --git a/configure.ac b/configure.ac
index 292244f56f..7f0d375440 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,10 +4,19 @@ dnl Copyright (c) 2007-2018, The Tor Project, Inc.
dnl See LICENSE for licensing information
AC_PREREQ([2.63])
-AC_INIT([tor],[0.3.6.0-alpha-dev])
+AC_INIT([tor],[0.4.0.0-alpha-dev])
AC_CONFIG_SRCDIR([src/app/main/tor_main.c])
AC_CONFIG_MACRO_DIR([m4])
+# DO NOT EDIT THIS DEFINITION BY HAND UNLESS YOU KNOW WHAT YOU'RE DOING.
+#
+# The update_versions.py script updates this definition when the
+# version number changes. Tor uses it to make sure that it
+# only shuts down for missing "required protocols" when those protocols
+# are listed as required by a consensus after this date.
+AC_DEFINE(APPROX_RELEASE_DATE, ["2019-01-15"], # for 0.4.0.0-alpha-dev
+ [Approximate date when this software was released. (Updated when the version changes.)])
+
# "foreign" means we don't follow GNU package layout standards
# "1.11" means we require automake version 1.11 or newer
# "subdir-objects" means put .o files in the same directory as the .c files
@@ -503,15 +512,6 @@ if test "x$enable_rust" = "xyes"; then
fi
fi
- dnl This is a workaround for #46797
- dnl (a.k.a https://github.com/rust-lang/rust/issues/46797 ). Once the
- dnl upstream bug is fixed, we can remove this workaround.
- case "$host_os" in
- darwin*)
- TOR_RUST_EXTRA_LIBS="-lresolv"
- ;;
- esac
-
dnl For now both MSVC and MinGW rust libraries will output static libs with
dnl the MSVC naming convention.
if test "$bwin32" = "true"; then
@@ -556,8 +556,6 @@ if test "x$enable_rust" = "xyes"; then
AC_MSG_RESULT([$RUSTC_VERSION])
fi
-AC_SUBST(TOR_RUST_EXTRA_LIBS)
-
AC_SEARCH_LIBS(socket, [socket network])
AC_SEARCH_LIBS(gethostbyname, [nsl])
AC_SEARCH_LIBS(dlopen, [dl])
@@ -812,6 +810,8 @@ fi
dnl Now check for particular libevent functions.
AC_CHECK_FUNCS([evutil_secure_rng_set_urandom_device_file \
evutil_secure_rng_add_bytes \
+ evdns_base_get_nameserver_addr \
+
])
LIBS="$save_LIBS"
@@ -953,6 +953,7 @@ AC_CHECK_FUNCS([ \
SSL_get_server_random \
SSL_get_client_ciphers \
SSL_get_client_random \
+ SSL_CTX_set1_groups_list \
SSL_CIPHER_find \
SSL_CTX_set_security_level \
TLS_method
@@ -1210,17 +1211,17 @@ dnl variable.
RUST_LINKER_OPTIONS=""
if test "x$have_clang" = "xyes"; then
if test "x$CFLAGS_ASAN" != "x"; then
- RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS $CFLAGS_ASAN"
+ RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -Clink-arg=$CFLAGS_ASAN -Cdefault-linker-libraries"
fi
if test "x$CFLAGS_UBSAN" != "x"; then
- RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS $CFLAGS_UBSAN"
+ RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -Clink-arg=$CFLAGS_UBSAN -Cdefault-linker-libraries"
fi
else
if test "x$CFLAGS_ASAN" != "x"; then
- RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -lasan"
+ RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -Clink-arg=-fsanitize=address -Cdefault-linker-libraries"
fi
if test "x$CFLAGS_UBSAN" != "x"; then
- RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -lubsan"
+ RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -Clink-arg=-fsanitize=undefined -Cdefault-linker-libraries"
fi
fi
AC_SUBST(RUST_LINKER_OPTIONS)
@@ -2416,7 +2417,6 @@ AC_CONFIG_FILES([
Doxyfile
Makefile
config.rust
- link_rust.sh
contrib/dist/suse/tor.sh
contrib/operator-tools/tor.logrotate
contrib/dist/tor.sh
@@ -2426,7 +2426,6 @@ AC_CONFIG_FILES([
src/config/torrc.minimal
src/rust/.cargo/config
scripts/maint/checkOptionDocs.pl
- scripts/maint/updateVersions.pl
])
if test "x$asciidoc" = "xtrue" && test "$ASCIIDOC" = "none"; then
diff --git a/contrib/dist/tor.service.in b/contrib/dist/tor.service.in
index 9c1a255b2e..e857a8664e 100644
--- a/contrib/dist/tor.service.in
+++ b/contrib/dist/tor.service.in
@@ -15,7 +15,7 @@ ExecStartPre=@BINDIR@/tor -f @CONFDIR@/torrc --verify-config
ExecStart=@BINDIR@/tor -f @CONFDIR@/torrc
ExecReload=/bin/kill -HUP ${MAINPID}
KillSignal=SIGINT
-TimeoutSec=30
+TimeoutSec=60
Restart=on-failure
WatchdogSec=1m
LimitNOFILE=32768
diff --git a/contrib/win32build/tor-mingw.nsi.in b/contrib/win32build/tor-mingw.nsi.in
index 8b9b709698..af01a2b499 100644
--- a/contrib/win32build/tor-mingw.nsi.in
+++ b/contrib/win32build/tor-mingw.nsi.in
@@ -8,7 +8,7 @@
!include "LogicLib.nsh"
!include "FileFunc.nsh"
!insertmacro GetParameters
-!define VERSION "0.3.6.0-alpha-dev"
+!define VERSION "0.4.0.0-alpha-dev"
!define INSTALLER "tor-${VERSION}-win32.exe"
!define WEBSITE "https://www.torproject.org/"
!define LICENSE "LICENSE"
diff --git a/doc/HACKING/Maintaining.md b/doc/HACKING/Maintaining.md
new file mode 100644
index 0000000000..22d62b5471
--- /dev/null
+++ b/doc/HACKING/Maintaining.md
@@ -0,0 +1,113 @@
+# Maintaining Tor
+
+This document details the duties and processes on maintaining the Tor code
+base.
+
+The first section describes who is the current Tor maintainer and what are the
+responsabilities. Tor has one main single maintainer but does have many
+committers and subsystem maintainers.
+
+The second third section describes how the **alpha and master** branches are
+maintained and by whom.
+
+Finally, the last section describes how the **stable** branches are maintained
+and by whom.
+
+This document does not cover how Tor is released, please see
+[ReleasingTor.md](ReleasingTor.md) for that information.
+
+## Tor Maintainer
+
+The current maintainer is Nick Mathewson <nickm@torproject.org>.
+
+The maintainer takes final decisions in terms of engineering, architecture and
+protocol design. Releasing Tor falls under their responsability.
+
+## Alpha and Master Branches
+
+The Tor repository always has at all time a **master** branch which contains
+the upstream ongoing development.
+
+It may also contains a branch for a released feature freezed version which is
+called the **alpha** branch. The git tag and version number is always
+postfixed with `-alpha[-dev]`. For example: `tor-0.3.5.0-alpha-dev` or
+`tor-0.3.5.3-alpha`.
+
+Tor is separated into subsystems and some of those are maintained by other
+developers than the main maintainer. Those people have commit access to the
+code base but only commit (in most cases) into the subsystem they maintain.
+
+Upstream merges are restricted to the alpha and master branches. Subsystem
+maintainers should never push a patch into a stable branch which is the
+responsability of the [stable branch maintainer](#stable-branches).
+
+### Who
+
+In alphabetical order, the following people have upstream commit access and
+maintain the following subsystems:
+
+- David Goulet <dgoulet@torproject.org>
+ * Onion Service (including Shared Random).
+ ***keywords:*** *[tor-hs]*
+ * Channels, Circuitmux, Connection, Scheduler.
+ ***keywords:*** *[tor-chan, tor-cmux, tor-sched, tor-conn]*
+ * Cell Logic (Handling/Parsing).
+ ***keywords:*** *[tor-cell]*
+ * Threading backend.
+ ***keywords:*** *[tor-thread]*
+
+- George Kadianakis <asn@torproject.org>
+ * Onion Service (including Shared Random).
+ ***keywords:*** *[tor-hs]*
+ * Guard.
+ ***keywords:*** *[tor-guard]*
+ * Pluggable Transport (excluding Bridge networking).
+ ***keywords:*** *[tor-pt]*
+
+### Tasks
+
+These are the tasks of a subsystem maintainer:
+
+1. Regurlarly go over `merge_ready` tickets relevant to the related subsystem
+ and for the current alpha or development (master branch) Milestone.
+
+2. A subsystem maintainer is expected to contribute to any design changes
+ (including proposals) or large patch set about the subsystem.
+
+3. Leave their ego at the door. Mistakes will be made but they have to be
+ taking care of seriously. Learn and move on quickly.
+
+### Merging Policy
+
+These are few important items to follow when merging code upstream:
+
+1. To merge code upstream, the patch must have passed our CI (currently
+ github.com/torproject), have a corresponding ticket and reviewed by
+ **at least** one person that is not the original coder.
+
+ Example A: If Alice writes a patch then Bob, a Tor network team member,
+ reviews it and flags it `merge_ready`. Then, the maintainter is required
+ to look at the patch and makes a decision.
+
+ Example B: If the maintainer writes a patch then Bob, a Tor network
+ team member, reviews it and flags it `merge_ready`, then the maintainer
+ can merge the code upstream.
+
+2. Maintainer makes sure the commit message should describe what was fixed
+ and, if it applies, how was it fixed. It should also always refer to
+ the ticket number.
+
+3. Trivial patches such as comment change, documentation, syntax issues or
+ typos can be merged without a ticket or reviewers.
+
+4. Tor uses the "merge forward" method that is if a patch applies to the
+ alpha branch, it has to be merged there first and then merged forward
+ into master.
+
+5. Maintainer should always consult with the network team about any doubts,
+ mis-understandings or unknowns of a patch. Final word will always go to the
+ main Tor maintainer.
+
+## Stable Branches
+
+(Currently being drafted and reviewed by the network team.)
diff --git a/doc/HACKING/ReleasingTor.md b/doc/HACKING/ReleasingTor.md
index 55a40fc89b..7334b1b34a 100644
--- a/doc/HACKING/ReleasingTor.md
+++ b/doc/HACKING/ReleasingTor.md
@@ -20,30 +20,29 @@ new Tor release:
=== I. Make sure it works
-1. Use it for a while, as a client, as a relay, as a hidden service,
- and as a directory authority. See if it has any obvious bugs, and
- resolve those.
+1. Make sure that CI passes: have a look at Travis, Appveyor, and
+ Jenkins. Make sure you're looking at the right branches.
- As applicable, merge the `maint-X` branch into the `release-X` branch.
- But you've been doing that all along, right?
+ If there are any unexplained failures, try to fix them or figure them
+ out.
-2. Are all of the jenkins builders happy? See jenkins.torproject.org.
+2. Verify that there are no big outstanding issues. You might find such
+ issues --
- What about the bsd buildbots?
- See http://buildbot.pixelminers.net/builders/
+ * On Trac
- What about Coverity Scan?
+ * On coverity scan
- What about clang scan-build?
+ * On OSS-Fuzz
- Does 'make distcheck' complain?
+3. Run checks that aren't covered above, including:
- How about 'make test-stem' and 'make test-network' and
- `make test-network-full`?
+ * clang scan-build. (See the script in ./scripts/test/scan_build.sh)
- - Are all those tests still happy with --enable-expensive-hardening ?
+ * make test-network and make test-network-all (with
+ --enable-expensive-hardening)
- Any memory leaks?
+ * Running Tor yourself and making sure that it actually works for you.
=== II. Write a changelog
@@ -55,11 +54,14 @@ new Tor release:
of them and reordering to focus on what users and funders would find
interesting and understandable.
- To do this, first run `./scripts/maint/lintChanges.py changes/*` and
- fix as many warnings as you can. Then run `./scripts/maint/sortChanges.py
- changes/* > changelog.in` to combine headings and sort the entries.
- After that, it's time to hand-edit and fix the issues that lintChanges
- can't find:
+ To do this, run
+ `./scripts/maint/sortChanges.py changes/* > changelog.in`
+ to combine headings and sort the entries. Copy the changelog.in file
+ into the ChangeLog. Run 'format_changelog.py' (see below) to clean
+ up the line breaks.
+
+ After that, it's time to hand-edit and fix the issues that
+ lintChanges can't find:
1. Within each section, sort by "version it's a bugfix on", else by
numerical ticket order.
@@ -68,8 +70,6 @@ new Tor release:
Make stuff very terse
- Make sure each section name ends with a colon
-
Describe the user-visible problem right away
Mention relevant config options by name. If they're rare or unusual,
@@ -79,7 +79,9 @@ new Tor release:
Present and imperative tense: not past.
- 'Relays', not 'servers' or 'nodes' or 'Tor relays'.
+ "Relays", not "servers" or "nodes" or "Tor relays".
+
+ "Onion services", not "hidden services".
"Stop FOOing", not "Fix a bug where we would FOO".
@@ -100,12 +102,14 @@ new Tor release:
For stable releases that backport things from later, we try to compose
their releases, we try to make sure that we keep the changelog entries
- identical to their original versions, with a 'backport from 0.x.y.z'
+ identical to their original versions, with a "backport from 0.x.y.z"
note added to each section. So in this case, once you have the items
from the changes files copied together, don't use them to build a new
changelog: instead, look up the corrected versions that were merged
into ChangeLog in the master branch, and use those.
+ Add "backport from X.Y.Z" in the section header for these entries.
+
2. Compose a short release blurb to highlight the user-facing
changes. Insert said release blurb into the ChangeLog stanza. If it's
a stable release, add it to the ReleaseNotes file too. If we're adding
@@ -131,44 +135,57 @@ new Tor release:
=== III. Making the source release.
1. In `maint-0.?.x`, bump the version number in `configure.ac` and run
- `perl scripts/maint/updateVersions.pl` to update version numbers in other
+ `make update-versions` to update version numbers in other
places, and commit. Then merge `maint-0.?.x` into `release-0.?.x`.
- (NOTE: To bump the version number, edit `configure.ac`, and then run
- either `make`, or `perl scripts/maint/updateVersions.pl`, depending on
- your version.)
-
When you merge the maint branch forward to the next maint branch, or into
master, merge it with "-s ours" to avoid a needless version bump.
2. Make distcheck, put the tarball up in somewhere (how about your
- homedir on your homedir on people.torproject.org?) , and tell `#tor`
- about it. Wait a while to see if anybody has problems building it.
- (Though jenkins is usually pretty good about catching these things.)
+ homedir on your homedir on people.torproject.org?) , and tell `#tor-dev`
+ about it.
+
+ If you want, wait until at least one person has built it
+ successfully. (We used to say "wait for others to test it", but our
+ CI has successfully caught these kinds of errors for the last several
+ years.)
+
+
+3. Make sure that the new version is recommended in the latest consensus.
+ (Otherwise, users will get confused when it complains to them
+ about its status.)
+
+ If it is not, you'll need to poke Roger, Weasel, and Sebastian again: see
+ item 0.1 at the start of this document.
=== IV. Commit, upload, announce
1. Sign the tarball, then sign and push the git tag:
gpg -ba <the_tarball>
- git tag -u <keyid> tor-0.3.x.y-status
- git push origin tag tor-0.3.x.y-status
+ git tag -s tor-0.4.x.y-<status>
+ git push origin tag tor-0.4.x.y-<status>
+
+ (You must do this before you update the website: the website scripts
+ rely on finding the version by tag.)
- (You must do this before you update the website: it relies on finding
- the version by tag.)
+ (If your default PGP key is not the one you want to sign with, then say
+ "-u <keyid>" instead of "-s".)
2. scp the tarball and its sig to the dist website, i.e.
- `/srv/dist-master.torproject.org/htdocs/` on dist-master. When you want
- it to go live, you run "static-update-component dist.torproject.org"
- on dist-master.
+ `/srv/dist-master.torproject.org/htdocs/` on dist-master. Run
+ "static-update-component dist.torproject.org" on dist-master.
In the webwml.git repository, `include/versions.wmi` and `Makefile`
- to note the new version.
+ to note the new version. Push these changes to master.
(NOTE: Due to #17805, there can only be one stable version listed at
once. Nonetheless, do not call your version "alpha" if it is stable,
or people will get confused.)
+ (NOTE: It will take a while for the website update scripts to update
+ the website.)
+
3. Email the packagers (cc'ing tor-team) that a new tarball is up.
The current list of packagers is:
@@ -186,29 +203,35 @@ new Tor release:
Also, email tor-packagers@lists.torproject.org.
+ Mention where to download the tarball (https://dist.torproject.org).
+
+ Include a link to the changelog.
+
+
4. Add the version number to Trac. To do this, go to Trac, log in,
select "Admin" near the top of the screen, then select "Versions" from
the menu on the left. At the right, there will be an "Add version"
box. By convention, we enter the version in the form "Tor:
- 0.2.2.23-alpha" (or whatever the version is), and we select the date as
+ 0.4.0.1-alpha" (or whatever the version is), and we select the date as
the date in the ChangeLog.
-5. Double-check: did the version get recommended in the consensus yet? Is
- the website updated? If not, don't announce until they have the
- up-to-date versions, or people will get confused.
+5. Wait for the download page to be updated. (If you don't do this before you
+ announce, people will be confused.)
6. Mail the release blurb and ChangeLog to tor-talk (development release) or
tor-announce (stable).
Post the changelog on the blog as well. You can generate a
- blog-formatted version of the changelog with the -B option to
- format-changelog.
+ blog-formatted version of the changelog with
+ `./scripts/maint/format_changelog.py --B`
When you post, include an estimate of when the next TorBrowser
releases will come out that include this Tor release. This will
usually track https://wiki.mozilla.org/RapidRelease/Calendar , but it
can vary.
+ For templates to use when announcing, see:
+ https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/AnnouncementTemplates
=== V. Aftermath and cleanup
@@ -216,7 +239,7 @@ new Tor release:
`maint-x.y.z` branch to "newversion-dev", and do a `merge -s ours`
merge to avoid taking that change into master.
-2. Forward-port the ChangeLog (and ReleaseNotes if appropriate).
+2. Forward-port the ChangeLog (and ReleaseNotes if appropriate) to the
+ master branch.
3. Keep an eye on the blog post, to moderate comments and answer questions.
-
diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index 406372433f..44ac1e892d 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -598,19 +598,26 @@ GENERAL OPTIONS
Otherwise the sandbox will be disabled. The option is currently an
experimental feature. It only works on Linux-based operating systems,
and only when Tor has been built with the libseccomp library. This option
- can not be changed while tor is running.
+ can not be changed while tor is running. +
+
- When the Sandbox is 1, the following options can not be changed when tor
+ When the **Sandbox** is 1, the following options can not be changed when tor
is running:
- Address
- ConnLimit
- CookieAuthFile
- DirPortFrontPage
- ExtORPortCookieAuthFile
- Logs
- ServerDNSResolvConfFile
- Tor must remain in client or server mode (some changes to ClientOnly and
- ORPort are not allowed).
+ **Address**,
+ **ConnLimit**,
+ **CookieAuthFile**,
+ **DirPortFrontPage**,
+ **ExtORPortCookieAuthFile**,
+ **Logs**,
+ **ServerDNSResolvConfFile**,
+ **ClientOnionAuthDir** (and any files in it won't reload on HUP signal).
+ +
+ Launching new Onion Services through the control port is not supported
+ with current syscall sandboxing implementation.
+ +
+ Tor must remain in client or server mode (some changes to **ClientOnly**
+ and **ORPort** are not allowed). Currently, if **Sandbox** is 1,
+ **ControlPort** command "GETINFO address" will not work.
+ +
(Default: 0)
[[Socks4Proxy]] **Socks4Proxy** __host__[:__port__]::
@@ -635,9 +642,7 @@ GENERAL OPTIONS
[[KeepalivePeriod]] **KeepalivePeriod** __NUM__::
To keep firewalls from expiring connections, send a padding keepalive cell
- every NUM seconds on open connections that are in use. If the connection
- has no open circuits, it will instead be closed after NUM seconds of
- idleness. (Default: 5 minutes)
+ every NUM seconds on open connections that are in use. (Default: 5 minutes)
[[Log]] **Log** __minSeverity__[-__maxSeverity__] **stderr**|**stdout**|**syslog**::
Send all messages between __minSeverity__ and __maxSeverity__ to the standard
@@ -670,7 +675,8 @@ GENERAL OPTIONS
+
The currently recognized domains are: general, crypto, net, config, fs,
protocol, mm, http, app, control, circ, rend, bug, dir, dirserv, or, edge,
- acct, hist, handshake, heartbeat, channel, sched, guard, consdiff, and dos.
+ acct, hist, handshake, heartbeat, channel, sched, guard, consdiff, dos,
+ process, and pt.
Domain names are case-insensitive. +
+
For example, "`Log [handshake]debug [~net,~mm]info notice stdout`" sends
@@ -1090,14 +1096,16 @@ The following options are useful only for clients (that is, if
**HiddenServiceAuthorizeClient** option.
[[ClientOnionAuthDir]] **ClientOnionAuthDir** __path__::
- Path to the directory containing the hidden service authorization file. The
- files MUST have the suffix ".auth_private". Each file is for a single
- onion address and their format is:
+ Path to the directory containing v3 hidden service authorization files.
+ Each file is for a single onion address, and the files MUST have the suffix
+ ".auth_private" (i.e. "bob_onion.auth_private"). The content format MUST be:
+
<onion-address>:descriptor:x25519:<base32-encoded-privkey>
+
- The <onion-address> MUST NOT have the ".onion" suffix. See the
- rend-spec-v3.txt Appendix G for more information.
+ The <onion-address> MUST NOT have the ".onion" suffix. The
+ <base32-encoded-privkey> is the base32 representation of the raw key bytes
+ only (32 bytes for x25519). See Appendix G in the rend-spec-v3.txt file of
+ https://spec.torproject.org/[torspec] for more information.
[[LongLivedPorts]] **LongLivedPorts** __PORTS__::
A list of ports for services that tend to have long-running connections
@@ -1748,6 +1756,12 @@ The following options are useful only for clients (that is, if
other clients prefer IPv4. Other things may influence the choice. This
option breaks a tie to the favor of IPv6. (Default: auto)
+[[ClientAutoIPv6ORPort]] **ClientAutoIPv6ORPort** **0**|**1**::
+ If this option is set to 1, Tor clients randomly prefer a node's IPv4 or
+ IPv6 ORPort. The random preference is set every time a node is loaded
+ from a new consensus or bridge config. When this option is set to 1,
+ **ClientPreferIPv6ORPort** is ignored. (Default: 0)
+
[[PathsNeededToBuildCircuits]] **PathsNeededToBuildCircuits** __NUM__::
Tor clients don't build circuits for user traffic until they know
about enough of the network so that they could potentially construct
@@ -1789,6 +1803,28 @@ The following options are useful only for clients (that is, if
Try this many simultaneous connections to download a consensus before
waiting for one to complete, timeout, or error out. (Default: 3)
+[[DormantClientTimeout]] **DormantClientTimeout** __N__ **minutes**|**hours**|**days**|**weeks**::
+ If Tor spends this much time without any client activity,
+ enter a dormant state where automatic circuits are not built, and
+ directory information is not fetched.
+ Does not affect servers or onion services. Must be at least 10 minutes.
+ (Default: 24 hours)
+
+[[DormantTimeoutDisabledByIdleStreams]] **DormantTimeoutDisabledByIdleStreams** **0**|**1**::
+ If true, then any open client stream (even one not reading or writing)
+ counts as client activity for the purpose of DormantClientTimeout.
+ If false, then only network activity counts. (Default: 1)
+
+[[DormantOnFirstStartup]] **DormantOnFirstStartup** **0**|**1**::
+ If true, then the first time Tor starts up with a fresh DataDirectory,
+ it starts in dormant mode, and takes no actions until the user has made
+ a request. (This mode is recommended if installing a Tor client for a
+ user who might not actually use it.) If false, Tor bootstraps the first
+ time it is started, whether it sees a user request or not.
+ +
+ After the first time Tor starts, it begins in dormant mode if it was
+ dormant before, and not otherwise. (Default: 0)
+
SERVER OPTIONS
--------------
@@ -2211,7 +2247,8 @@ is non-zero):
__filename__. The file format is the same as the standard Unix
"**resolv.conf**" file (7). This option, like all other ServerDNS options,
only affects name lookups that your server does on behalf of clients.
- (Defaults to use the system DNS configuration.)
+ (Defaults to use the system DNS configuration or a localhost DNS service
+ in case no nameservers are found in a given configuration.)
[[ServerDNSAllowBrokenConfig]] **ServerDNSAllowBrokenConfig** **0**|**1**::
If this option is false, Tor exits immediately if there are problems
@@ -2800,6 +2837,8 @@ The following options are used to configure a hidden service.
Store data files for a hidden service in DIRECTORY. Every hidden service
must have a separate directory. You may use this option multiple times to
specify multiple services. If DIRECTORY does not exist, Tor will create it.
+ Please note that you cannot add new Onion Service to already running Tor
+ instance if **Sandbox** is enabled.
(Note: in current versions of Tor, if DIRECTORY is a relative path,
it will be relative to the current
working directory of Tor instance, not to its DataDirectory. Do not
@@ -2839,7 +2878,8 @@ The following options are used to configure a hidden service.
clients without authorization any more. Generated authorization data can be
found in the hostname file. Clients need to put this authorization data in
their configuration file using **HidServAuth**. This option is only for v2
- services.
+ services; v3 services configure client authentication in a subdirectory of
+ HiddenServiceDir instead (see the **Client Authorization** section).
[[HiddenServiceAllowUnknownPorts]] **HiddenServiceAllowUnknownPorts** **0**|**1**::
If set to 1, then connections to unrecognized ports do not cause the
@@ -2941,19 +2981,30 @@ Client Authorization
(Version 3 only)
To configure client authorization on the service side, the
-"<HiddenServiceDir>/authorized_clients/" needs to exists. Each file in that
-directory should be suffixed with ".auth" (the file name is irrelevant) and
-its content format MUST be:
+"<HiddenServiceDir>/authorized_clients/" directory needs to exist. Each file
+in that directory should be suffixed with ".auth" (i.e. "alice.auth"; the
+file name is irrelevant) and its content format MUST be:
<auth-type>:<key-type>:<base32-encoded-public-key>
The supported <auth-type> are: "descriptor". The supported <key-type> are:
-"x25519". Each file MUST contain one line only. Any malformed file will be
-ignored.
+"x25519". The <base32-encoded-privkey> is the base32 representation of the raw
+key bytes only (32 bytes for x25519).
+
+Each file MUST contain one line only. Any malformed file will be
+ignored. Client authorization will only be enabled for the service if tor
+successfully loads at least one authorization file.
Note that once you've configured client authorization, anyone else with the
address won't be able to access it from this point on. If no authorization is
-configured, the service will be accessible to all.
+configured, the service will be accessible to anyone with the onion address.
+
+Revoking a client can be done by removing their ".auth" file, however the
+revocation will be in effect only after the tor process gets restarted even if
+a SIGHUP takes place.
+
+See the Appendix G in the rend-spec-v3.txt file of
+https://spec.torproject.org/[torspec] for more information.
TESTING NETWORK OPTIONS
-----------------------
@@ -3242,10 +3293,6 @@ __CacheDirectory__**/cached-microdescs** and **cached-microdescs.new**::
router. The ".new" file is an append-only journal; when it gets too
large, all entries are merged into a new cached-microdescs file.
-__CacheDirectory__**/cached-routers** and **cached-routers.new**::
- Obsolete versions of cached-descriptors and cached-descriptors.new. When
- Tor can't find the newer files, it looks here instead.
-
__DataDirectory__**/state**::
A set of persistent key-value mappings. These are documented in
the file. These include:
diff --git a/link_rust.sh.in b/link_rust.sh.in
deleted file mode 100644
index 59f4142baa..0000000000
--- a/link_rust.sh.in
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-#
-# A linker script used when building Rust tests. Autoconf makes link_rust.sh
-# from link_rust_sh.in, and uses it to pass extra options to the linker
-# when linking Rust stuff.
-#
-# We'd like to remove the need for this, but build.rs doesn't let us pass
-# -static-libasan and -static-libubsan to the linker.
-
-$CCLD @RUST_LINKER_OPTIONS@ "$@"
diff --git a/scripts/codegen/fuzzing_include_am.py b/scripts/codegen/fuzzing_include_am.py
index 3c948d87cf..a944584453 100755
--- a/scripts/codegen/fuzzing_include_am.py
+++ b/scripts/codegen/fuzzing_include_am.py
@@ -13,6 +13,7 @@ FUZZERS = """
iptsv2
microdesc
socks
+ strops
vrs
"""
@@ -23,12 +24,12 @@ FUZZING_CPPFLAGS = \
FUZZING_CFLAGS = \
$(AM_CFLAGS) $(TEST_CFLAGS)
FUZZING_LDFLAG = \
- @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@
+ @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) @TOR_LDFLAGS_libevent@
FUZZING_LIBS = \
$(TOR_INTERNAL_TESTING_LIBS) \
$(rust_ldadd) \
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \
- @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
+ @TOR_LIBEVENT_LIBS@ $(TOR_LIBS_CRYPTLIB) \
@TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ @CURVE25519_LIBS@ \
@TOR_SYSTEMD_LIBS@ \
@TOR_LZMA_LIBS@ \
diff --git a/scripts/codegen/run_trunnel.sh b/scripts/codegen/run_trunnel.sh
index 428804342a..645b3c2158 100755
--- a/scripts/codegen/run_trunnel.sh
+++ b/scripts/codegen/run_trunnel.sh
@@ -9,9 +9,7 @@ OPTIONS="--require-version=1.5.1"
# Get all .trunnel files recursively from that directory so we can support
# multiple sub-directories.
-for file in `find ./src/trunnel/ -name '*.trunnel'`; do
- python -m trunnel ${OPTIONS} $file
-done
+find ./src/trunnel/ -name '*.trunnel' -exec python -m trunnel ${OPTIONS} {} \;
python -m trunnel ${OPTIONS} --write-c-files --target-dir=./src/ext/trunnel/
diff --git a/scripts/maint/checkIncludes.py b/scripts/maint/checkIncludes.py
index 46a3f39638..3afd9bbebe 100755
--- a/scripts/maint/checkIncludes.py
+++ b/scripts/maint/checkIncludes.py
@@ -33,6 +33,9 @@ else:
def open_file(fname):
return open(fname, 'r', encoding='utf-8')
+def warn(msg):
+ print(msg, file=sys.stderr)
+
def err(msg):
""" Declare that an error has happened, and remember that there has
been an error. """
@@ -48,14 +51,34 @@ def fname_is_c(fname):
INCLUDE_PATTERN = re.compile(r'\s*#\s*include\s+"([^"]*)"')
RULES_FNAME = ".may_include"
+ALLOWED_PATTERNS = [
+ re.compile(r'^.*\*\.(h|inc)$'),
+ re.compile(r'^.*/.*\.h$'),
+ re.compile(r'^ext/.*\.c$'),
+ re.compile(r'^orconfig.h$'),
+ re.compile(r'^micro-revision.i$'),
+]
+
+def pattern_is_normal(s):
+ for p in ALLOWED_PATTERNS:
+ if p.match(s):
+ return True
+ return False
+
class Rules(object):
""" A 'Rules' object is the parsed version of a .may_include file. """
def __init__(self, dirpath):
self.dirpath = dirpath
+ if dirpath.startswith("src/"):
+ self.incpath = dirpath[4:]
+ else:
+ self.incpath = dirpath
self.patterns = []
self.usedPatterns = set()
def addPattern(self, pattern):
+ if not pattern_is_normal(pattern):
+ warn("Unusual pattern {} in {}".format(pattern, self.dirpath))
self.patterns.append(pattern)
def includeOk(self, path):
@@ -86,6 +109,20 @@ class Rules(object):
if p not in self.usedPatterns:
print("Pattern {} in {} was never used.".format(p, self.dirpath))
+ def getAllowedDirectories(self):
+ allowed = []
+ for p in self.patterns:
+ m = re.match(r'^(.*)/\*\.(h|inc)$', p)
+ if m:
+ allowed.append(m.group(1))
+ continue
+ m = re.match(r'^(.*)/[^/]*$', p)
+ if m:
+ allowed.append(m.group(1))
+ continue
+
+ return allowed
+
def load_include_rules(fname):
""" Read a rules file from 'fname', and return it as a Rules object. """
result = Rules(os.path.split(fname)[0])
@@ -98,6 +135,9 @@ def load_include_rules(fname):
return result
list_unused = False
+log_sorted_levels = False
+
+uses_dirs = { }
for dirpath, dirnames, fnames in os.walk("src"):
if ".may_include" in fnames:
@@ -108,8 +148,34 @@ for dirpath, dirnames, fnames in os.walk("src"):
if list_unused:
rules.noteUnusedRules()
+ uses_dirs[rules.incpath] = rules.getAllowedDirectories()
+
if trouble:
err(
"""To change which includes are allowed in a C file, edit the {}
files in its enclosing directory.""".format(RULES_FNAME))
sys.exit(1)
+
+all_levels = []
+
+n = 0
+while uses_dirs:
+ n += 0
+ cur_level = []
+ for k in list(uses_dirs):
+ uses_dirs[k] = [ d for d in uses_dirs[k]
+ if (d in uses_dirs and d != k)]
+ if uses_dirs[k] == []:
+ cur_level.append(k)
+ for k in cur_level:
+ del uses_dirs[k]
+ n += 1
+ if cur_level and log_sorted_levels:
+ print(n, cur_level)
+ if n > 100:
+ break
+
+if uses_dirs:
+ print("There are circular .may_include dependencies in here somewhere:",
+ uses_dirs)
+ sys.exit(1)
diff --git a/scripts/maint/fallback.whitelist b/scripts/maint/fallback.whitelist
index 79551948c6..60d3e7bb85 100644
--- a/scripts/maint/fallback.whitelist
+++ b/scripts/maint/fallback.whitelist
@@ -1,34 +1,23 @@
# updateFallbackDirs.py directory mirror whitelist
#
-# Format:
-# IPv4:DirPort orport=<ORPort> id=<ID> [ ipv6=<IPv6>:<IPv6 ORPort> ]
-# or use:
-# scripts/maint/generateFallbackDirLine.py fingerprint ...
+# At least one of these keys must match for a directory mirror to be included
+# in the fallback list:
+# id
+# ipv4
+# ipv6
+# The ports and nickname are ignored. Missing or extra ipv6 addresses
+# are ignored.
#
-# All attributes must match for the directory mirror to be included.
-# If the fallback has an ipv6 key, the whitelist line must also have
-# it, and vice versa, otherwise they don't match.
-# (The blacklist overrides the whitelist.)
-
-# To replace this list with the hard-coded fallback list (for testing), use
-# a command similar to:
-# cat src/app/config/fallback_dirs.inc | grep \" | grep -v weight | \
-# tr -d '\n' | \
-# sed 's/"" / /g' | sed 's/""/"/g' | tr \" '\n' | grep -v '^$' \
-# > scripts/maint/fallback.whitelist
+# The latest relay details from Onionoo are included in the generated list.
#
-# When testing before a release, exclusions due to changed details will result
-# in a warning, unless the IPv4 address or port change happened recently.
-# Then it is only logged at info level, as part of the eligibility check.
-# Exclusions due to stability also are only shown at info level.
+# To check the hard-coded fallback list (for testing), use:
+# $ updateFallbackDirs.py check_existing
#
-# Add the number of selected, slow, and excluded relays, and compare that to
-# the number of hard-coded relays. If it's less, use info-level logs to find
-# out why each of the missing relays was excluded.
-
# If a relay operator wants their relay to be a FallbackDir,
# enter the following information here:
-# <IPv4>:<DirPort> orport=<ORPort> id=<ID> [ ipv6=<IPv6>:<IPv6 ORPort> ]
+# <IPv4>:<DirPort> orport=<ORPort> id=<ID> ( ipv6=[<IPv6>]:<IPv6 ORPort> )?
+# or use:
+# scripts/maint/generateFallbackDirLine.py fingerprint ...
# https://lists.torproject.org/pipermail/tor-relays/2015-December/008362.html
# https://trac.torproject.org/projects/tor/ticket/22321#comment:22
@@ -57,7 +46,6 @@
# https://lists.torproject.org/pipermail/tor-relays/2015-December/008379.html
# Email sent directly to teor, verified using relay contact info
91.121.84.137:4951 orport=4051 id=6DE61A6F72C1E5418A66BFED80DFB63E4C77668F
-91.121.84.137:4952 orport=4052 id=9FBEB75E8BC142565F12CBBE078D63310236A334
# https://lists.torproject.org/pipermail/tor-relays/2015-December/008381.html
# Sent additional emails to teor with updated relays
@@ -173,8 +161,6 @@
# Email sent directly to teor, verified using relay contact info
94.242.246.24:23 orport=8080 id=EC116BCB80565A408CE67F8EC3FE3B0B02C3A065 ipv6=[2a01:608:ffff:ff07::1:24]:9004
-176.126.252.11:443 orport=9001 id=B0279A521375F3CB2AE210BDBFC645FDD2E1973A ipv6=[2a02:59e0:0:7::11]:9003
-176.126.252.12:21 orport=8080 id=379FB450010D17078B3766C2273303C358C3A442 ipv6=[2a02:59e0:0:7::12]:81
94.242.246.23:443 orport=9001 id=F65E0196C94DFFF48AFBF2F5F9E3E19AAE583FD0 ipv6=[2a01:608:ffff:ff07::1:23]:9003
85.248.227.164:444 orport=9002 id=B84F248233FEA90CAD439F292556A3139F6E1B82 ipv6=[2a00:1298:8011:212::164]:9004
85.248.227.163:443 orport=9001 id=C793AB88565DDD3C9E4C6F15CCB9D8C7EF964CE9 ipv6=[2a00:1298:8011:212::163]:9003
@@ -297,9 +283,6 @@
151.80.42.103:9030 orport=9001 id=9007C1D8E4F03D506A4A011B907A9E8D04E3C605 ipv6=[2001:41d0:e:f67::114]:9001
# Email sent directly to teor, verified using relay contact info
-5.39.92.199:80 orport=443 id=0BEA4A88D069753218EAAAD6D22EA87B9A1319D6 ipv6=[2001:41d0:8:b1c7::1]:443
-
-# Email sent directly to teor, verified using relay contact info
176.31.159.231:80 orport=443 id=D5DBCC0B4F029F80C7B8D33F20CF7D97F0423BB1
176.31.159.230:80 orport=443 id=631748AFB41104D77ADBB7E5CD4F8E8AE876E683
195.154.79.128:80 orport=443 id=C697612CA5AED06B8D829FCC6065B9287212CB2F
@@ -324,10 +307,14 @@
185.66.250.141:9030 orport=9001 id=B1726B94885CE3AC3910CA8B60622B97B98E2529
# Email sent directly to teor, verified using relay contact info
+# Email sent directly to Phoul
185.104.120.7:9030 orport=443 id=445F1C853966624FB3CF1E12442570DC553CC2EC ipv6=[2a06:3000::120:7]:443
-185.104.120.2:9030 orport=21 id=518FF8708698E1DA09C823C36D35DF89A2CAD956
-185.104.120.4:9030 orport=9001 id=F92B3CB9BBE0CB22409843FB1AE4DBCD5EFAC835
-185.104.120.3:9030 orport=21 id=707C1B61AC72227B34487B56D04BAA3BA1179CE8 ipv6=[2a06:3000::120:3]:21
+185.104.120.2:9030 orport=21 id=518FF8708698E1DA09C823C36D35DF89A2CAD956 ipv6=[2a06:3000::120:2]:443
+185.104.120.4:9030 orport=9001 id=F92B3CB9BBE0CB22409843FB1AE4DBCD5EFAC835 ipv6=[2a06:3000::120:4]:443
+185.104.120.3:9030 orport=21 id=707C1B61AC72227B34487B56D04BAA3BA1179CE8 ipv6=[2a06:3000::120:3]:443
+185.104.120.5:80 orport=443 id=3EBDF84DE3B16F0EBF7D51450F07913A02EFDA6C ipv6=[2a06:3000::120:5]:443
+185.104.120.60:80 orport=443 id=D05C9C7068EB5A45F670D5E38A14907EE6223141 ipv6=[2a06:3000::120:60]:443
+
# Email sent directly to teor, verified using relay contact info
37.187.102.186:9030 orport=9001 id=489D94333DF66D57FFE34D9D59CC2D97E2CB0053 ipv6=[2001:41d0:a:26ba::1]:9001
@@ -379,10 +366,6 @@
91.219.237.229:80 orport=443 id=1ECD73B936CB6E6B3CD647CC204F108D9DF2C9F7
# Email sent directly to teor, verified using relay contact info
-46.101.151.222:80 orport=443 id=1DBAED235E3957DE1ABD25B4206BE71406FB61F8
-178.62.60.37:80 orport=443 id=175921396C7C426309AB03775A9930B6F611F794
-
-# Email sent directly to teor, verified using relay contact info
178.62.197.82:80 orport=443 id=0D3EBA17E1C78F1E9900BABDB23861D46FCAF163
# Email sent directly to teor, verified using relay contact info
@@ -406,9 +389,6 @@
# Email sent directly to teor, verified using relay contact info
5.199.142.236:9030 orport=9001 id=F4C0EDAA0BF0F7EC138746F8FEF1CE26C7860265
-# Email sent directly to teor
-188.166.133.133:9030 orport=9001 id=774555642FDC1E1D4FDF2E0C31B7CA9501C5C9C7 ipv6=[2a03:b0c0:2:d0::26c0:1]:9001 # dropsy
-
# Email sent directly to teor, verified using relay contact info
46.8.249.10:80 orport=443 id=31670150090A7C3513CB7914B9610E786391A95D
@@ -564,7 +544,6 @@
185.100.84.82:80 orport=443 id=7D05A38E39FC5D29AFE6BE487B9B4DC9E635D09E
# Email sent directly to teor, verified using relay contact info
-164.132.77.175:9030 orport=9001 id=3B33F6FCA645AD4E91428A3AF7DC736AD9FB727B
78.24.75.53:9030 orport=9001 id=DEB73705B2929AE9BE87091607388939332EF123
# Email sent directly to teor, verified using relay contact info
@@ -685,6 +664,7 @@
# Email sent directly to teor, verified using relay contact info
# Assume details update is permanent
188.40.128.246:9030 orport=9001 id=AD19490C7DBB26D3A68EFC824F67E69B0A96E601 ipv6=[2a01:4f8:221:1ac1:dead:beef:7005:9001]:9001 # sputnik
+129.13.131.140:80 orport=443 id=F2DFE5FA1E4CF54F8E761A6D304B9B4EC69BDAE8 ipv6=[2a00:1398:5:f604:cafe:cafe:cafe:9001]:443 # AlleKochenKaffee
# Email sent directly to teor, verified using relay contact info
88.198.253.13:9030 orport=9001 id=DF924196D69AAE3C00C115A9CCDF7BB62A175310 ipv6=[2a01:4f8:11a:b1f::2]:9001
@@ -696,8 +676,8 @@
# Email sent directly to teor, verified using relay contact info
176.10.104.240:80 orport=443 id=0111BA9B604669E636FFD5B503F382A4B7AD6E80
176.10.104.240:8080 orport=8443 id=AD86CD1A49573D52A7B6F4A35750F161AAD89C88
-176.10.104.243:80 orport=443 id=88487BDD980BF6E72092EE690E8C51C0AA4A538C
176.10.104.243:8080 orport=8443 id=95DA61AEF23A6C851028C1AA88AD8593F659E60F
+94.230.208.147:80 orport=443 id=9AA3FF35E7A549D2337E962333D366E102FE4D50 ipv6=[2a02:418:6017::147]:443
# Email sent directly to teor, verified using relay contact info
107.170.101.39:9030 orport=443 id=30973217E70AF00EBE51797FF6D9AA720A902EAA
@@ -738,13 +718,14 @@
185.220.101.24:10024 orport=20024 id=FDA70EC93DB01E3CB418CB6943B0C68464B18B4C # niftyrat
# Email sent directly to teor, verified using relay contact info
-64.113.32.29:9030 orport=9001 id=30C19B81981F450C402306E2E7CFB6C3F79CB6B2
+198.232.165.2:9030 orport=9001 id=30C19B81981F450C402306E2E7CFB6C3F79CB6B2
# Emails sent directly to teor, verified using relay contact info
51.254.101.242:9002 orport=9001 id=4CC9CC9195EC38645B699A33307058624F660CCF
# Emails sent directly to teor, verified using relay contact info
-85.214.62.48:80 orport=443 id=6A7551EEE18F78A9813096E82BF84F740D32B911
+# Updated IP https://trac.torproject.org/projects/tor/ticket/24805#comment:16
+94.130.186.5:80 orport=443 id=6A7551EEE18F78A9813096E82BF84F740D32B911
# Email sent directly to teor, verified using relay contact info
173.255.245.116:9030 orport=9001 id=91E4015E1F82DAF0121D62267E54A1F661AB6DC7
@@ -756,13 +737,11 @@
51.254.136.195:80 orport=443 id=7BB70F8585DFC27E75D692970C0EEB0F22983A63
# Email sent directly to teor, verified using relay contact info
-163.172.13.165:9030 orport=9001 id=33DA0CAB7C27812EFF2E22C9705630A54D101FEB ipv6=[2001:bc8:38cb:201::8]:9001
-
-# Email sent directly to teor, verified using relay contact info
5.196.88.122:9030 orport=9001 id=0C2C599AFCB26F5CFC2C7592435924C1D63D9484 ipv6=[2001:41d0:a:fb7a::1]:9001
# Email sent directly to teor, verified using relay contact info
5.9.158.75:80 orport=443 id=1AF72E8906E6C49481A791A6F8F84F8DFEBBB2BA ipv6=[2a01:4f8:190:514a::2]:443
+5.9.158.75:9030 orport=9001 id=D11D11877769B9E617537B4B46BFB92B443DE33D ipv6=[2a01:4f8:190:514a::2]:9001
# Email sent directly to teor, verified using relay contact info
46.101.169.151:9030 orport=9001 id=D760C5B436E42F93D77EF2D969157EEA14F9B39C ipv6=[2a03:b0c0:3:d0::74f:a001]:9001
@@ -834,9 +813,9 @@
195.154.122.54:80 orport=443 id=64E99CB34C595A02A3165484BD1215E7389322C6
# Email sent directly to teor, verified using relay contact info
+# Email sent directly to Phoul
185.100.86.128:9030 orport=9001 id=9B31F1F1C1554F9FFB3455911F82E818EF7C7883
185.100.85.101:9030 orport=9001 id=4061C553CA88021B8302F0814365070AAE617270
-31.171.155.108:9030 orport=9001 id=D3E5EDDBE5159388704D6785BE51930AAFACEC6F
# Email sent directly to teor, verified using relay contact info
89.163.247.43:9030 orport=9001 id=BC7ACFAC04854C77167C7D66B7E471314ED8C410 ipv6=[2001:4ba0:fff7:25::5]:9001
@@ -943,10 +922,13 @@
199.249.223.66:80 orport=443 id=C5A53BCC174EF8FD0DCB223E4AA929FA557DEDB2 # Quintex17
# https://lists.torproject.org/pipermail/tor-relays/2017-December/013914.html
+# https://lists.torproject.org/pipermail/tor-relays/2018-January/014063.html
5.196.23.64:9030 orport=9001 id=775B0FAFDE71AADC23FFC8782B7BEB1D5A92733E # Aerodynamik01
217.182.75.181:9030 orport=9001 id=EFEACD781604EB80FBC025EDEDEA2D523AEAAA2F # Aerodynamik02
193.70.43.76:9030 orport=9001 id=484A10BA2B8D48A5F0216674C8DD50EF27BC32F3 # Aerodynamik03
149.56.141.138:9030 orport=9001 id=1938EBACBB1A7BFA888D9623C90061130E63BB3F # Aerodynamik04
+54.37.73.111:9030 orport=9001 id=92412EA1B9AA887D462B51D816777002F4D58907 # Aerodynamik05
+54.37.17.235:9030 orport=9001 id=360CBA08D1E24F513162047BDB54A1015E531534 # Aerodynamik06
# https://lists.torproject.org/pipermail/tor-relays/2017-December/013917.html
104.200.20.46:80 orport=9001 id=78E2BE744A53631B4AAB781468E94C52AB73968B # bynumlawtor
@@ -960,16 +942,10 @@
# Email sent directly to teor
62.210.254.132:80 orport=443 id=8456DFA94161CDD99E480C2A2992C366C6564410 # turingmachine
-# Email sent directly to teor
-80.127.117.180:80 orport=443 id=328E54981C6DDD7D89B89E418724A4A7881E3192 ipv6=[2001:985:e77:10::4]:443 # sjc01
-
# https://lists.torproject.org/pipermail/tor-relays/2017-December/013960.html
51.15.205.214:9030 orport=9001 id=8B6556601612F1E2AFCE2A12FFFAF8482A76DD1F ipv6=[2001:bc8:4400:2500::5:b07]:9001 # titania1
51.15.205.214:9031 orport=9002 id=5E363D72488276160D062DDD2DFA25CFEBAF5EA9 ipv6=[2001:bc8:4400:2500::5:b07]:9002 # titania2
-# Email sent directly to teor
-185.129.249.124:9030 orport=9001 id=1FA8F638298645BE58AC905276680889CB795A94 # treadstone
-
# https://lists.torproject.org/pipermail/tor-relays/2017-December/014000.html
24.117.231.229:34175 orport=45117 id=CE24412AD69444954B4015E293AE53DDDAFEA3D6 # Anosognosia
@@ -995,3 +971,94 @@
# https://lists.torproject.org/pipermail/tor-relays/2018-January/014024.html
82.161.212.209:9030 orport=9001 id=4E8CE6F5651E7342C1E7E5ED031E82078134FB0D ipv6=[2001:980:d7ed:1:ff:b0ff:fe00:d0b]:9001 # ymkeo
+
+# https://lists.torproject.org/pipermail/tor-relays/2018-January/014055.html
+37.157.255.35:9030 orport=9090 id=361D33C96D0F161275EE67E2C91EE10B276E778B # cxx4freedom
+
+# https://lists.torproject.org/pipermail/tor-relays/2018-January/014064.html
+87.118.122.120:80 orport=443 id=A2A6616723B511D8E068BB71705191763191F6B2 # otheontelth
+
+# https://lists.torproject.org/pipermail/tor-relays/2018-January/014069.html
+185.100.86.182:9030 orport=8080 id=E51620B90DCB310138ED89EDEDD0A5C361AAE24E # NormalCitizen
+
+# https://lists.torproject.org/pipermail/tor-relays/2018-January/014267.html
+51.15.72.211:80 orport=9001 id=D122094E396DF8BA560843E7B983B0EA649B7DF9 ipv6=[2001:bc8:4700:2300::1b:f09]:9001 # gjtorrelay
+
+# Email sent directly to Phoul
+185.34.33.2:9265 orport=31415 id=D71B1CA1C9DC7E8CA64158E106AD770A21160FEE # lqdn
+
+# Email sent directly to Phoul
+78.156.110.135:9091 orport=9090 id=F48FD1AED068496D51D1384BC7497C04E4985DA6 # SkynetC2
+
+# Email sent directly to Phoul
+5.200.21.144:80 orport=443 id=0C039F35C2E40DCB71CD8A07E97C7FD7787D42D6 # libel
+64.79.152.132:80 orport=443 id=375DCBB2DBD94E5263BC0C015F0C9E756669617E # ebola
+
+# https://lists.torproject.org/pipermail/tor-relays/2018-June/015524.html
+132.248.241.5:9030 orport=9001 id=4661DE96D3F8E923994B05218F23760C8D7935A4
+
+# https://lists.torproject.org/pipermail/tor-relays/2018-June/015522.html
+96.253.78.108:80 orport=442 id=924B24AFA7F075D059E8EEB284CC400B33D3D036
+
+# Email sent directly to Phoul
+163.172.218.10:9030 orport=9001 id=78809B6C50CB6491DB3A72C60EC39DC85BF72D1F ipv6=[2001:bc8:3f23:1100::1]:9001
+163.172.218.10:9130 orport=9101 id=B247BA9E0AEA93E6D7BF4080CFBB964034AF2B28 ipv6=[2001:bc8:3f23:1100::1]:9101
+
+# Email sent directly to Phoul
+158.255.212.178:8080 orport=8443 id=D941D380E5228E7B4D372AF4D484629A96DC48B9 ipv6=[2a03:f80:ed15:158:255:212:178:2]:8443
+
+# Email sent directly to Phoul
+45.79.108.130:9030 orport=9001 id=AEDAC7081AE14B8D241ECF0FF17A2858AB4383D0 ipv6=[2600:3c01:e000:131::8000:0]:9001
+
+# Email sent directly to Phoul
+51.254.147.57:80 orport=443 id=EB80A8D52F07238B576C42CEAB98ADD084EE075E
+217.182.51.248:80 orport=443 id=D6BA940D3255AB40DC5EE5B0B285FA143E1F9865
+
+# https://lists.torproject.org/pipermail/tor-relays/2018-June/015541.html
+195.191.81.7:9030 orport=9001 id=41A3C16269C7B63DB6EB741DBDDB4E1F586B1592 ipv6=[2a00:1908:fffc:ffff:c0a6:ccff:fe62:e1a1]:9001
+51.254.96.208:9030 orport=9001 id=8101421BEFCCF4C271D5483C5AABCAAD245BBB9D ipv6=[2001:41d0:401:3100::30dc]:9001
+163.172.154.162:9030 orport=9001 id=F741E5124CB12700DA946B78C9B2DD175D6CD2A1 ipv6=[2001:bc8:4400:2100::17:419]:9001
+51.15.78.0:9030 orport=9001 id=15BE17C99FACE24470D40AF782D6A9C692AB36D6 ipv6=[2001:bc8:4700:2300::16:c0b]:9001
+54.37.139.118:9030 orport=9001 id=90A5D1355C4B5840E950EB61E673863A6AE3ACA1 ipv6=[2001:41d0:601:1100::1b8]:9001
+51.38.65.160:9030 orport=9001 id=3CB4193EF4E239FCEDC4DC43468E0B0D6B67ACC3 ipv6=[2001:41d0:801:2000::f6e]:9001
+
+# Email sent directly to Phoul
+54.37.138.138:8080 orport=993 id=1576BE143D8727745BB2BCDDF183291B3C3EFEFC
+
+# Email sent directly to Phoul
+67.215.255.140:9030 orport=9001 id=23917BB3F3994BC61F0C9D7AD19B069F9E150D26
+
+# Email sent directly to Phoul
+195.154.105.170:9030 orport=9001 id=E947C029087FA1C3499BEF5D4372947C51223D8F
+
+# Email sent directly to Phoul
+23.129.64.101:80 orport=443 id=2EB20285FE55927B7AECC47BB94F22534FBC3941 ipv6=[2620:18c:0:1001::101]:443
+23.129.64.102:80 orport=443 id=CA9739E2805A3CD73CF75BBCB6785C32394240E3 ipv6=[2620:18c:0:1001::102]:443
+23.129.64.103:80 orport=443 id=8ED84B53BD9556CCBB036073A1AD508EC27CBE52 ipv6=[2620:18c:0:1001::103]:443
+
+# Email sent directly to Phoul
+37.139.8.104:9030 orport=9001 id=7088D485934E8A403B81531F8C90BDC75FA43C98 ipv6=[2a03:b0c0:0:1010::24c:1001]:9001
+
+# Email sent directly to Phoul
+178.254.7.88:9030 orpport=9001 id=85A885433E50B1874F11CEC9BE98451E24660976
+
+# https://lists.torproject.org/pipermail/tor-relays/2018-August/015869.html
+5.45.111.149:80 orport=443 id=D405FCCF06ADEDF898DF2F29C9348DCB623031BA ipv6=[2a03:4000:6:2388:df98:15f9:b34d:443]:443
+
+# https://trac.torproject.org/projects/tor/ticket/27297
+37.252.185.182:9030 orport=8080 id=113143469021882C3A4B82F084F8125B08EE471E ipv6=[2a00:63c1:a:182::2]:8080
+
+# Email sent directly to Phoul
+139.99.130.178:80 orport=443 id=867B95CACD64653FEEC4D2CEFC5C49B4620307A7
+
+# Email sent directly to Phoul
+104.131.11.214:9030 orport=8080 id=32828476F4F84E15C42B4C360A5CD8DE4C3C2BE7
+
+# Email sent directly to Phoul / Teor
+178.175.139.122:80 orport=443 id=490FB3FAAF8837407D94CA7E1DEF025DEF0F3516 ipv6=[2a00:1dc0:3002::3]:443
+
+# Email sent directly to Phoul
+192.42.116.16:80 orport=443 id=81B75D534F91BFB7C57AB67DA10BCEF622582AE8
+
+# https://lists.torproject.org/pipermail/tor-relays/2018-November/016610.html
+24.117.194.80:80 orport=443 id=B6C4C9A43658F686F8892CA5666717532F72979C
diff --git a/scripts/maint/pre-push.git-hook b/scripts/maint/pre-push.git-hook
new file mode 100755
index 0000000000..26296023fb
--- /dev/null
+++ b/scripts/maint/pre-push.git-hook
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+# To install this script, copy it into .git/hooks/pre-push path in your
+# local copy of git repository. Make sure it has permission to execute.
+#
+# This is git pre-push hook script to prevent "fixup!" and "squash!" commits
+# from ending up in upstream branches (master, release-* or maint-*).
+#
+# The following sample script was used as starting point:
+# https://github.com/git/git/blob/master/templates/hooks--pre-push.sample
+
+z40=0000000000000000000000000000000000000000
+
+CUR_BRANCH=$(git rev-parse --abbrev-ref HEAD)
+if [ "$CUR_BRANCH" != "master" ] && [[ $CUR_BRANCH != release-* ]] &&
+ [[ $CUR_BRANCH != maint-* ]]
+then
+ exit 0
+fi
+
+echo "Running pre-push hook"
+
+# shellcheck disable=SC2034
+while read -r local_ref local_sha remote_ref remote_sha
+do
+ if [ "$local_sha" = $z40 ]
+ then
+ # Handle delete
+ :
+ else
+ if [ "$remote_sha" = $z40 ]
+ then
+ # New branch, examine all commits
+ range="$local_sha"
+ else
+ # Update to existing branch, examine new commits
+ range="$remote_sha..$local_sha"
+ fi
+
+ # Check for fixup! commit
+ commit=$(git rev-list -n 1 --grep '^fixup!' "$range")
+ if [ -n "$commit" ]
+ then
+ echo >&2 "Found fixup! commit in $local_ref, not pushing"
+ echo >&2 "If you really want to push this, use --no-verify."
+ exit 1
+ fi
+
+ # Check for squash! commit
+ commit=$(git rev-list -n 1 --grep '^squash!' "$range")
+ if [ -n "$commit" ]
+ then
+ echo >&2 "Found squash! commit in $local_ref, not pushing"
+ echo >&2 "If you really want to push this, use --no-verify."
+ exit 1
+ fi
+ fi
+done
+
+exit 0
+
diff --git a/scripts/maint/run_calltool.sh b/scripts/maint/run_calltool.sh
index efb8706fea..b0268322f4 100755
--- a/scripts/maint/run_calltool.sh
+++ b/scripts/maint/run_calltool.sh
@@ -15,10 +15,10 @@ SUBITEMS="fn_graph fn_invgraph fn_scc fn_scc_weaklinks module_graph module_invgr
for calculation in $SUBITEMS; do
echo "======== $calculation"
- python -m calltool $calculation > callgraph/$calculation
+ python -m calltool "$calculation" > callgraph/"$calculation"
done
-echo <<EOF > callgraph/README
+cat <<EOF > callgraph/README
This directory holds output from calltool, as run on Tor. For more
information about each of these files, see the NOTES and README files in
the calltool distribution.
diff --git a/scripts/maint/updateFallbackDirs.py b/scripts/maint/updateFallbackDirs.py
index 0ea3992d8f..14372d0e83 100755
--- a/scripts/maint/updateFallbackDirs.py
+++ b/scripts/maint/updateFallbackDirs.py
@@ -18,8 +18,8 @@
# Optionally uses ipaddress (python 3 builtin) or py2-ipaddress (package)
# for netblock analysis.
#
-# Then read the logs to make sure the fallbacks aren't dominated by a single
-# netblock or port.
+# After running this script, read the logs to make sure the fallbacks aren't
+# dominated by a single netblock or port.
# Script by weasel, April 2015
# Portions by gsathya & karsten, 2013
@@ -39,8 +39,6 @@ import urllib
import urllib2
import hashlib
import dateutil.parser
-# bson_lazy provides bson
-#from bson import json_util
import copy
import re
@@ -100,19 +98,29 @@ MUST_BE_RUNNING_NOW = (PERFORM_IPV4_DIRPORT_CHECKS
# Clients have been using microdesc consensuses by default for a while now
DOWNLOAD_MICRODESC_CONSENSUS = True
-# If a relay delivers an expired consensus, if it expired less than this many
-# seconds ago, we still allow the relay. This should never be less than -90,
-# as all directory mirrors should have downloaded a consensus 90 minutes
-# before it expires. It should never be more than 24 hours, because clients
-# reject consensuses that are older than REASONABLY_LIVE_TIME.
-# For the consensus expiry check to be accurate, the machine running this
-# script needs an accurate clock.
+# If a relay delivers an invalid consensus, if it will become valid less than
+# this many seconds in the future, or expired less than this many seconds ago,
+# accept the relay as a fallback. For the consensus expiry check to be
+# accurate, the machine running this script needs an accurate clock.
#
-# Relays on 0.3.0 and later return a 404 when they are about to serve an
-# expired consensus. This makes them fail the download check.
-# We use a tolerance of 0, so that 0.2.x series relays also fail the download
-# check if they serve an expired consensus.
-CONSENSUS_EXPIRY_TOLERANCE = 0
+# Relays on 0.3.0 and later return a 404 when they are about to serve a
+# consensus that expired more than 24 hours ago. 0.2.9 and earlier relays
+# will serve consensuses that are very old.
+#
+# Relays on 0.3.5.6-rc? and later return a 404 when they are about to serve a
+# consensus that will become valid more than 24 hours in the future. Older
+# relays don't serve future consensuses.
+#
+# A 404 makes relays fail the download check. We use a tolerance of 24 hours,
+# so that 0.2.9 relays also fail the download check if they serve a consensus
+# that is not reasonably live.
+#
+# REASONABLY_LIVE_TIME should never be more than Tor's REASONABLY_LIVE_TIME,
+# (24 hours), because clients reject consensuses that are older than that.
+# Clients on 0.3.5.5-alpha? and earlier also won't select guards from
+# consensuses that have expired, but can bootstrap if they already have guards
+# in their state file.
+REASONABLY_LIVE_TIME = 24*60*60
# Output fallback name, flags, bandwidth, and ContactInfo in a C comment?
OUTPUT_COMMENTS = True if OUTPUT_CANDIDATES else False
@@ -912,61 +920,181 @@ class Candidate(object):
return False
return True
- def is_in_whitelist(self, relaylist):
- """ A fallback matches if each key in the whitelist line matches:
+ def id_matches(self, id, exact=False):
+ """ Does this fallback's id match id?
+ exact is ignored. """
+ return self._fpr == id
+
+ def ipv4_addr_matches(self, ipv4_addr, exact=False):
+ """ Does this fallback's IPv4 address match ipv4_addr?
+ exact is ignored. """
+ return self.dirip == ipv4_addr
+
+ def ipv4_dirport_matches(self, ipv4_dirport, exact=False):
+ """ Does this fallback's IPv4 dirport match ipv4_dirport?
+ If exact is False, always return True. """
+ if exact:
+ return self.dirport == int(ipv4_dirport)
+ else:
+ return True
+
+ def ipv4_and_dirport_matches(self, ipv4_addr, ipv4_dirport, exact=False):
+ """ Does this fallback's IPv4 address match ipv4_addr?
+ If exact is True, also check ipv4_dirport. """
+ ipv4_match = self.ipv4_addr_matches(ipv4_addr, exact=exact)
+ if exact:
+ return ipv4_match and self.ipv4_dirport_matches(ipv4_dirport,
+ exact=exact)
+ else:
+ return ipv4_match
+
+ def ipv4_orport_matches(self, ipv4_orport, exact=False):
+ """ Does this fallback's IPv4 orport match ipv4_orport?
+ If exact is False, always return True. """
+ if exact:
+ return self.orport == int(ipv4_orport)
+ else:
+ return True
+
+ def ipv4_and_orport_matches(self, ipv4_addr, ipv4_orport, exact=False):
+ """ Does this fallback's IPv4 address match ipv4_addr?
+ If exact is True, also check ipv4_orport. """
+ ipv4_match = self.ipv4_addr_matches(ipv4_addr, exact=exact)
+ if exact:
+ return ipv4_match and self.ipv4_orport_matches(ipv4_orport,
+ exact=exact)
+ else:
+ return ipv4_match
+
+ def ipv6_addr_matches(self, ipv6_addr, exact=False):
+ """ Does this fallback's IPv6 address match ipv6_addr?
+ Both addresses must be present to match.
+ exact is ignored. """
+ if self.has_ipv6() and ipv6_addr is not None:
+ # Check that we have a bracketed IPv6 address without a port
+ assert(ipv6_addr.startswith('[') and ipv6_addr.endswith(']'))
+ return self.ipv6addr == ipv6_addr
+ else:
+ return False
+
+ def ipv6_orport_matches(self, ipv6_orport, exact=False):
+ """ Does this fallback's IPv6 orport match ipv6_orport?
+ Both ports must be present to match.
+ If exact is False, always return True. """
+ if exact:
+ return (self.has_ipv6() and ipv6_orport is not None and
+ self.ipv6orport == int(ipv6_orport))
+ else:
+ return True
+
+ def ipv6_and_orport_matches(self, ipv6_addr, ipv6_orport, exact=False):
+ """ Does this fallback's IPv6 address match ipv6_addr?
+ If exact is True, also check ipv6_orport. """
+ ipv6_match = self.ipv6_addr_matches(ipv6_addr, exact=exact)
+ if exact:
+ return ipv6_match and self.ipv6_orport_matches(ipv6_orport,
+ exact=exact)
+ else:
+ return ipv6_match
+
+ def entry_matches_exact(self, entry):
+ """ Is entry an exact match for this fallback?
+ A fallback is an exact match for entry if each key in entry matches:
ipv4
dirport
orport
id
- ipv6 address and port (if present)
+ ipv6 address and port (if present in the fallback or the whitelist)
If the fallback has an ipv6 key, the whitelist line must also have
- it, and vice versa, otherwise they don't match. """
- ipv6 = None
- if self.has_ipv6():
- ipv6 = '%s:%d'%(self.ipv6addr, self.ipv6orport)
- for entry in relaylist:
- if entry['id'] != self._fpr:
- # can't log here unless we match an IP and port, because every relay's
- # fingerprint is compared to every entry's fingerprint
- if entry['ipv4'] == self.dirip and int(entry['orport']) == self.orport:
- logging.warning('%s excluded: has OR %s:%d changed fingerprint to ' +
- '%s?', entry['id'], self.dirip, self.orport,
- self._fpr)
- if self.has_ipv6() and entry.has_key('ipv6') and entry['ipv6'] == ipv6:
- logging.warning('%s excluded: has OR %s changed fingerprint to ' +
- '%s?', entry['id'], ipv6, self._fpr)
- continue
- if entry['ipv4'] != self.dirip:
- logging.warning('%s excluded: has it changed IPv4 from %s to %s?',
- self._fpr, entry['ipv4'], self.dirip)
- continue
- if int(entry['dirport']) != self.dirport:
- logging.warning('%s excluded: has it changed DirPort from %s:%d to ' +
- '%s:%d?', self._fpr, self.dirip, int(entry['dirport']),
- self.dirip, self.dirport)
- continue
- if int(entry['orport']) != self.orport:
- logging.warning('%s excluded: has it changed ORPort from %s:%d to ' +
- '%s:%d?', self._fpr, self.dirip, int(entry['orport']),
- self.dirip, self.orport)
- continue
- if entry.has_key('ipv6') and self.has_ipv6():
- # if both entry and fallback have an ipv6 address, compare them
- if entry['ipv6'] != ipv6:
- logging.warning('%s excluded: has it changed IPv6 ORPort from %s ' +
- 'to %s?', self._fpr, entry['ipv6'], ipv6)
- continue
- # if the fallback has an IPv6 address but the whitelist entry
- # doesn't, or vice versa, the whitelist entry doesn't match
- elif entry.has_key('ipv6') and not self.has_ipv6():
- logging.warning('%s excluded: has it lost its former IPv6 address %s?',
- self._fpr, entry['ipv6'])
- continue
- elif not entry.has_key('ipv6') and self.has_ipv6():
- logging.warning('%s excluded: has it gained an IPv6 address %s?',
- self._fpr, ipv6)
- continue
+ it, otherwise they don't match.
+
+ Logs a warning-level message if the fallback would be an exact match,
+ but one of the id, ipv4, ipv4 orport, ipv4 dirport, or ipv6 orport
+ have changed. """
+ if not self.id_matches(entry['id'], exact=True):
+ # can't log here unless we match an IP and port, because every relay's
+ # fingerprint is compared to every entry's fingerprint
+ if self.ipv4_and_orport_matches(entry['ipv4'],
+ entry['orport'],
+ exact=True):
+ logging.warning('%s excluded: has OR %s:%d changed fingerprint to ' +
+ '%s?', entry['id'], self.dirip, self.orport,
+ self._fpr)
+ if self.ipv6_and_orport_matches(entry.get('ipv6_addr'),
+ entry.get('ipv6_orport'),
+ exact=True):
+ logging.warning('%s excluded: has OR %s changed fingerprint to ' +
+ '%s?', entry['id'], entry['ipv6'], self._fpr)
+ return False
+ if not self.ipv4_addr_matches(entry['ipv4'], exact=True):
+ logging.warning('%s excluded: has it changed IPv4 from %s to %s?',
+ self._fpr, entry['ipv4'], self.dirip)
+ return False
+ if not self.ipv4_dirport_matches(entry['dirport'], exact=True):
+ logging.warning('%s excluded: has it changed DirPort from %s:%d to ' +
+ '%s:%d?', self._fpr, self.dirip, int(entry['dirport']),
+ self.dirip, self.dirport)
+ return False
+ if not self.ipv4_orport_matches(entry['orport'], exact=True):
+ logging.warning('%s excluded: has it changed ORPort from %s:%d to ' +
+ '%s:%d?', self._fpr, self.dirip, int(entry['orport']),
+ self.dirip, self.orport)
+ return False
+ if entry.has_key('ipv6') and self.has_ipv6():
+ # if both entry and fallback have an ipv6 address, compare them
+ if not self.ipv6_and_orport_matches(entry['ipv6_addr'],
+ entry['ipv6_orport'],
+ exact=True):
+ logging.warning('%s excluded: has it changed IPv6 ORPort from %s ' +
+ 'to %s:%d?', self._fpr, entry['ipv6'],
+ self.ipv6addr, self.ipv6orport)
+ return False
+ # if the fallback has an IPv6 address but the whitelist entry
+ # doesn't, or vice versa, the whitelist entry doesn't match
+ elif entry.has_key('ipv6') and not self.has_ipv6():
+ logging.warning('%s excluded: has it lost its former IPv6 address %s?',
+ self._fpr, entry['ipv6'])
+ return False
+ elif not entry.has_key('ipv6') and self.has_ipv6():
+ logging.warning('%s excluded: has it gained an IPv6 address %s:%d?',
+ self._fpr, self.ipv6addr, self.ipv6orport)
+ return False
+ return True
+
+ def entry_matches_fuzzy(self, entry):
+ """ Is entry a fuzzy match for this fallback?
+ A fallback is a fuzzy match for entry if at least one of these keys
+ in entry matches:
+ id
+ ipv4
+ ipv6 (if present in both the fallback and whitelist)
+ The ports and nickname are ignored. Missing or extra ipv6 addresses
+ are ignored.
+
+ Doesn't log any warning messages. """
+ if self.id_matches(entry['id'], exact=False):
return True
+ if self.ipv4_addr_matches(entry['ipv4'], exact=False):
+ return True
+ if entry.has_key('ipv6') and self.has_ipv6():
+ # if both entry and fallback have an ipv6 address, compare them
+ if self.ipv6_addr_matches(entry['ipv6_addr'], exact=False):
+ return True
+ return False
+
+ def is_in_whitelist(self, relaylist, exact=False):
+ """ If exact is True (existing fallback list), check if this fallback is
+ an exact match for any whitelist entry, using entry_matches_exact().
+
+ If exact is False (new fallback whitelist), check if this fallback is
+ a fuzzy match for any whitelist entry, using entry_matches_fuzzy(). """
+ for entry in relaylist:
+ if exact:
+ if self.entry_matches_exact(entry):
+ return True
+ else:
+ if self.entry_matches_fuzzy(entry):
+ return True
return False
def cw_to_bw_factor(self):
@@ -1124,6 +1252,7 @@ class Candidate(object):
).run()[0]
end = datetime.datetime.utcnow()
time_since_expiry = (end - consensus.valid_until).total_seconds()
+ time_until_valid = (consensus.valid_after - end).total_seconds()
except Exception, stem_error:
end = datetime.datetime.utcnow()
log_excluded('Unable to retrieve a consensus from %s: %s', nickname,
@@ -1141,8 +1270,17 @@ class Candidate(object):
download_failed = True
elif (time_since_expiry > 0):
status = 'outdated consensus, expired %ds ago'%(int(time_since_expiry))
- if time_since_expiry <= CONSENSUS_EXPIRY_TOLERANCE:
- status += ', tolerating up to %ds'%(CONSENSUS_EXPIRY_TOLERANCE)
+ if time_since_expiry <= REASONABLY_LIVE_TIME:
+ status += ', tolerating up to %ds'%(REASONABLY_LIVE_TIME)
+ level = logging.INFO
+ else:
+ status += ', invalid'
+ level = logging.WARNING
+ download_failed = True
+ elif (time_until_valid > 0):
+ status = 'future consensus, valid in %ds'%(int(time_until_valid))
+ if time_until_valid <= REASONABLY_LIVE_TIME:
+ status += ', tolerating up to %ds'%(REASONABLY_LIVE_TIME)
level = logging.INFO
else:
status += ', invalid'
@@ -1400,7 +1538,7 @@ class CandidateList(dict):
each line's key/value pairs are placed in a dictonary,
(of string -> string key/value pairs),
and these dictionaries are placed in an array.
- comments start with # and are ignored """
+ comments start with # and are ignored. """
file_data = file_obj['data']
file_name = file_obj['name']
relaylist = []
@@ -1440,18 +1578,28 @@ class CandidateList(dict):
relay_entry['dirport'] = ipv4_maybe_dirport_split[1]
elif kvl == 2:
relay_entry[key_value_split[0]] = key_value_split[1]
+ # split ipv6 addresses and orports
+ if key_value_split[0] == 'ipv6':
+ ipv6_orport_split = key_value_split[1].rsplit(':', 1)
+ ipv6l = len(ipv6_orport_split)
+ if ipv6l != 2:
+ print '#error Bad %s IPv6 item: %s, format is [ipv6]:orport.'%(
+ file_name, item)
+ relay_entry['ipv6_addr'] = ipv6_orport_split[0]
+ relay_entry['ipv6_orport'] = ipv6_orport_split[1]
relaylist.append(relay_entry)
return relaylist
- # apply the fallback whitelist
- def apply_filter_lists(self, whitelist_obj):
+ def apply_filter_lists(self, whitelist_obj, exact=False):
+ """ Apply the fallback whitelist_obj to this fallback list,
+ passing exact to is_in_whitelist(). """
excluded_count = 0
logging.debug('Applying whitelist')
# parse the whitelist
whitelist = self.load_relaylist(whitelist_obj)
filtered_fallbacks = []
for f in self.fallbacks:
- in_whitelist = f.is_in_whitelist(whitelist)
+ in_whitelist = f.is_in_whitelist(whitelist, exact=exact)
if in_whitelist:
# include
filtered_fallbacks.append(f)
@@ -2064,14 +2212,14 @@ def process_existing():
logging.getLogger('stem').setLevel(logging.INFO)
whitelist = {'data': parse_fallback_file(FALLBACK_FILE_NAME),
'name': FALLBACK_FILE_NAME}
- list_fallbacks(whitelist)
+ list_fallbacks(whitelist, exact=True)
def process_default():
logging.basicConfig(level=logging.WARNING)
logging.getLogger('stem').setLevel(logging.WARNING)
whitelist = {'data': read_from_file(WHITELIST_FILE_NAME, MAX_LIST_FILE_SIZE),
'name': WHITELIST_FILE_NAME}
- list_fallbacks(whitelist)
+ list_fallbacks(whitelist, exact=False)
## Main Function
def main():
@@ -2092,10 +2240,10 @@ def log_excluded(msg, *args):
else:
logging.info(msg, *args)
-def list_fallbacks(whitelist):
+def list_fallbacks(whitelist, exact=False):
""" Fetches required onionoo documents and evaluates the
- fallback directory criteria for each of the relays """
-
+ fallback directory criteria for each of the relays,
+ passing exact to apply_filter_lists(). """
print "/* type=fallback */"
print ("/* version={} */"
.format(cleanse_c_multiline_comment(FALLBACK_FORMAT_VERSION)))
@@ -2135,7 +2283,7 @@ def list_fallbacks(whitelist):
# warning that the details have changed from those in the whitelist.
# instead, there will be an info-level log during the eligibility check.
initial_count = len(candidates.fallbacks)
- excluded_count = candidates.apply_filter_lists(whitelist)
+ excluded_count = candidates.apply_filter_lists(whitelist, exact=exact)
print candidates.summarise_filters(initial_count, excluded_count)
eligible_count = len(candidates.fallbacks)
diff --git a/scripts/maint/updateRustDependencies.sh b/scripts/maint/updateRustDependencies.sh
index a5a92579d3..6d0587351f 100755
--- a/scripts/maint/updateRustDependencies.sh
+++ b/scripts/maint/updateRustDependencies.sh
@@ -20,26 +20,26 @@
set -e
-HERE=`dirname $(realpath $0)`
-TOPLEVEL=`dirname $(dirname $HERE)`
+HERE=$(dirname "$(realpath "$0")")
+TOPLEVEL=$(dirname "$(dirname "$HERE")")
TOML="$TOPLEVEL/src/rust/Cargo.toml"
VENDORED="$TOPLEVEL/src/ext/rust/crates"
-CARGO=`which cargo`
+CARGO=$(command -v cargo)
if ! test -f "$TOML" ; then
- printf "Error: Couldn't find workspace Cargo.toml in expected location: %s\n" "$TOML"
+ printf "Error: Couldn't find workspace Cargo.toml in expected location: %s\\n" "$TOML"
fi
if ! test -d "$VENDORED" ; then
- printf "Error: Couldn't find directory for Rust dependencies! Expected location: %s\n" "$VENDORED"
+ printf "Error: Couldn't find directory for Rust dependencies! Expected location: %s\\n" "$VENDORED"
fi
if test -z "$CARGO" ; then
- printf "Error: cargo must be installed and in your \$PATH\n"
+ printf "Error: cargo must be installed and in your \$PATH\\n"
fi
-if test -z `cargo --list | grep vendor` ; then
- printf "Error: cargo-vendor not installed\n"
+if test -z "$(cargo --list | grep vendor)" ; then
+ printf "Error: cargo-vendor not installed\\n"
fi
-$CARGO vendor -v --locked --explicit-version --no-delete --sync $TOML $VENDORED
+$CARGO vendor -v --locked --explicit-version --no-delete --sync "$TOML" "$VENDORED"
diff --git a/scripts/maint/updateVersions.pl.in b/scripts/maint/updateVersions.pl.in
deleted file mode 100755
index 65c51a1f2d..0000000000
--- a/scripts/maint/updateVersions.pl.in
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/perl -w
-
-$CONFIGURE_IN = '@abs_top_srcdir@/configure.ac';
-$ORCONFIG_H = '@abs_top_srcdir@/src/win32/orconfig.h';
-$TOR_NSI = '@abs_top_srcdir@/contrib/win32build/tor-mingw.nsi.in';
-
-$quiet = 1;
-
-sub demand {
- my $fn = shift;
- die "Missing file $fn" unless (-f $fn);
-}
-
-demand($CONFIGURE_IN);
-demand($ORCONFIG_H);
-demand($TOR_NSI);
-
-# extract version from configure.ac
-
-open(F, $CONFIGURE_IN) or die "$!";
-$version = undef;
-while (<F>) {
- if (/AC_INIT\(\[tor\],\s*\[([^\]]*)\]\)/) {
- $version = $1;
- last;
- }
-}
-die "No version found" unless $version;
-print "Tor version is $version\n" unless $quiet;
-close F;
-
-sub correctversion {
- my ($fn, $defchar) = @_;
- undef $/;
- open(F, $fn) or die "$!";
- my $s = <F>;
- close F;
- if ($s =~ /^$defchar(?:)define\s+VERSION\s+\"([^\"]+)\"/m) {
- $oldver = $1;
- if ($oldver ne $version) {
- print "Version mismatch in $fn: It thinks that the version is $oldver. I think it's $version. Fixing.\n";
- $line = $defchar . "define VERSION \"$version\"";
- open(F, ">$fn.bak");
- print F $s;
- close F;
- $s =~ s/^$defchar(?:)define\s+VERSION.*?$/$line/m;
- open(F, ">$fn");
- print F $s;
- close F;
- } else {
- print "$fn has the correct version. Good.\n" unless $quiet;
- }
- } else {
- print "Didn't find a version line in $fn -- uh oh.\n";
- }
-}
-
-correctversion($TOR_NSI, "!");
-correctversion($ORCONFIG_H, "#");
diff --git a/scripts/maint/update_versions.py b/scripts/maint/update_versions.py
new file mode 100755
index 0000000000..8067f2c6c8
--- /dev/null
+++ b/scripts/maint/update_versions.py
@@ -0,0 +1,133 @@
+#!/usr/bin/env python
+
+from __future__ import print_function
+
+import io
+import os
+import re
+import sys
+import time
+
+def P(path):
+ """
+ Give 'path' as a path relative to the abs_top_srcdir environment
+ variable.
+ """
+ return os.path.join(
+ os.environ.get('abs_top_srcdir', "."),
+ path)
+
+def warn(msg):
+ """
+ Print an warning message.
+ """
+ print("WARNING: {}".format(msg), file=sys.stderr)
+
+def find_version(infile):
+ """
+ Given an open file (or some other iterator of lines) holding a
+ configure.ac file, find the current version line.
+ """
+ for line in infile:
+ m = re.search(r'AC_INIT\(\[tor\],\s*\[([^\]]*)\]\)', line)
+ if m:
+ return m.group(1)
+
+ return None
+
+def update_version_in(infile, outfile, regex, versionline):
+ """
+ Copy every line from infile to outfile. If any line matches 'regex',
+ replace it with 'versionline'. Return True if any line was changed;
+ false otherwise.
+
+ 'versionline' is either a string -- in which case it is used literally,
+ or a function that receives the output of 'regex.match'.
+ """
+ found = False
+ have_changed = False
+ for line in infile:
+ m = regex.match(line)
+ if m:
+ found = True
+ oldline = line
+ if type(versionline) == type(u""):
+ line = versionline
+ else:
+ line = versionline(m)
+ if not line.endswith("\n"):
+ line += "\n"
+ if oldline != line:
+ have_changed = True
+ outfile.write(line)
+
+ if not found:
+ warn("didn't find any version line to replace in {}".format(infile.name))
+
+ return have_changed
+
+def replace_on_change(fname, change):
+ """
+ If "change" is true, replace fname with fname.tmp. Otherwise,
+ delete fname.tmp. Log what we're doing to stderr.
+ """
+ if not change:
+ print("No change in {}".format(fname))
+ os.unlink(fname+".tmp")
+ else:
+ print("Updating {}".format(fname))
+ os.rename(fname+".tmp", fname)
+
+
+def update_file(fname,
+ regex,
+ versionline,
+ encoding="utf-8"):
+ """
+ Replace any line matching 'regex' in 'fname' with 'versionline'.
+ Do not modify 'fname' if there are no changes made. Use the
+ provided encoding to read and write.
+ """
+ with io.open(fname, "r", encoding=encoding) as f, \
+ io.open(fname+".tmp", "w", encoding=encoding) as outf:
+ have_changed = update_version_in(f, outf, regex, versionline)
+
+ replace_on_change(fname, have_changed)
+
+# Find out our version
+with open("configure.ac") as f:
+ version = find_version(f)
+
+# If we have no version, we can't proceed.
+if version == None:
+ print("No version found in configure.ac", file=sys.stderr())
+ sys.exit(1)
+
+print("The version is {}".format(version))
+
+today = time.strftime("%Y-%m-%d", time.gmtime())
+
+# In configure.ac, we replace the definition of APPROX_RELEASE_DATE
+# with "{today} for {version}", but only if the version does not match
+# what is already there.
+def replace_fn(m):
+ if m.group(1) != version:
+ # The version changed -- we change the date.
+ return u'AC_DEFINE(APPROX_RELEASE_DATE, ["{}"], # for {}'.format(today, version)
+ else:
+ # No changes.
+ return m.group(0)
+update_file(P("configure.ac"),
+ re.compile(r'AC_DEFINE\(APPROX_RELEASE_DATE.* for (.*)'),
+ replace_fn)
+
+# In tor-mingw.nsi.in, we replace the definition of VERSION.
+update_file(P("contrib/win32build/tor-mingw.nsi.in"),
+ re.compile(r'!define VERSION .*'),
+ u'!define VERSION "{}"'.format(version),
+ encoding="iso-8859-1")
+
+# In src/win32/orconfig.h, we replace the definition of VERSION.
+update_file(P("src/win32/orconfig.h"),
+ re.compile(r'#define VERSION .*'),
+ u'#define VERSION "{}"'.format(version))
diff --git a/scripts/test/chutney-git-bisect.sh b/scripts/test/chutney-git-bisect.sh
index 8a3f2c70c8..dc1319a27a 100755
--- a/scripts/test/chutney-git-bisect.sh
+++ b/scripts/test/chutney-git-bisect.sh
@@ -20,7 +20,7 @@ if [ ! -z "$1" ]; then
fi
if [ ! -z "$2" ]; then
- cd "$2"
+ cd "$2" || exit
fi
CHUTNEY_TEST_CMD="make test-network-all"
@@ -54,9 +54,9 @@ while [ "$i" -le "$CHUTNEY_TRIES" ]; do
echo "test '$CHUTNEY_TEST_CMD' succeeded after $i/$CHUTNEY_TRIES attempts, good"
exit 0
fi
- i=$[$i+1]
+ i=$((i+1))
done
-i=$[$i-1]
+i=$((i-1))
echo "test '$CHUTNEY_TEST_CMD' failed $i/$CHUTNEY_TRIES attempts, bad"
exit 1
diff --git a/scripts/test/cov-diff b/scripts/test/cov-diff
index 6179dff63e..f3ca856888 100755
--- a/scripts/test/cov-diff
+++ b/scripts/test/cov-diff
@@ -7,9 +7,9 @@
DIRA="$1"
DIRB="$2"
-for B in $DIRB/*; do
- A=$DIRA/`basename $B`
- if [ -f $A ]; then
+for B in "$DIRB"/*; do
+ A=$DIRA/$(basename "$B")
+ if [ -f "$A" ]; then
perl -pe 's/^\s*\!*\d+(\*?):/ 1$1:/; s/^([^:]+:)[\d\s]+:/$1/; s/^ *-:(Runs|Programs):.*//;' "$A" > "$A.tmp"
else
cat /dev/null > "$A.tmp"
diff --git a/scripts/test/coverage b/scripts/test/coverage
index 59d468ee1e..7a417cdc89 100755
--- a/scripts/test/coverage
+++ b/scripts/test/coverage
@@ -8,30 +8,30 @@
dst=$1
for fn in src/core/*/*.c src/feature/*/*.c src/app/*/*.c src/lib/*/*.c; do
- BN=`basename $fn`
- DN=`dirname $fn`
- F=`echo $BN | sed -e 's/\.c$//;'`
+ BN=$(basename "$fn")
+ DN=$(dirname "$fn")
+ F=$(echo "$BN" | sed -e 's/\.c$//;')
GC="${BN}.gcov"
# Figure out the object file names
- ONS=`echo ${DN}/src_*-${F}.o`
+ ONS=$(echo "${DN}"/src_*-"${F}".o)
ONS_WILDCARD_LITERAL="${DN}/src_*-${F}.o"
# If the wildcard didn't expand, no files
if [ "$ONS" != "${ONS_WILDCARD_LITERAL}" ]
then
for on in $ONS; do
# We should have a gcno file
- GCNO=`echo $on | sed -e 's/\.o$/\.gcno/;'`
- if [ -e $GCNO ]
+ GCNO=$(echo "$on" | sed -e 's/\.o$/\.gcno/;')
+ if [ -e "$GCNO" ]
then
# No need to test for gcda, since gcov assumes no execution
# if it's absent
- rm -f $GC
- gcov -o $on $fn
- if [ -e $GC ]
+ rm -f "$GC"
+ gcov -o "$on" "$fn"
+ if [ -e "$GC" ]
then
if [ -d "$dst" ]
then
- mv $GC $dst/$GC
+ mv "$GC" "$dst"/"$GC"
fi
else
echo "gcov -o $on $fn didn't make a .gcov file"
diff --git a/scripts/test/scan-build.sh b/scripts/test/scan-build.sh
index 8d126cbcee..26e05ff101 100755
--- a/scripts/test/scan-build.sh
+++ b/scripts/test/scan-build.sh
@@ -33,6 +33,7 @@ CHECKERS="\
-enable-checker security.insecureAPI.strcpy \
"
+# shellcheck disable=SC2034
# These have high false-positive rates.
EXTRA_CHECKERS="\
-enable-checker alpha.security.ArrayBoundV2 \
@@ -40,6 +41,7 @@ EXTRA_CHECKERS="\
-enable-checker alpha.core.CastSize \
"
+# shellcheck disable=SC2034
# These don't seem to generate anything useful
NOISY_CHECKERS="\
-enable-checker alpha.clone.CloneChecker \
@@ -52,6 +54,7 @@ else
OUTPUTARG=""
fi
+# shellcheck disable=SC2086
scan-build \
$CHECKERS \
./configure
@@ -61,11 +64,13 @@ scan-build \
# Make this not get scanned for dead assignments, since it has lots of
# dead assignments we don't care about.
+# shellcheck disable=SC2086
scan-build \
$CHECKERS \
-disable-checker deadcode.DeadStores \
make -j5 -k ./src/ext/ed25519/ref10/libed25519_ref10.a
+# shellcheck disable=SC2086
scan-build \
$CHECKERS $OUTPUTARG \
make -j5 -k
diff --git a/src/app/config/config.c b/src/app/config/config.c
index 6e7e131055..32b487dd24 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -64,6 +64,7 @@
#include "app/config/confparse.h"
#include "app/config/statefile.h"
#include "app/main/main.h"
+#include "app/main/subsysmgr.h"
#include "core/mainloop/connection.h"
#include "core/mainloop/cpuworker.h"
#include "core/mainloop/mainloop.h"
@@ -112,9 +113,9 @@
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/crypt_ops/crypto_util.h"
#include "lib/encoding/confline.h"
-#include "lib/log/git_revision.h"
#include "lib/net/resolve.h"
#include "lib/sandbox/sandbox.h"
+#include "lib/version/torversion.h"
#ifdef ENABLE_NSS
#include "lib/crypt_ops/crypto_nss_mgt.h"
@@ -141,7 +142,7 @@
#include "lib/process/pidfile.h"
#include "lib/process/restrict.h"
#include "lib/process/setuid.h"
-#include "lib/process/subprocess.h"
+#include "lib/process/process.h"
#include "lib/net/gethostname.h"
#include "lib/thread/numcpus.h"
@@ -339,6 +340,7 @@ static config_var_t option_vars_[] = {
V(ClientOnly, BOOL, "0"),
V(ClientPreferIPv6ORPort, AUTOBOOL, "auto"),
V(ClientPreferIPv6DirPort, AUTOBOOL, "auto"),
+ V(ClientAutoIPv6ORPort, BOOL, "0"),
V(ClientRejectInternalAddresses, BOOL, "1"),
V(ClientTransportPlugin, LINELIST, NULL),
V(ClientUseIPv6, BOOL, "0"),
@@ -388,6 +390,9 @@ static config_var_t option_vars_[] = {
OBSOLETE("DynamicDHGroups"),
VPORT(DNSPort),
OBSOLETE("DNSListenAddress"),
+ V(DormantClientTimeout, INTERVAL, "24 hours"),
+ V(DormantTimeoutDisabledByIdleStreams, BOOL, "1"),
+ V(DormantOnFirstStartup, BOOL, "0"),
/* DoS circuit creation options. */
V(DoSCircuitCreationEnabled, AUTOBOOL, "auto"),
V(DoSCircuitCreationMinConnections, UINT, "0"),
@@ -972,42 +977,6 @@ set_options(or_options_t *new_val, char **msg)
return 0;
}
-/** The version of this Tor process, as parsed. */
-static char *the_tor_version = NULL;
-/** A shorter version of this Tor process's version, for export in our router
- * descriptor. (Does not include the git version, if any.) */
-static char *the_short_tor_version = NULL;
-
-/** Return the current Tor version. */
-const char *
-get_version(void)
-{
- if (the_tor_version == NULL) {
- if (strlen(tor_git_revision)) {
- tor_asprintf(&the_tor_version, "%s (git-%s)", get_short_version(),
- tor_git_revision);
- } else {
- the_tor_version = tor_strdup(get_short_version());
- }
- }
- return the_tor_version;
-}
-
-/** Return the current Tor version, without any git tag. */
-const char *
-get_short_version(void)
-{
-
- if (the_short_tor_version == NULL) {
-#ifdef TOR_BUILD_TAG
- tor_asprintf(&the_short_tor_version, "%s (%s)", VERSION, TOR_BUILD_TAG);
-#else
- the_short_tor_version = tor_strdup(VERSION);
-#endif
- }
- return the_short_tor_version;
-}
-
/** Release additional memory allocated in options
*/
STATIC void
@@ -1067,9 +1036,6 @@ config_free_all(void)
tor_free(torrc_defaults_fname);
tor_free(global_dirfrontpagecontents);
- tor_free(the_short_tor_version);
- tor_free(the_tor_version);
-
cleanup_protocol_warning_severity_level();
have_parsed_cmdline = 0;
@@ -1432,10 +1398,10 @@ options_act_reversible(const or_options_t *old_options, char **msg)
* processes. */
if (running_tor && options->RunAsDaemon) {
if (! start_daemon_has_been_called())
- crypto_prefork();
+ subsystems_prefork();
/* No need to roll back, since you can't change the value. */
if (start_daemon())
- crypto_postfork();
+ subsystems_postfork();
}
#ifdef HAVE_SYSTEMD
@@ -2031,9 +1997,6 @@ options_act(const or_options_t *old_options)
finish_daemon(options->DataDirectory);
}
- /* See whether we need to enable/disable our once-a-second timer. */
- reschedule_per_second_timer();
-
/* We want to reinit keys as needed before we do much of anything else:
keys are important, and other things can depend on them. */
if (transition_affects_workers ||
@@ -3375,12 +3338,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
* Always use the value of UseEntryGuards, not UseEntryGuards_option. */
options->UseEntryGuards = options->UseEntryGuards_option;
- if (warn_about_relative_paths(options) && options->RunAsDaemon) {
- REJECT("You have specified at least one relative path (see above) "
- "with the RunAsDaemon option. RunAsDaemon is not compatible "
- "with relative paths.");
- }
-
if (server_mode(options) &&
(!strcmpstart(uname, "Windows 95") ||
!strcmpstart(uname, "Windows 98") ||
@@ -3397,6 +3354,14 @@ options_validate(or_options_t *old_options, or_options_t *options,
if (validate_data_directories(options)<0)
REJECT("Invalid DataDirectory");
+ /* need to check for relative paths after we populate
+ * options->DataDirectory (just above). */
+ if (warn_about_relative_paths(options) && options->RunAsDaemon) {
+ REJECT("You have specified at least one relative path (see above) "
+ "with the RunAsDaemon option. RunAsDaemon is not compatible "
+ "with relative paths.");
+ }
+
if (options->Nickname == NULL) {
if (server_mode(options)) {
options->Nickname = tor_strdup(UNNAMED_ROUTER_NICKNAME);
@@ -3419,6 +3384,8 @@ options_validate(or_options_t *old_options, or_options_t *options,
if (ContactInfo && !string_is_utf8(ContactInfo, strlen(ContactInfo)))
REJECT("ContactInfo config option must be UTF-8.");
+ check_network_configuration(server_mode(options));
+
/* Special case on first boot if no Log options are given. */
if (!options->Logs && !options->RunAsDaemon && !from_setconf) {
if (quiet_level == 0)
@@ -3875,6 +3842,10 @@ options_validate(or_options_t *old_options, or_options_t *options,
"default.");
}
+ if (options->DormantClientTimeout < 10*60 && !options->TestingTorNetwork) {
+ REJECT("DormantClientTimeout is too low. It must be at least 10 minutes.");
+ }
+
if (options->PathBiasNoticeRate > 1.0) {
tor_asprintf(msg,
"PathBiasNoticeRate is too high. "
@@ -3926,7 +3897,8 @@ options_validate(or_options_t *old_options, or_options_t *options,
}
if (options->HeartbeatPeriod &&
- options->HeartbeatPeriod < MIN_HEARTBEAT_PERIOD) {
+ options->HeartbeatPeriod < MIN_HEARTBEAT_PERIOD &&
+ !options->TestingTorNetwork) {
log_warn(LD_CONFIG, "HeartbeatPeriod option is too short; "
"raising to %d seconds.", MIN_HEARTBEAT_PERIOD);
options->HeartbeatPeriod = MIN_HEARTBEAT_PERIOD;
@@ -6911,6 +6883,8 @@ parse_port_config(smartlist_t *out,
for (; ports; ports = ports->next) {
tor_addr_t addr;
+ tor_addr_make_unspec(&addr);
+
int port;
int sessiongroup = SESSION_GROUP_UNSET;
unsigned isolation = ISO_DEFAULT;
diff --git a/src/app/config/config.h b/src/app/config/config.h
index a169cfd451..4c497b83a6 100644
--- a/src/app/config/config.h
+++ b/src/app/config/config.h
@@ -41,8 +41,6 @@ const char *escaped_safe_str_client(const char *address);
const char *escaped_safe_str(const char *address);
void init_protocol_warning_severity_level(void);
int get_protocol_warning_severity_level(void);
-const char *get_version(void);
-const char *get_short_version(void);
/** An error from options_trial_assign() or options_init_from_string(). */
typedef enum setopt_err_t {
diff --git a/src/app/config/fallback_dirs.inc b/src/app/config/fallback_dirs.inc
index c446152e6a..9f60f309f8 100644
--- a/src/app/config/fallback_dirs.inc
+++ b/src/app/config/fallback_dirs.inc
@@ -1,73 +1,82 @@
/* type=fallback */
/* version=2.0.0 */
-/* timestamp=20180106205601 */
-/* ===== */
-/* Whitelist & blacklist excluded 810 of 1009 candidates. */
+/* timestamp=20181207055710 */
+/* timestamp0=20181207055710 */
+/* timestamp1=20181207193756 */
+/* timestamp2=20181207195255 */
+/* ===== */
+/* 0: Whitelist excluded 1275 of 1462 candidates. */
+/* 1: Whitelist excluded 1279 of 1470 candidates. */
+/* 2: Whitelist excluded 1278 of 1469 candidates. */
/* Checked IPv4 DirPorts served a consensus within 15.0s. */
/*
-Final Count: 143 (Eligible 198, Target 230 (1154 * 0.20), Max 200)
-Excluded: 55 (Same Operator 34, Failed/Skipped Download 14, Excess 7)
-Bandwidth Range: 0.9 - 131.1 MByte/s
+0:
+Final Count: 148 (Eligible 187, Target 351 (1757 * 0.20), Max 200)
+Excluded: 39 (Same Operator 28, Failed/Skipped Download 7, Excess 4)
+Bandwidth Range: 0.8 - 43.8 MByte/s
+
+MERGED WITH:
+
+1:
+Final Count: 138 (Eligible 191, Target 353 (1768 * 0.20), Max 200)
+Excluded: 53 (Same Operator 29, Failed/Skipped Download 20, Excess 4)
+Bandwidth Range: 1.0 - 46.9 MByte/s
MERGED WITH:
-Final Count: 139 (Eligible 199, Target 232 (1161 * 0.20), Max 200)
-Excluded: 60 (Same Operator 34, Failed/Skipped Download 19, Excess 7)
-Bandwidth Range: 1.1 - 131.1 MByte/s
+2:
+Final Count: 145 (Eligible 191, Target 353 (1768 * 0.20), Max 200)
+Excluded: 46 (Same Operator 29, Failed/Skipped Download 13, Excess 4)
+Bandwidth Range: 1.0 - 46.9 MByte/s
*/
/*
-Onionoo Source: details Date: 2018-01-06 20:00:00 Version: 5.0
+0: Onionoo Source: details Date: 2018-12-07 05:00:00 Version: 7.0
+1: Onionoo Source: details Date: 2018-12-07 18:00:00 Version: 7.0
+2: Onionoo Source: details Date: 2018-12-07 18:00:00 Version: 7.0
URL: https:onionoo.torproject.orgdetails?fieldsfingerprint%2Cnickname%2Ccontact%2Clast_changed_address_or_port%2Cconsensus_weight%2Cadvertised_bandwidth%2Cor_addresses%2Cdir_address%2Crecommended_version%2Cflags%2Ceffective_family%2Cplatform&flagV2Dir&typerelay&last_seen_days-0&first_seen_days90-
*/
/*
-Onionoo Source: uptime Date: 2018-01-06 20:00:00 Version: 5.0
+0: Onionoo Source: uptime Date: 2018-12-07 05:00:00 Version: 7.0
+1: Onionoo Source: uptime Date: 2018-12-07 18:00:00 Version: 7.0
+2: Onionoo Source: uptime Date: 2018-12-07 18:00:00 Version: 7.0
URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&last_seen_days-0
*/
/* ===== */
-"185.13.39.197:80 orport=443 id=001524DD403D729F08F7E5D77813EF12756CFA8D"
-/* nickname=Neldoreth */
-/* extrainfo=0 */
-/* ===== */
-,
"176.10.104.240:80 orport=443 id=0111BA9B604669E636FFD5B503F382A4B7AD6E80"
/* nickname=DigiGesTor1e1 */
/* extrainfo=0 */
/* ===== */
,
-"185.100.85.61:80 orport=443 id=025B66CEBC070FCB0519D206CF0CF4965C20C96E"
-/* nickname=nibbana */
+"193.171.202.146:9030 orport=9001 id=01A9258A46E97FF8B2CAC7910577862C14F2C524"
+" ipv6=[2001:628:200a:f001:20::146]:9001"
+/* nickname=ins0 */
/* extrainfo=0 */
/* ===== */
,
-"5.9.110.236:9030 orport=9001 id=0756B7CD4DFC8182BE23143FAC0642F515182CEB"
-" ipv6=[2a01:4f8:162:51e2::2]:9001"
-/* nickname=rueckgrat */
-/* extrainfo=1 */
-/* ===== */
-,
"163.172.149.155:80 orport=443 id=0B85617241252517E8ECF2CFC7F4C1A32DCD153F"
/* nickname=niij02 */
/* extrainfo=0 */
/* ===== */
,
-"5.39.92.199:80 orport=443 id=0BEA4A88D069753218EAAAD6D22EA87B9A1319D6"
-" ipv6=[2001:41d0:8:b1c7::1]:443"
-/* nickname=BaelorTornodePw */
+"5.200.21.144:80 orport=443 id=0C039F35C2E40DCB71CD8A07E97C7FD7787D42D6"
+/* nickname=libel */
/* extrainfo=0 */
/* ===== */
,
-"163.172.25.118:80 orport=22 id=0CF8F3E6590F45D50B70F2F7DA6605ECA6CD408F"
-/* nickname=torpidsFRonline4 */
+"5.196.88.122:9030 orport=9001 id=0C2C599AFCB26F5CFC2C7592435924C1D63D9484"
+" ipv6=[2001:41d0:a:fb7a::1]:9001"
+/* nickname=ATo */
/* extrainfo=0 */
/* ===== */
,
-"178.62.197.82:80 orport=443 id=0D3EBA17E1C78F1E9900BABDB23861D46FCAF163"
-/* nickname=HY100 */
+"185.100.86.100:80 orport=443 id=0E8C0C8315B66DB5F703804B3889A1DD66C67CE0"
+/* nickname=saveyourprivacyex1 */
/* extrainfo=0 */
/* ===== */
,
-"185.100.86.100:80 orport=443 id=0E8C0C8315B66DB5F703804B3889A1DD66C67CE0"
-/* nickname=saveyourprivacyex1 */
+"37.252.185.182:9030 orport=8080 id=113143469021882C3A4B82F084F8125B08EE471E"
+" ipv6=[2a00:63c1:a:182::2]:8080"
+/* nickname=parasol */
/* extrainfo=0 */
/* ===== */
,
@@ -83,31 +92,36 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"37.157.195.87:8030 orport=443 id=12FD624EE73CEF37137C90D38B2406A66F68FAA2"
-/* nickname=thanatosCZ */
+"193.234.15.59:80 orport=443 id=136F9299A5009A4E0E96494E723BDB556FB0A26B"
+" ipv6=[2a00:1c20:4089:1234:bff6:e1bb:1ce3:8dc6]:443"
+/* nickname=bakunin2 */
/* extrainfo=0 */
/* ===== */
,
-"178.16.208.59:80 orport=443 id=136F9299A5009A4E0E96494E723BDB556FB0A26B"
-" ipv6=[2a00:1c20:4089:1234:bff6:e1bb:1ce3:8dc6]:443"
-/* nickname=bakunin2 */
+"144.76.14.145:110 orport=143 id=14419131033443AE6E21DA82B0D307F7CAE42BDB"
+" ipv6=[2a01:4f8:190:9490::dead]:443"
+/* nickname=PedicaboMundi */
/* extrainfo=0 */
/* ===== */
,
-"163.172.138.22:80 orport=443 id=16102E458460349EE45C0901DAA6C30094A9BBEA"
-" ipv6=[2001:bc8:4400:2100::1:3]:443"
-/* nickname=mkultra */
+"185.220.101.9:10009 orport=20009 id=14877C6384A9E793F422C8D1DDA447CACA4F7C4B"
+/* nickname=niftywoodmouse */
/* extrainfo=0 */
/* ===== */
,
-"178.62.60.37:80 orport=443 id=175921396C7C426309AB03775A9930B6F611F794"
-/* nickname=lovejoy */
+"54.37.138.138:8080 orport=993 id=1576BE143D8727745BB2BCDDF183291B3C3EFEFC"
+/* nickname=anotherone */
/* extrainfo=0 */
/* ===== */
,
-"171.25.193.25:80 orport=443 id=185663B7C12777F052B2C2D23D7A239D8DA88A0F"
-" ipv6=[2001:67c:289c::25]:443"
-/* nickname=DFRI5 */
+"51.15.78.0:9030 orport=9001 id=15BE17C99FACE24470D40AF782D6A9C692AB36D6"
+" ipv6=[2001:bc8:4700:2300::16:c0b]:9001"
+/* nickname=rofltor07 */
+/* extrainfo=0 */
+/* ===== */
+,
+"204.11.50.131:9030 orport=9001 id=185F2A57B0C4620582602761097D17DB81654F70"
+/* nickname=BoingBoing */
/* extrainfo=0 */
/* ===== */
,
@@ -118,7 +132,7 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
,
"81.7.14.253:9001 orport=443 id=1AE039EE0B11DB79E4B4B29CBA9F752864A0259E"
/* nickname=Ichotolot60 */
-/* extrainfo=0 */
+/* extrainfo=1 */
/* ===== */
,
"163.172.53.84:143 orport=21 id=1C90D3AEADFF3BCD079810632C8B85637924A58E"
@@ -127,46 +141,25 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"46.101.151.222:80 orport=443 id=1DBAED235E3957DE1ABD25B4206BE71406FB61F8"
-/* nickname=flanders */
-/* extrainfo=0 */
-/* ===== */
-,
-"91.219.237.229:80 orport=443 id=1ECD73B936CB6E6B3CD647CC204F108D9DF2C9F7"
-/* nickname=JakeDidNothingWrong */
-/* extrainfo=0 */
-/* ===== */
-,
"199.184.246.250:80 orport=443 id=1F6ABD086F40B890A33C93CC4606EE68B31C9556"
" ipv6=[2620:124:1009:1::171]:443"
/* nickname=dao */
/* extrainfo=0 */
/* ===== */
,
-"185.129.249.124:9030 orport=9001 id=1FA8F638298645BE58AC905276680889CB795A94"
-/* nickname=treadstone */
-/* extrainfo=0 */
-/* ===== */
-,
"212.47.229.2:9030 orport=9001 id=20462CBA5DA4C2D963567D17D0B7249718114A68"
" ipv6=[2001:bc8:4400:2100::f03]:9001"
/* nickname=scaletor */
/* extrainfo=0 */
/* ===== */
,
-"77.247.181.164:80 orport=443 id=204DFD2A2C6A0DC1FA0EACB495218E0B661704FD"
-/* nickname=HaveHeart */
-/* extrainfo=0 */
-/* ===== */
-,
"163.172.176.167:80 orport=443 id=230A8B2A8BA861210D9B4BA97745AEC217A94207"
/* nickname=niij01 */
/* extrainfo=0 */
/* ===== */
,
-"37.200.98.5:80 orport=443 id=231C2B9C8C31C295C472D031E06964834B745996"
-" ipv6=[2a00:1158:3::11a]:993"
-/* nickname=torpidsDEdomainf */
+"185.220.101.8:10008 orport=20008 id=24E91955D969AEA1D80413C64FE106FAE7FD2EA9"
+/* nickname=niftymouse */
/* extrainfo=0 */
/* ===== */
,
@@ -175,7 +168,7 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"178.16.208.56:80 orport=443 id=2CDCFED0142B28B002E89D305CBA2E26063FADE2"
+"193.234.15.56:80 orport=443 id=2CDCFED0142B28B002E89D305CBA2E26063FADE2"
" ipv6=[2a00:1c20:4089:1234:cd49:b58a:9ebe:67ec]:443"
/* nickname=jaures */
/* extrainfo=0 */
@@ -186,14 +179,14 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"64.113.32.29:9030 orport=9001 id=30C19B81981F450C402306E2E7CFB6C3F79CB6B2"
-/* nickname=Libero */
+"94.230.208.147:8080 orport=8443 id=311A4533F7A2415F42346A6C8FA77E6FD279594C"
+" ipv6=[2a02:418:6017::147]:8443"
+/* nickname=DigiGesTor3e2 */
/* extrainfo=0 */
/* ===== */
,
-"80.127.117.180:80 orport=443 id=328E54981C6DDD7D89B89E418724A4A7881E3192"
-" ipv6=[2001:985:e77:10::4]:443"
-/* nickname=sjc01 */
+"212.83.154.33:8080 orport=8443 id=322C6E3A973BC10FC36DE3037AD27BC89F14723B"
+/* nickname=bauruine204 */
/* extrainfo=0 */
/* ===== */
,
@@ -203,21 +196,25 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"163.172.13.165:9030 orport=9001 id=33DA0CAB7C27812EFF2E22C9705630A54D101FEB"
-" ipv6=[2001:bc8:38cb:201::8]:9001"
-/* nickname=mullbinde9 */
+"54.37.17.235:9030 orport=9001 id=360CBA08D1E24F513162047BDB54A1015E531534"
+/* nickname=Aerodynamik06 */
/* extrainfo=0 */
/* ===== */
,
-"91.121.23.100:9030 orport=9001 id=3711E80B5B04494C971FB0459D4209AB7F2EA799"
-/* nickname=0x3d002 */
+"37.157.255.35:9030 orport=9090 id=361D33C96D0F161275EE67E2C91EE10B276E778B"
+/* nickname=cxx4freedom */
/* extrainfo=0 */
/* ===== */
,
-"176.126.252.12:21 orport=8080 id=379FB450010D17078B3766C2273303C358C3A442"
-" ipv6=[2a02:59e0:0:7::12]:81"
-/* nickname=aurora */
-/* extrainfo=1 */
+"37.187.22.87:9030 orport=9001 id=36B9E7AC1E36B62A9D6F330ABEB6012BA7F0D400"
+" ipv6=[2001:41d0:a:1657::1]:9001"
+/* nickname=kimsufi321 */
+/* extrainfo=0 */
+/* ===== */
+,
+"64.79.152.132:80 orport=443 id=375DCBB2DBD94E5263BC0C015F0C9E756669617E"
+/* nickname=ebola */
+/* extrainfo=0 */
/* ===== */
,
"62.210.92.11:9130 orport=9101 id=387B065A38E4DAA16D9D41C2964ECBC4B31D30FF"
@@ -231,24 +228,9 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"164.132.77.175:9030 orport=9001 id=3B33F6FCA645AD4E91428A3AF7DC736AD9FB727B"
-/* nickname=rofltor1 */
-/* extrainfo=0 */
-/* ===== */
-,
-"212.83.154.33:8888 orport=443 id=3C79699D4FBC37DE1A212D5033B56DAE079AC0EF"
-/* nickname=bauruine203 */
-/* extrainfo=0 */
-/* ===== */
-,
-"176.10.107.180:9030 orport=9001 id=3D7E274A87D9A89AF064C13D1EE4CA1F184F2600"
-/* nickname=schokomilch */
-/* extrainfo=0 */
-/* ===== */
-,
-"217.79.179.177:9030 orport=9001 id=3E53D3979DB07EFD736661C934A1DED14127B684"
-" ipv6=[2001:4ba0:fff9:131:6c4f::90d3]:9001"
-/* nickname=Unnamed */
+"66.111.2.16:9030 orport=9001 id=3F092986E9B87D3FDA09B71FA3A602378285C77A"
+" ipv6=[2610:1c0:0:5::16]:9001"
+/* nickname=NYCBUG1 */
/* extrainfo=0 */
/* ===== */
,
@@ -257,19 +239,21 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.61:80 orport=443 id=40E7D6CE5085E4CDDA31D51A29D1457EB53F12AD"
-/* nickname=Quintex12 */
+"195.191.81.7:9030 orport=9001 id=41A3C16269C7B63DB6EB741DBDDB4E1F586B1592"
+" ipv6=[2a00:1908:fffc:ffff:c0a6:ccff:fe62:e1a1]:9001"
+/* nickname=rofltor02 */
/* extrainfo=0 */
/* ===== */
,
"178.17.170.156:9030 orport=9001 id=41C59606AFE1D1AA6EC6EF6719690B856F0B6587"
+" ipv6=[2a00:1dc0:caff:48::9257]:9001"
/* nickname=TorExitMoldova2 */
/* extrainfo=0 */
/* ===== */
,
-"178.62.86.96:9030 orport=9001 id=439D0447772CB107B886F7782DBC201FA26B92D1"
-" ipv6=[2a03:b0c0:1:d0::3cf:7001]:9050"
-/* nickname=pablobm001 */
+"81.7.10.251:80 orport=443 id=45362E8ECD651CCAC521156FFBD2FF7F27FA8E88"
+" ipv6=[2a02:180:1:1::517:afb]:443"
+/* nickname=torpidsDEisppro2 */
/* extrainfo=0 */
/* ===== */
,
@@ -278,19 +262,23 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"132.248.241.5:9030 orport=9001 id=4661DE96D3F8E923994B05218F23760C8D7935A4"
+/* nickname=toritounam */
+/* extrainfo=0 */
+/* ===== */
+,
"31.31.78.49:80 orport=443 id=46791D156C9B6C255C2665D4D8393EC7DBAA7798"
/* nickname=KrigHaBandolo */
/* extrainfo=0 */
/* ===== */
,
-"193.70.43.76:9030 orport=9001 id=484A10BA2B8D48A5F0216674C8DD50EF27BC32F3"
-/* nickname=Aerodynamik03 */
+"185.220.101.34:10034 orport=20034 id=47C42E2094EE482E7C9B586B10BABFB67557030B"
+/* nickname=niftysugarglider */
/* extrainfo=0 */
/* ===== */
,
-"37.187.102.186:9030 orport=9001 id=489D94333DF66D57FFE34D9D59CC2D97E2CB0053"
-" ipv6=[2001:41d0:a:26ba::1]:9001"
-/* nickname=txtfileTorNode65536 */
+"193.70.43.76:9030 orport=9001 id=484A10BA2B8D48A5F0216674C8DD50EF27BC32F3"
+/* nickname=Aerodynamik03 */
/* extrainfo=0 */
/* ===== */
,
@@ -299,9 +287,10 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"108.53.208.157:80 orport=443 id=4F0DB7E687FC7C0AE55C8F243DA8B0EB27FBF1F2"
-/* nickname=Binnacle */
-/* extrainfo=1 */
+"81.7.13.84:80 orport=443 id=4EB55679FA91363B97372554F8DC7C63F4E5B101"
+" ipv6=[2a02:180:1:1::5b8f:538c]:443"
+/* nickname=torpidsDEisppro */
+/* extrainfo=0 */
/* ===== */
,
"212.51.134.123:9030 orport=9001 id=50586E25BE067FD1F739998550EDDCB1A14CA5B2"
@@ -320,6 +309,18 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"192.160.102.166:80 orport=9001 id=547DA56F6B88B6C596B3E3086803CDA4F0EF8F21"
+" ipv6=[2620:132:300c:c01d::6]:9002"
+/* nickname=chaucer */
+/* extrainfo=0 */
+/* ===== */
+,
+"192.160.102.170:80 orport=9001 id=557ACEC850F54EEE65839F83CACE2B0825BE811E"
+" ipv6=[2620:132:300c:c01d::a]:9002"
+/* nickname=ogopogo */
+/* extrainfo=0 */
+/* ===== */
+,
"95.130.12.119:80 orport=443 id=587E0A9552E4274B251F29B5B2673D38442EE4BF"
/* nickname=Nuath */
/* extrainfo=0 */
@@ -331,19 +332,19 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"172.98.193.43:80 orport=443 id=5E56738E7F97AA81DEEF59AF28494293DFBFCCDF"
-/* nickname=Backplane */
+"193.234.15.62:80 orport=443 id=5CF8AFA5E4B0BB88942A44A3F3AAE08C3BDFD60B"
+" ipv6=[2a00:1c20:4089:1234:a6a4:2926:d0af:dfee]:443"
+/* nickname=jaures4 */
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.74:80 orport=443 id=5F4CD12099AF20FAF9ADFDCEC65316A376D0201C"
-/* nickname=QuintexAirVPN7 */
+"172.98.193.43:80 orport=443 id=5E56738E7F97AA81DEEF59AF28494293DFBFCCDF"
+/* nickname=Backplane */
/* extrainfo=0 */
/* ===== */
,
-"95.128.43.164:80 orport=443 id=616081EC829593AF4232550DE6FFAA1D75B37A90"
-" ipv6=[2a02:ec0:209:10::4]:443"
-/* nickname=AquaRayTerminus */
+"185.220.101.28:10028 orport=20028 id=609E598FB6A00BCF7872906B602B705B64541C50"
+/* nickname=niftychipmunk */
/* extrainfo=0 */
/* ===== */
,
@@ -352,88 +353,84 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"85.214.62.48:80 orport=443 id=6A7551EEE18F78A9813096E82BF84F740D32B911"
-/* nickname=TorMachine */
-/* extrainfo=0 */
-/* ===== */
-,
"80.127.137.19:80 orport=443 id=6EF897645B79B6CB35E853B32506375014DE3621"
" ipv6=[2001:981:47c1:1::6]:443"
/* nickname=d6relay */
/* extrainfo=0 */
/* ===== */
,
-"85.235.250.88:80 orport=443 id=72B2B12A3F60408BDBC98C6DF53988D3A0B3F0EE"
-/* nickname=TykRelay01 */
+"37.139.8.104:9030 orport=9001 id=7088D485934E8A403B81531F8C90BDC75FA43C98"
+" ipv6=[2a03:b0c0:0:1010::24c:1001]:9001"
+/* nickname=Basil */
/* extrainfo=0 */
/* ===== */
,
-"81.7.14.31:9001 orport=443 id=7600680249A22080ECC6173FBBF64D6FCF330A61"
-/* nickname=Ichotolot62 */
+"188.138.88.42:80 orport=443 id=70C55A114C0EF3DC5784A4FAEE64388434A3398F"
+/* nickname=torpidsFRplusserver */
/* extrainfo=0 */
/* ===== */
,
-"134.119.36.135:80 orport=443 id=763C9556602BD6207771A7A3D958091D44C43228"
-" ipv6=[2a00:1158:3::2a8]:993"
-/* nickname=torpidsDEdomainf2 */
+"185.220.101.30:10030 orport=20030 id=71CFDEB4D9E00CCC3E31EC4E8A29E109BBC1FB36"
+/* nickname=niftypedetidae */
/* extrainfo=0 */
/* ===== */
,
-"188.166.133.133:9030 orport=9001 id=774555642FDC1E1D4FDF2E0C31B7CA9501C5C9C7"
-" ipv6=[2a03:b0c0:2:d0::26c0:1]:9001"
-/* nickname=dropsy */
+"85.235.250.88:80 orport=443 id=72B2B12A3F60408BDBC98C6DF53988D3A0B3F0EE"
+/* nickname=TykRelay01 */
/* extrainfo=0 */
/* ===== */
,
+"81.7.14.31:9001 orport=443 id=7600680249A22080ECC6173FBBF64D6FCF330A61"
+/* nickname=Ichotolot62 */
+/* extrainfo=1 */
+/* ===== */
+,
"5.196.23.64:9030 orport=9001 id=775B0FAFDE71AADC23FFC8782B7BEB1D5A92733E"
/* nickname=Aerodynamik01 */
/* extrainfo=0 */
/* ===== */
,
-"81.30.158.213:9030 orport=9001 id=789EA6C9AE9ADDD8760903171CFA9AC5741B0C70"
-" ipv6=[2001:4ba0:cafe:e84::1]:9001"
-/* nickname=dumpster */
+"51.254.136.195:80 orport=443 id=7BB70F8585DFC27E75D692970C0EEB0F22983A63"
+/* nickname=torproxy02 */
/* extrainfo=0 */
/* ===== */
,
-"104.200.20.46:80 orport=9001 id=78E2BE744A53631B4AAB781468E94C52AB73968B"
-/* nickname=bynumlawtor */
+"185.100.84.82:80 orport=443 id=7D05A38E39FC5D29AFE6BE487B9B4DC9E635D09E"
+/* nickname=saveyourprivacyexit */
/* extrainfo=0 */
/* ===== */
,
-"62.210.129.246:80 orport=443 id=79E169B25E4C7CE99584F6ED06F379478F23E2B8"
-/* nickname=MilesPrower */
+"193.11.114.45:9031 orport=9002 id=80AAF8D5956A43C197104CEF2550CD42D165C6FB"
+/* nickname=mdfnet2 */
/* extrainfo=0 */
/* ===== */
,
-"82.223.21.74:9030 orport=9001 id=7A32C9519D80CA458FC8B034A28F5F6815649A98"
-" ipv6=[2001:470:53e0::cafe]:9050"
-/* nickname=silentrocket */
+"51.254.96.208:9030 orport=9001 id=8101421BEFCCF4C271D5483C5AABCAAD245BBB9D"
+" ipv6=[2001:41d0:401:3100::30dc]:9001"
+/* nickname=rofltor01 */
/* extrainfo=0 */
/* ===== */
,
-"51.254.136.195:80 orport=443 id=7BB70F8585DFC27E75D692970C0EEB0F22983A63"
-/* nickname=torproxy02 */
+"217.12.199.190:80 orport=443 id=81AFA888F8F8F4A024AB58ECA0ADDEBB93FF01DA"
+" ipv6=[2a02:27a8:0:2::486]:993"
+/* nickname=torpidsUAitlas */
/* extrainfo=0 */
/* ===== */
,
-"77.247.181.162:80 orport=443 id=7BFB908A3AA5B491DA4CA72CCBEE0E1F2A939B55"
-/* nickname=sofia */
+"192.42.116.16:80 orport=443 id=81B75D534F91BFB7C57AB67DA10BCEF622582AE8"
+/* nickname=hviv104 */
/* extrainfo=0 */
/* ===== */
,
-"185.100.84.82:80 orport=443 id=7D05A38E39FC5D29AFE6BE487B9B4DC9E635D09E"
-/* nickname=saveyourprivacyexit */
+"192.160.102.164:80 orport=9001 id=823AA81E277F366505545522CEDC2F529CE4DC3F"
+" ipv6=[2620:132:300c:c01d::4]:9002"
+/* nickname=snowfall */
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.69:80 orport=443 id=7FA8E7E44F1392A4E40FFC3B69DB3B00091B7FD3"
-/* nickname=Quintex20 */
-/* extrainfo=0 */
-/* ===== */
-,
-"193.11.114.45:9031 orport=9002 id=80AAF8D5956A43C197104CEF2550CD42D165C6FB"
-/* nickname=mdfnet2 */
+"192.87.28.82:9030 orport=9001 id=844AE9CAD04325E955E2BE1521563B79FE7094B7"
+" ipv6=[2001:678:230:3028:192:87:28:82]:9001"
+/* nickname=Smeerboel */
/* extrainfo=0 */
/* ===== */
,
@@ -442,23 +439,19 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"85.230.184.93:9030 orport=443 id=855BC2DABE24C861CD887DB9B2E950424B49FC34"
-/* nickname=Logforme */
-/* extrainfo=0 */
-/* ===== */
-,
-"72.52.75.27:9030 orport=9001 id=8567AD0A6369ED08527A8A8533A5162AC00F7678"
-/* nickname=piecoopdotnet */
+"185.96.88.29:80 orport=443 id=86C281AD135058238D7A337D546C902BE8505DDE"
+/* nickname=TykRelay05 */
/* extrainfo=0 */
/* ===== */
,
-"185.96.88.29:80 orport=443 id=86C281AD135058238D7A337D546C902BE8505DDE"
-/* nickname=TykRelay05 */
+"93.180.156.84:9030 orport=9001 id=8844D87E9B038BE3270938F05AF797E1D3C74C0F"
+/* nickname=BARACUDA */
/* extrainfo=0 */
/* ===== */
,
-"176.10.104.243:80 orport=443 id=88487BDD980BF6E72092EE690E8C51C0AA4A538C"
-/* nickname=DigiGesTor2e1 */
+"51.15.205.214:9030 orport=9001 id=8B6556601612F1E2AFCE2A12FFFAF8482A76DD1F"
+" ipv6=[2001:bc8:4400:2500::5:b07]:9001"
+/* nickname=titania1 */
/* extrainfo=0 */
/* ===== */
,
@@ -468,14 +461,8 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"5.189.169.190:8030 orport=8080 id=8D79F73DCD91FC4F5017422FAC70074D6DB8DD81"
-/* nickname=thanatosDE */
-/* extrainfo=0 */
-/* ===== */
-,
-"151.80.42.103:9030 orport=9001 id=9007C1D8E4F03D506A4A011B907A9E8D04E3C605"
-" ipv6=[2001:41d0:e:f67::114]:9001"
-/* nickname=matlink */
+"81.7.11.96:9030 orport=9001 id=8FA37B93397015B2BC5A525C908485260BE9F422"
+/* nickname=Doedel22 */
/* extrainfo=0 */
/* ===== */
,
@@ -485,19 +472,29 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"62.138.7.171:8030 orport=8001 id=9285B22F7953D7874604EEE2B470609AD81C74E9"
-/* nickname=0x3d005 */
+"51.255.41.65:9030 orport=9001 id=9231DF741915AA1630031A93026D88726877E93A"
+/* nickname=PrisnCellRelayFR1 */
+/* extrainfo=0 */
+/* ===== */
+,
+"54.37.73.111:9030 orport=9001 id=92412EA1B9AA887D462B51D816777002F4D58907"
+/* nickname=Aerodynamik05 */
/* extrainfo=0 */
/* ===== */
,
-"178.16.208.57:80 orport=443 id=92CFD9565B24646CAC2D172D3DB503D69E777B8A"
+"96.253.78.108:80 orport=443 id=924B24AFA7F075D059E8EEB284CC400B33D3D036"
+/* nickname=NSDFreedom */
+/* extrainfo=0 */
+/* ===== */
+,
+"193.234.15.57:80 orport=443 id=92CFD9565B24646CAC2D172D3DB503D69E777B8A"
" ipv6=[2a00:1c20:4089:1234:7825:2c5d:1ecd:c66f]:443"
/* nickname=bakunin */
/* extrainfo=0 */
/* ===== */
,
-"91.219.237.244:80 orport=443 id=92ECC9E0E2AF81BB954719B189AC362E254AD4A5"
-/* nickname=lewwerDuarUesSlaav */
+"204.8.156.142:80 orport=443 id=94C4B7B8C50C86A92B6A20107539EE2678CF9A28"
+/* nickname=BostonUCompSci */
/* extrainfo=0 */
/* ===== */
,
@@ -506,8 +503,8 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"163.172.223.200:80 orport=443 id=998BF3ED7F70E33D1C307247B9626D9E7573C438"
-/* nickname=Outfall2 */
+"173.212.254.192:31336 orport=31337 id=99E246DB480B313A3012BC3363093CC26CD209C7"
+/* nickname=ViDiSrv */
/* extrainfo=0 */
/* ===== */
,
@@ -517,22 +514,24 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* ===== */
,
"66.111.2.20:9030 orport=9001 id=9A68B85A02318F4E7E87F2828039FBD5D75B0142"
+" ipv6=[2610:1c0:0:5::20]:9001"
/* nickname=NYCBUG0 */
/* extrainfo=0 */
/* ===== */
,
"185.100.86.128:9030 orport=9001 id=9B31F1F1C1554F9FFB3455911F82E818EF7C7883"
+" ipv6=[2a06:1700:1::11]:9001"
/* nickname=TorExitFinland */
/* extrainfo=0 */
/* ===== */
,
-"146.185.177.103:80 orport=9030 id=9EC5E097663862DF861A18C32B37C5F82284B27D"
-/* nickname=Winter */
+"86.105.212.130:9030 orport=443 id=9C900A7F6F5DD034CFFD192DAEC9CCAA813DB022"
+/* nickname=firstor2 */
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.64:80 orport=443 id=9F2856F6D2B89AD4EF6D5723FAB167DB5A53519A"
-/* nickname=Quintex15 */
+"31.185.104.19:80 orport=443 id=9EAD5B2D3DBD96DBC80DCE423B0C345E920A758D"
+/* nickname=Digitalcourage3ip1 */
/* extrainfo=0 */
/* ===== */
,
@@ -541,11 +540,6 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"91.121.84.137:4952 orport=4052 id=9FBEB75E8BC142565F12CBBE078D63310236A334"
-/* nickname=lindon */
-/* extrainfo=0 */
-/* ===== */
-,
"46.165.230.5:80 orport=443 id=A0F06C2FADF88D3A39AA3072B406F09D7095AC9E"
/* nickname=Dhalgren */
/* extrainfo=1 */
@@ -557,9 +551,14 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"87.118.122.120:80 orport=443 id=A2A6616723B511D8E068BB71705191763191F6B2"
+/* nickname=otheontelth */
+/* extrainfo=0 */
+/* ===== */
+,
"81.7.3.67:993 orport=443 id=A2E6BB5C391CD46B38C55B4329C35304540771F1"
/* nickname=BeastieJoy62 */
-/* extrainfo=0 */
+/* extrainfo=1 */
/* ===== */
,
"171.25.193.78:80 orport=443 id=A478E421F83194C114F41E94F95999672AED51FE"
@@ -568,23 +567,31 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"178.16.208.58:80 orport=443 id=A4C98CEA3F34E05299417E9F885A642C88EF6029"
+"193.234.15.58:80 orport=443 id=A4C98CEA3F34E05299417E9F885A642C88EF6029"
" ipv6=[2a00:1c20:4089:1234:cdae:1b3e:cc38:3d45]:443"
/* nickname=jaures2 */
/* extrainfo=0 */
/* ===== */
,
-"163.172.149.122:80 orport=443 id=A9406A006D6E7B5DA30F2C6D4E42A338B5E340B2"
-/* nickname=niij03 */
+"128.31.0.13:80 orport=443 id=A53C46F5B157DD83366D45A8E99A244934A14C46"
+/* nickname=csailmitexit */
+/* extrainfo=0 */
+/* ===== */
+,
+"94.142.242.84:80 orport=443 id=AA0D167E03E298F9A8CD50F448B81FBD7FA80D56"
+" ipv6=[2a02:898:24:84::1]:443"
+/* nickname=rejozenger */
/* extrainfo=0 */
/* ===== */
,
"195.154.164.243:80 orport=443 id=AC66FFA4AB35A59EBBF5BF4C70008BF24D8A7A5C"
+" ipv6=[2001:bc8:399f:f000::1]:993"
/* nickname=torpidsFRonline3 */
/* extrainfo=0 */
/* ===== */
,
"86.59.119.88:80 orport=443 id=ACD889D86E02EDDAB1AFD81F598C0936238DC6D0"
+" ipv6=[2001:858:2:30:86:59:119:88]:443"
/* nickname=ph3x */
/* extrainfo=0 */
/* ===== */
@@ -601,10 +608,15 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"176.126.252.11:443 orport=9001 id=B0279A521375F3CB2AE210BDBFC645FDD2E1973A"
-" ipv6=[2a02:59e0:0:7::11]:9003"
-/* nickname=chulak */
-/* extrainfo=1 */
+"31.185.104.20:80 orport=443 id=ADB2C26629643DBB9F8FE0096E7D16F9414B4F8D"
+/* nickname=Digitalcourage3ip2 */
+/* extrainfo=0 */
+/* ===== */
+,
+"45.79.108.130:9030 orport=9001 id=AEDAC7081AE14B8D241ECF0FF17A2858AB4383D0"
+" ipv6=[2600:3c01:e000:131::8000:0]:9001"
+/* nickname=linss */
+/* extrainfo=0 */
/* ===== */
,
"5.9.147.226:9030 orport=9001 id=B0553175AADB0501E5A61FC61CEA3970BE130FF2"
@@ -614,15 +626,11 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* ===== */
,
"178.17.174.14:9030 orport=9001 id=B06F093A3D4DFAD3E923F4F28A74901BD4F74EB1"
+" ipv6=[2a00:1dc0:caff:8b::5b9a]:9001"
/* nickname=TorExitMoldova */
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.40:80 orport=443 id=B0CD9F9B5B60651ADC5919C0F1EAA87DBA1D9249"
-/* nickname=Quintex31 */
-/* extrainfo=0 */
-/* ===== */
-,
"212.129.62.232:80 orport=443 id=B143D439B72D239A419F8DCE07B8A8EB1B486FA7"
/* nickname=wardsback */
/* extrainfo=0 */
@@ -633,8 +641,9 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"212.47.233.86:9030 orport=9001 id=B4CAFD9CBFB34EC5DAAC146920DC7DFAFE91EA20"
-/* nickname=netimanmu */
+"193.234.15.60:80 orport=443 id=B44FBE5366AD98B46D829754FA4AC599BAE41A6A"
+" ipv6=[2a00:1c20:4089:1234:67bc:79f3:61c0:6e49]:443"
+/* nickname=jaures3 */
/* extrainfo=0 */
/* ===== */
,
@@ -649,39 +658,51 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"185.220.101.32:10032 orport=20032 id=B771AA877687F88E6F1CA5354756DF6C8A7B6B24"
+/* nickname=niftypika */
+/* extrainfo=0 */
+/* ===== */
+,
"193.11.114.46:9032 orport=9003 id=B83DC1558F0D34353BB992EF93AFEAFDB226A73E"
/* nickname=mdfnet3 */
/* extrainfo=0 */
/* ===== */
,
+"85.248.227.164:444 orport=9002 id=B84F248233FEA90CAD439F292556A3139F6E1B82"
+" ipv6=[2a00:1298:8011:212::164]:9004"
+/* nickname=tollana */
+/* extrainfo=0 */
+/* ===== */
+,
"81.7.11.186:1080 orport=443 id=B86137AE9681701901C6720E55C16805B46BD8E3"
/* nickname=BeastieJoy60 */
-/* extrainfo=0 */
+/* extrainfo=1 */
/* ===== */
,
-"197.231.221.211:9030 orport=443 id=BC630CBBB518BE7E9F4E09712AB0269E9DC7D626"
-/* nickname=IPredator */
+"213.141.138.174:9030 orport=9001 id=BD552C165E2ED2887D3F1CCE9CFF155DDA2D86E6"
+/* nickname=Schakalium */
/* extrainfo=0 */
/* ===== */
,
-"198.96.155.3:8080 orport=5001 id=BCEDF6C193AA687AE471B8A22EBF6BC57C2D285E"
-/* nickname=gurgle */
+"148.251.190.229:9030 orport=9010 id=BF0FB582E37F738CD33C3651125F2772705BB8E8"
+" ipv6=[2a01:4f8:211:c68::2]:9010"
+/* nickname=quadhead */
/* extrainfo=0 */
/* ===== */
,
-"128.199.55.207:9030 orport=9001 id=BCEF908195805E03E92CCFE669C48738E556B9C5"
-" ipv6=[2a03:b0c0:2:d0::158:3001]:9001"
-/* nickname=EldritchReaper */
+"104.192.5.248:9030 orport=443 id=BF735F669481EE1CCC348F0731551C933D1E2278"
+/* nickname=Freeway1a1 */
/* extrainfo=0 */
/* ===== */
,
-"213.141.138.174:9030 orport=9001 id=BD552C165E2ED2887D3F1CCE9CFF155DDA2D86E6"
-/* nickname=Schakalium */
+"192.160.102.169:80 orport=9001 id=C0192FF43E777250084175F4E59AC1BA2290CE38"
+" ipv6=[2620:132:300c:c01d::9]:9002"
+/* nickname=manipogo */
/* extrainfo=0 */
/* ===== */
,
-"104.192.5.248:9030 orport=9001 id=BF735F669481EE1CCC348F0731551C933D1E2278"
-/* nickname=Freeway11 */
+"185.220.101.6:10006 orport=20006 id=C08DE49658E5B3CFC6F2A952B453C4B608C9A16A"
+/* nickname=niftyvolcanorabbit */
/* extrainfo=0 */
/* ===== */
,
@@ -701,18 +722,31 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.66:80 orport=443 id=C5A53BCC174EF8FD0DCB223E4AA929FA557DEDB2"
-/* nickname=Quintex17 */
+"193.234.15.55:80 orport=443 id=C4AEA05CF380BAD2230F193E083B8869B4A29937"
+" ipv6=[2a00:1c20:4089:1234:7b2c:11c5:5221:903e]:443"
+/* nickname=bakunin4 */
/* extrainfo=0 */
/* ===== */
,
-"85.25.213.211:465 orport=80 id=CE47F0356D86CF0A1A2008D97623216D560FB0A8"
-/* nickname=BeastieJoy61 */
+"85.248.227.163:443 orport=9001 id=C793AB88565DDD3C9E4C6F15CCB9D8C7EF964CE9"
+" ipv6=[2a00:1298:8011:212::163]:9003"
+/* nickname=ori */
+/* extrainfo=0 */
+/* ===== */
+,
+"192.160.102.165:80 orport=9001 id=C90CA3B7FE01A146B8268D56977DC4A2C024B9EA"
+" ipv6=[2620:132:300c:c01d::5]:9002"
+/* nickname=cowcat */
/* extrainfo=0 */
/* ===== */
,
-"51.15.13.245:9030 orport=9001 id=CED527EAC230E7B56E5B363F839671829C3BA01B"
-/* nickname=0x3d006 */
+"176.31.103.150:9030 orport=9001 id=CBD0D1BD110EC52963082D839AC6A89D0AE243E7"
+/* nickname=UV74S7mjxRcYVrGsAMw */
+/* extrainfo=0 */
+/* ===== */
+,
+"85.25.213.211:465 orport=80 id=CE47F0356D86CF0A1A2008D97623216D560FB0A8"
+/* nickname=BeastieJoy61 */
/* extrainfo=0 */
/* ===== */
,
@@ -721,19 +755,24 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"31.171.155.108:9030 orport=9001 id=D3E5EDDBE5159388704D6785BE51930AAFACEC6F"
-/* nickname=TorNodeAlbania */
+"5.45.111.149:80 orport=443 id=D405FCCF06ADEDF898DF2F29C9348DCB623031BA"
+" ipv6=[2a03:4000:6:2388:df98:15f9:b34d:443]:443"
+/* nickname=gGDHjdcC6zAlM8k08lY */
/* extrainfo=0 */
/* ===== */
,
-"37.221.162.226:9030 orport=9001 id=D64366987CB39F61AD21DBCF8142FA0577B92811"
-/* nickname=kasperskytor01 */
+"37.187.115.157:9030 orport=9001 id=D5039E1EBFD96D9A3F9846BF99EC9F75EDDE902A"
+/* nickname=Janky328891 */
/* extrainfo=0 */
/* ===== */
,
-"46.101.169.151:9030 orport=9001 id=D760C5B436E42F93D77EF2D969157EEA14F9B39C"
-" ipv6=[2a03:b0c0:3:d0::74f:a001]:9001"
-/* nickname=DanWin1210 */
+"217.182.51.248:80 orport=443 id=D6BA940D3255AB40DC5EE5B0B285FA143E1F9865"
+/* nickname=Cosworth02 */
+/* extrainfo=0 */
+/* ===== */
+,
+"185.34.33.2:9265 orport=31415 id=D71B1CA1C9DC7E8CA64158E106AD770A21160FEE"
+/* nickname=lqdn */
/* extrainfo=0 */
/* ===== */
,
@@ -748,6 +787,11 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"54.36.237.163:80 orport=443 id=DB2682153AC0CCAECD2BD1E9EBE99C6815807A1E"
+/* nickname=GermanCraft2 */
+/* extrainfo=0 */
+/* ===== */
+,
"178.33.183.251:80 orport=443 id=DD823AFB415380A802DCAEB9461AE637604107FB"
" ipv6=[2001:41d0:2:a683::251]:443"
/* nickname=grenouille */
@@ -760,34 +804,36 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"92.222.38.67:80 orport=443 id=DED6892FF89DBD737BA689698A171B2392EB3E82"
-/* nickname=ThorExit */
+"83.212.99.68:80 orport=443 id=DDBB2A38252ADDA53E4492DDF982CA6CC6E10EC0"
+" ipv6=[2001:648:2ffc:1225:a800:bff:fe3d:67b5]:443"
+/* nickname=zouzounella */
/* extrainfo=0 */
/* ===== */
,
-"166.70.207.2:9030 orport=9001 id=E3DB2E354B883B59E8DC56B3E7A353DDFD457812"
-/* nickname=xmission */
+"92.222.38.67:80 orport=443 id=DED6892FF89DBD737BA689698A171B2392EB3E82"
+" ipv6=[2001:41d0:52:100::112a]:443"
+/* nickname=ThorExit */
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.43:80 orport=443 id=E480D577F58E782A5BC4FA6F49A6650E9389302F"
-/* nickname=Quintex34 */
+"185.100.86.182:9030 orport=8080 id=E51620B90DCB310138ED89EDEDD0A5C361AAE24E"
+/* nickname=NormalCitizen */
/* extrainfo=0 */
/* ===== */
,
-"46.252.26.2:45212 orport=49991 id=E589316576A399C511A9781A73DA4545640B479D"
-/* nickname=marlen */
+"212.47.244.38:8080 orport=443 id=E81EF60A73B3809F8964F73766B01BAA0A171E20"
+/* nickname=Chimborazo */
/* extrainfo=0 */
/* ===== */
,
-"176.31.180.157:143 orport=22 id=E781F4EC69671B3F1864AE2753E0890351506329"
-" ipv6=[2001:41d0:8:eb9d::1]:22"
-/* nickname=armbrust */
+"51.254.147.57:80 orport=443 id=EB80A8D52F07238B576C42CEAB98ADD084EE075E"
+/* nickname=Cosworth01 */
/* extrainfo=0 */
/* ===== */
,
-"212.47.244.38:8080 orport=443 id=E81EF60A73B3809F8964F73766B01BAA0A171E20"
-/* nickname=Chimborazo */
+"192.87.28.28:9030 orport=9001 id=ED2338CAC2711B3E331392E1ED2831219B794024"
+" ipv6=[2001:678:230:3028:192:87:28:28]:9001"
+/* nickname=SEC6xFreeBSD64 */
/* extrainfo=0 */
/* ===== */
,
@@ -796,31 +842,60 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"193.70.112.165:80 orport=443 id=F10BDE279AE71515DDCCCC61DC19AC8765F8A3CC"
+/* nickname=ParkBenchInd001 */
+/* extrainfo=0 */
+/* ===== */
+,
+"129.13.131.140:80 orport=443 id=F2DFE5FA1E4CF54F8E761A6D304B9B4EC69BDAE8"
+" ipv6=[2a00:1398:5:f604:cafe:cafe:cafe:9001]:443"
+/* nickname=AlleKochenKaffee */
+/* extrainfo=0 */
+/* ===== */
+,
"37.187.102.108:80 orport=443 id=F4263275CF54A6836EE7BD527B1328836A6F06E1"
" ipv6=[2001:41d0:a:266c::1]:443"
/* nickname=EvilMoe */
/* extrainfo=0 */
/* ===== */
,
-"46.28.109.231:9030 orport=9001 id=F70B7C5CD72D74C7F9F2DC84FA9D20D51BA13610"
-" ipv6=[2a02:2b88:2:1::4205:1]:9001"
-/* nickname=wedostor */
+"192.160.102.168:80 orport=9001 id=F6A358DD367B3282D6EF5824C9D45E1A19C7E815"
+" ipv6=[2620:132:300c:c01d::8]:9002"
+/* nickname=prawksi */
+/* extrainfo=0 */
+/* ===== */
+,
+"163.172.154.162:9030 orport=9001 id=F741E5124CB12700DA946B78C9B2DD175D6CD2A1"
+" ipv6=[2001:bc8:4400:2100::17:419]:9001"
+/* nickname=rofltor06 */
/* extrainfo=0 */
/* ===== */
,
+"78.47.18.110:443 orport=80 id=F8D27B163B9247B232A2EEE68DD8B698695C28DE"
+" ipv6=[2a01:4f8:120:4023::110]:80"
+/* nickname=fluxe3 */
+/* extrainfo=1 */
+/* ===== */
+,
+"178.254.19.101:80 orport=443 id=F9246DEF2B653807236DA134F2AEAB103D58ABFE"
+/* nickname=Freebird31 */
+/* extrainfo=1 */
+/* ===== */
+,
"185.96.180.29:80 orport=443 id=F93D8F37E35C390BCAD9F9069E13085B745EC216"
/* nickname=TykRelay06 */
/* extrainfo=0 */
/* ===== */
,
"86.59.119.83:80 orport=443 id=FC9AC8EA0160D88BCCFDE066940D7DD9FA45495B"
+" ipv6=[2001:858:2:30:86:59:119:83]:443"
/* nickname=ph3x */
/* extrainfo=0 */
/* ===== */
,
"149.56.45.200:9030 orport=9001 id=FE296180018833AF03A8EACD5894A614623D3F76"
" ipv6=[2607:5300:201:3000::17d3]:9002"
-/* nickname=PiotrTorpotkinOne */
+/* nickname=PyotrTorpotkinOne */
/* extrainfo=0 */
/* ===== */
,
diff --git a/src/app/config/or_options_st.h b/src/app/config/or_options_st.h
index 3524b99b53..c2bc1079a5 100644
--- a/src/app/config/or_options_st.h
+++ b/src/app/config/or_options_st.h
@@ -666,6 +666,9 @@ struct or_options_t {
* accessing this value directly. */
int ClientPreferIPv6DirPort;
+ /** If true, prefer an IPv4 or IPv6 OR port at random. */
+ int ClientAutoIPv6ORPort;
+
/** The length of time that we think a consensus should be fresh. */
int V3AuthVotingInterval;
/** The length of time we think it will take to distribute votes. */
@@ -1072,6 +1075,20 @@ struct or_options_t {
/** Autobool: Do we refuse single hop client rendezvous? */
int DoSRefuseSingleHopClientRendezvous;
+
+ /** Interval: how long without activity does it take for a client
+ * to become dormant?
+ **/
+ int DormantClientTimeout;
+
+ /** Boolean: true if having an idle stream is sufficient to prevent a client
+ * from becoming dormant.
+ **/
+ int DormantTimeoutDisabledByIdleStreams;
+
+ /** Boolean: true if Tor should be dormant the first time it starts with
+ * a datadirectory; false otherwise. */
+ int DormantOnFirstStartup;
};
#endif
diff --git a/src/app/config/or_state_st.h b/src/app/config/or_state_st.h
index d95df6236b..00968d3731 100644
--- a/src/app/config/or_state_st.h
+++ b/src/app/config/or_state_st.h
@@ -87,6 +87,13 @@ struct or_state_t {
/** When did we last rotate our onion key? "0" for 'no idea'. */
time_t LastRotatedOnionKey;
+
+ /** Number of minutes since the last user-initiated request (as defined by
+ * the dormant net-status system.) Set to zero if we are dormant. */
+ int MinutesSinceUserActivity;
+ /** True if we were dormant when we last wrote the file; false if we
+ * weren't. "auto" on initial startup. */
+ int Dormant;
};
#endif
diff --git a/src/app/config/statefile.c b/src/app/config/statefile.c
index 8a8b7ced01..97b96f1149 100644
--- a/src/app/config/statefile.c
+++ b/src/app/config/statefile.c
@@ -34,6 +34,7 @@
#include "app/config/config.h"
#include "app/config/confparse.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
#include "core/mainloop/connection.h"
#include "feature/control/control.h"
#include "feature/client/entrynodes.h"
@@ -45,6 +46,7 @@
#include "app/config/statefile.h"
#include "lib/encoding/confline.h"
#include "lib/net/resolve.h"
+#include "lib/version/torversion.h"
#include "app/config/or_state_st.h"
@@ -131,6 +133,9 @@ static config_var_t state_vars_[] = {
VAR("CircuitBuildTimeBin", LINELIST_S, BuildtimeHistogram, NULL),
VAR("BuildtimeHistogram", LINELIST_V, BuildtimeHistogram, NULL),
+ V(MinutesSinceUserActivity, UINT, NULL),
+ V(Dormant, AUTOBOOL, "auto"),
+
END_OF_CONFIG_VARS
};
@@ -308,6 +313,8 @@ or_state_set(or_state_t *new_state)
get_circuit_build_times_mutable(),global_state) < 0) {
ret = -1;
}
+ netstatus_load_from_state(global_state, time(NULL));
+
return ret;
}
@@ -499,6 +506,8 @@ or_state_save(time_t now)
entry_guards_update_state(global_state);
rep_hist_update_state(global_state);
circuit_build_times_update_state(get_circuit_build_times(), global_state);
+ netstatus_flush_to_state(global_state, now);
+
if (accounting_is_enabled(get_options()))
accounting_run_housekeeping(now);
diff --git a/src/app/main/main.c b/src/app/main/main.c
index ae87add67d..aa322046fe 100644
--- a/src/app/main/main.c
+++ b/src/app/main/main.c
@@ -15,6 +15,7 @@
#include "app/config/statefile.h"
#include "app/main/main.h"
#include "app/main/ntmain.h"
+#include "app/main/subsysmgr.h"
#include "core/mainloop/connection.h"
#include "core/mainloop/cpuworker.h"
#include "core/mainloop/mainloop.h"
@@ -33,6 +34,7 @@
#include "core/or/relay.h"
#include "core/or/scheduler.h"
#include "core/or/status.h"
+#include "core/or/versions.h"
#include "feature/api/tor_api.h"
#include "feature/api/tor_api_internal.h"
#include "feature/client/addressmap.h"
@@ -65,13 +67,14 @@
#include "feature/stats/predict_ports.h"
#include "feature/stats/rephist.h"
#include "lib/compress/compress.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/crypt_ops/crypto_s2k.h"
-#include "lib/err/backtrace.h"
#include "lib/geoip/geoip.h"
+#include "lib/net/resolve.h"
#include "lib/process/waitpid.h"
+#include "lib/process/process.h"
#include "lib/meminfo/meminfo.h"
#include "lib/osinfo/uname.h"
@@ -83,6 +86,7 @@
#include "lib/encoding/confline.h"
#include "lib/evloop/timers.h"
#include "lib/crypt_ops/crypto_init.h"
+#include "lib/version/torversion.h"
#include <event2/event.h>
@@ -301,6 +305,19 @@ process_signal(int sig)
log_heartbeat(time(NULL));
control_event_signal(sig);
break;
+ case SIGACTIVE:
+ /* "SIGACTIVE" counts as ersatz user activity. */
+ note_user_activity(approx_time());
+ control_event_signal(sig);
+ break;
+ case SIGDORMANT:
+ /* "SIGDORMANT" means to ignore past user activity */
+ log_notice(LD_GENERAL, "Going dormant because of controller request.");
+ reset_user_activity(0);
+ set_network_participation(false);
+ schedule_rescan_periodic_events();
+ control_event_signal(sig);
+ break;
}
}
@@ -426,18 +443,6 @@ dumpstats(int severity)
rend_service_dump_stats(severity);
}
-/** Called by exit() as we shut down the process.
- */
-static void
-exit_function(void)
-{
- /* NOTE: If we ever daemonize, this gets called immediately. That's
- * okay for now, because we only use this on Windows. */
-#ifdef _WIN32
- WSACleanup();
-#endif
-}
-
#ifdef _WIN32
#define UNIX_ONLY 0
#else
@@ -482,6 +487,8 @@ static struct {
{ SIGNEWNYM, 0, NULL },
{ SIGCLEARDNSCACHE, 0, NULL },
{ SIGHEARTBEAT, 0, NULL },
+ { SIGACTIVE, 0, NULL },
+ { SIGDORMANT, 0, NULL },
{ -1, -1, NULL }
};
@@ -546,18 +553,16 @@ tor_init(int argc, char *argv[])
tor_snprintf(progname, sizeof(progname), "Tor %s", get_version());
log_set_application_name(progname);
- /* Set up the crypto nice and early */
- if (crypto_early_init() < 0) {
- log_err(LD_GENERAL, "Unable to initialize the crypto subsystem!");
- return -1;
- }
-
/* Initialize the history structures. */
rep_hist_init();
/* Initialize the service cache. */
rend_cache_init();
addressmap_init(); /* Init the client dns cache. Do it always, since it's
* cheap. */
+
+ /* Initialize Process subsystem. */
+ process_init();
+
/* Initialize the HS subsystem. */
hs_init();
@@ -631,12 +636,6 @@ tor_init(int argc, char *argv[])
rust_log_welcome_string();
#endif /* defined(HAVE_RUST) */
- if (network_init()<0) {
- log_err(LD_BUG,"Error initializing network; exiting.");
- return -1;
- }
- atexit(exit_function);
-
int init_rv = options_init_from_torrc(argc,argv);
if (init_rv < 0) {
log_err(LD_CONFIG,"Reading config failed--see warnings above.");
@@ -783,7 +782,6 @@ tor_free_all(int postfork)
routerparse_free_all();
ext_orport_free_all();
control_free_all();
- tor_free_getaddrinfo_cache();
protover_free_all();
bridges_free_all();
consdiffmgr_free_all();
@@ -791,6 +789,8 @@ tor_free_all(int postfork)
dos_free_all();
circuitmux_ewma_free_all();
accounting_free_all();
+ protover_summary_cache_free_all();
+ process_free_all();
if (!postfork) {
config_free_all();
@@ -800,7 +800,6 @@ tor_free_all(int postfork)
policies_free_all();
}
if (!postfork) {
- tor_tls_free_all();
#ifndef _WIN32
tor_getpwnam(NULL);
#endif
@@ -813,12 +812,12 @@ tor_free_all(int postfork)
release_lockfile();
}
tor_libevent_free_all();
+
+ subsystems_shutdown();
+
/* Stuff in util.c and address.c*/
if (!postfork) {
- escaped(NULL);
esc_router_info(NULL);
- clean_up_backtrace_handler();
- logs_free_all(); /* free log strings. do this last so logs keep working. */
}
}
@@ -877,7 +876,6 @@ tor_cleanup(void)
later, if it makes shutdown unacceptably slow. But for
now, leave it here: it's helped us catch bugs in the
past. */
- crypto_global_cleanup();
}
/** Read/create keys as needed, and echo our fingerprint to stdout. */
@@ -1269,11 +1267,10 @@ sandbox_init_filter(void)
return cfg;
}
-static int
+int
run_tor_main_loop(void)
{
handle_signals();
- monotime_init();
timers_initialize();
initialize_mainloop_events();
@@ -1385,54 +1382,13 @@ tor_run_main(const tor_main_configuration_t *tor_cfg)
{
int result = 0;
-#ifdef _WIN32
-#ifndef HeapEnableTerminationOnCorruption
-#define HeapEnableTerminationOnCorruption 1
-#endif
- /* On heap corruption, just give up; don't try to play along. */
- HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0);
-
- /* SetProcessDEPPolicy is only supported on 32-bit Windows.
- * (On 64-bit Windows it always fails, and some compilers don't like the
- * PSETDEP cast.)
- * 32-bit Windows defines _WIN32.
- * 64-bit Windows defines _WIN32 and _WIN64. */
-#ifndef _WIN64
- /* Call SetProcessDEPPolicy to permanently enable DEP.
- The function will not resolve on earlier versions of Windows,
- and failure is not dangerous. */
- HMODULE hMod = GetModuleHandleA("Kernel32.dll");
- if (hMod) {
- typedef BOOL (WINAPI *PSETDEP)(DWORD);
- PSETDEP setdeppolicy = (PSETDEP)GetProcAddress(hMod,
- "SetProcessDEPPolicy");
- if (setdeppolicy) {
- /* PROCESS_DEP_ENABLE | PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION */
- setdeppolicy(3);
- }
- }
-#endif /* !defined(_WIN64) */
-#endif /* defined(_WIN32) */
-
- {
- int bt_err = configure_backtrace_handler(get_version());
- if (bt_err < 0) {
- log_warn(LD_BUG, "Unable to install backtrace handler: %s",
- strerror(-bt_err));
- }
- }
-
#ifdef EVENT_SET_MEM_FUNCTIONS_IMPLEMENTED
event_set_mem_functions(tor_malloc_, tor_realloc_, tor_free_);
#endif
- init_protocol_warning_severity_level();
+ subsystems_init();
- update_approx_time(time(NULL));
- tor_threads_init();
- tor_compress_init();
- init_logging(0);
- monotime_init();
+ init_protocol_warning_severity_level();
int argc = tor_cfg->argc + tor_cfg->argc_owned;
char **argv = tor_calloc(argc, sizeof(char*));
@@ -1468,6 +1424,7 @@ tor_run_main(const tor_main_configuration_t *tor_cfg)
tor_free_all(0);
return -1;
}
+ tor_make_getaddrinfo_cache_active();
// registering libevent rng
#ifdef HAVE_EVUTIL_SECURE_RNG_SET_URANDOM_DEVICE_FILE
diff --git a/src/app/main/main.h b/src/app/main/main.h
index b64f2ef417..23a436703e 100644
--- a/src/app/main/main.h
+++ b/src/app/main/main.h
@@ -26,4 +26,6 @@ void tor_free_all(int postfork);
int tor_init(int argc, char **argv);
+int run_tor_main_loop(void);
+
#endif /* !defined(TOR_MAIN_H) */
diff --git a/src/app/main/ntmain.c b/src/app/main/ntmain.c
index 800720a0b4..8d2135a587 100644
--- a/src/app/main/ntmain.c
+++ b/src/app/main/ntmain.c
@@ -298,7 +298,7 @@ nt_service_body(int argc, char **argv)
service_status.dwCurrentState = SERVICE_RUNNING;
service_fns.SetServiceStatus_fn(hStatus, &service_status);
set_main_thread();
- do_main_loop();
+ run_tor_main_loop();
tor_cleanup();
}
@@ -326,7 +326,7 @@ nt_service_main(void)
return;
switch (get_options()->command) {
case CMD_RUN_TOR:
- do_main_loop();
+ run_tor_main_loop();
break;
case CMD_LIST_FINGERPRINT:
case CMD_HASH_PASSWORD:
diff --git a/src/app/main/subsysmgr.c b/src/app/main/subsysmgr.c
new file mode 100644
index 0000000000..abd2edd10b
--- /dev/null
+++ b/src/app/main/subsysmgr.c
@@ -0,0 +1,202 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+#include "app/main/subsysmgr.h"
+#include "lib/err/torerr.h"
+
+#include "lib/log/log.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+/**
+ * True iff we have checked tor_subsystems for consistency.
+ **/
+static bool subsystem_array_validated = false;
+
+/**
+ * True if a given subsystem is initialized. Expand this array if there
+ * are more than this number of subsystems. (We'd rather not
+ * dynamically allocate in this module.)
+ **/
+static bool sys_initialized[128];
+
+/**
+ * Exit with a raw assertion if the subsystems list is inconsistent;
+ * initialize the subsystem_initialized array.
+ **/
+static void
+check_and_setup(void)
+{
+ if (subsystem_array_validated)
+ return;
+
+ raw_assert(ARRAY_LENGTH(sys_initialized) >= n_tor_subsystems);
+ memset(sys_initialized, 0, sizeof(sys_initialized));
+
+ int last_level = MIN_SUBSYS_LEVEL;
+
+ for (unsigned i = 0; i < n_tor_subsystems; ++i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (sys->level < MIN_SUBSYS_LEVEL || sys->level > MAX_SUBSYS_LEVEL) {
+ fprintf(stderr, "BUG: Subsystem %s (at %u) has an invalid level %d. "
+ "It is supposed to be between %d and %d (inclusive).\n",
+ sys->name, i, sys->level, MIN_SUBSYS_LEVEL, MAX_SUBSYS_LEVEL);
+ raw_assert_unreached_msg("There is a bug in subsystem_list.c");
+ }
+ if (sys->level < last_level) {
+ fprintf(stderr, "BUG: Subsystem %s (at #%u) is in the wrong position. "
+ "Its level is %d; but the previous subsystem's level was %d.\n",
+ sys->name, i, sys->level, last_level);
+ raw_assert_unreached_msg("There is a bug in subsystem_list.c");
+ }
+ last_level = sys->level;
+ }
+
+ subsystem_array_validated = true;
+}
+
+/**
+ * Initialize all the subsystems; exit on failure.
+ **/
+int
+subsystems_init(void)
+{
+ return subsystems_init_upto(MAX_SUBSYS_LEVEL);
+}
+
+/**
+ * Initialize all the subsystems whose level is less than or equal to
+ * <b>target_level</b>; exit on failure.
+ **/
+int
+subsystems_init_upto(int target_level)
+{
+ check_and_setup();
+
+ for (unsigned i = 0; i < n_tor_subsystems; ++i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (!sys->supported)
+ continue;
+ if (sys->level > target_level)
+ break;
+ if (sys_initialized[i])
+ continue;
+ int r = 0;
+ if (sys->initialize) {
+ // Note that the logging subsystem is designed so that it does no harm
+ // to log a message in an uninitialized state. These messages will be
+ // discarded for now, however.
+ log_debug(LD_GENERAL, "Initializing %s", sys->name);
+ r = sys->initialize();
+ }
+ if (r < 0) {
+ fprintf(stderr, "BUG: subsystem %s (at %u) initialization failed.\n",
+ sys->name, i);
+ raw_assert_unreached_msg("A subsystem couldn't be initialized.");
+ }
+ sys_initialized[i] = true;
+ }
+
+ return 0;
+}
+
+/**
+ * Shut down all the subsystems.
+ **/
+void
+subsystems_shutdown(void)
+{
+ subsystems_shutdown_downto(MIN_SUBSYS_LEVEL - 1);
+}
+
+/**
+ * Shut down all the subsystems whose level is above <b>target_level</b>.
+ **/
+void
+subsystems_shutdown_downto(int target_level)
+{
+ check_and_setup();
+
+ for (int i = (int)n_tor_subsystems - 1; i >= 0; --i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (!sys->supported)
+ continue;
+ if (sys->level <= target_level)
+ break;
+ if (! sys_initialized[i])
+ continue;
+ if (sys->shutdown) {
+ log_debug(LD_GENERAL, "Shutting down %s", sys->name);
+ sys->shutdown();
+ }
+ sys_initialized[i] = false;
+ }
+}
+
+/**
+ * Run pre-fork code on all subsystems that declare any
+ **/
+void
+subsystems_prefork(void)
+{
+ check_and_setup();
+
+ for (int i = (int)n_tor_subsystems - 1; i >= 0; --i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (!sys->supported)
+ continue;
+ if (! sys_initialized[i])
+ continue;
+ if (sys->prefork) {
+ log_debug(LD_GENERAL, "Pre-fork: %s", sys->name);
+ sys->prefork();
+ }
+ }
+}
+
+/**
+ * Run post-fork code on all subsystems that declare any
+ **/
+void
+subsystems_postfork(void)
+{
+ check_and_setup();
+
+ for (unsigned i = 0; i < n_tor_subsystems; ++i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (!sys->supported)
+ continue;
+ if (! sys_initialized[i])
+ continue;
+ if (sys->postfork) {
+ log_debug(LD_GENERAL, "Post-fork: %s", sys->name);
+ sys->postfork();
+ }
+ }
+}
+
+/**
+ * Run thread-cleanup code on all subsystems that declare any
+ **/
+void
+subsystems_thread_cleanup(void)
+{
+ check_and_setup();
+
+ for (int i = (int)n_tor_subsystems - 1; i >= 0; --i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (!sys->supported)
+ continue;
+ if (! sys_initialized[i])
+ continue;
+ if (sys->thread_cleanup) {
+ log_debug(LD_GENERAL, "Thread cleanup: %s", sys->name);
+ sys->thread_cleanup();
+ }
+ }
+}
diff --git a/src/app/main/subsysmgr.h b/src/app/main/subsysmgr.h
new file mode 100644
index 0000000000..4b3cad62ad
--- /dev/null
+++ b/src/app/main/subsysmgr.h
@@ -0,0 +1,24 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef TOR_SUBSYSMGR_T
+#define TOR_SUBSYSMGR_T
+
+#include "lib/subsys/subsys.h"
+
+extern const struct subsys_fns_t *tor_subsystems[];
+extern const unsigned n_tor_subsystems;
+
+int subsystems_init(void);
+int subsystems_init_upto(int level);
+
+void subsystems_shutdown(void);
+void subsystems_shutdown_downto(int level);
+
+void subsystems_prefork(void);
+void subsystems_postfork(void);
+void subsystems_thread_cleanup(void);
+
+#endif
diff --git a/src/app/main/subsystem_list.c b/src/app/main/subsystem_list.c
new file mode 100644
index 0000000000..8640329e92
--- /dev/null
+++ b/src/app/main/subsystem_list.c
@@ -0,0 +1,40 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+#include "app/main/subsysmgr.h"
+#include "lib/cc/compat_compiler.h"
+#include "lib/cc/torint.h"
+
+#include "lib/compress/compress_sys.h"
+#include "lib/crypt_ops/crypto_sys.h"
+#include "lib/err/torerr_sys.h"
+#include "lib/log/log_sys.h"
+#include "lib/net/network_sys.h"
+#include "lib/process/winprocess_sys.h"
+#include "lib/thread/thread_sys.h"
+#include "lib/time/time_sys.h"
+#include "lib/tls/tortls_sys.h"
+#include "lib/wallclock/wallclock_sys.h"
+
+#include <stddef.h>
+
+/**
+ * Global list of the subsystems in Tor, in the order of their initialization.
+ **/
+const subsys_fns_t *tor_subsystems[] = {
+ &sys_winprocess, /* -100 */
+ &sys_torerr, /* -100 */
+ &sys_wallclock, /* -99 */
+ &sys_threads, /* -95 */
+ &sys_logging, /* -90 */
+ &sys_time, /* -90 */
+ &sys_network, /* -90 */
+ &sys_compress, /* -70 */
+ &sys_crypto, /* -60 */
+ &sys_tortls, /* -50 */
+};
+
+const unsigned n_tor_subsystems = ARRAY_LENGTH(tor_subsystems);
diff --git a/src/config/geoip b/src/config/geoip
index f96ec3f483..3be1ffc7b8 100644
--- a/src/config/geoip
+++ b/src/config/geoip
@@ -1,4 +1,4 @@
-# Last updated based on October 9 2018 Maxmind GeoLite2 Country
+# Last updated based on December 5 2018 Maxmind GeoLite2 Country
# wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz
# gunzip GeoLite2-Country.mmdb.gz
# python mmdb-convert.py GeoLite2-Country.mmdb
@@ -67,7 +67,9 @@
19726336,19791871,CN
19791872,19807232,TH
19807233,19807233,CN
-19807234,19922943,TH
+19807234,19836287,TH
+19836288,19836351,TW
+19836352,19922943,TH
19922944,20185087,CN
20185088,20447231,VN
20447232,20971519,CN
@@ -104,15 +106,14 @@
34651136,34651647,BR
34659328,34660351,GR
34673664,34674687,DE
-34699520,34699775,DE
34733056,34734079,DE
34754560,34758655,GR
-34788864,34789119,DE
34796032,34796543,NL
34803712,34807807,IT
34861056,34865151,DE
34866176,34867199,IT
34880512,34881535,DE
+34898944,34899199,HU
34910976,34911231,ES
34911232,34911743,DE
34911744,34911999,AT
@@ -120,8 +121,6 @@
34912256,34912511,DE
34912512,34912767,ES
34912768,34913279,DE
-34926592,34928639,FR
-34929664,34929919,IT
34930688,34938879,DE
34938880,34947071,FR
34953216,34954751,AT
@@ -135,9 +134,10 @@
34994176,34995711,FR
34995968,34996223,NL
34999296,35001343,GB
-35004416,35011583,DE
+35008512,35009023,FR
+35010304,35010559,BE
+35010560,35011583,FR
35011584,35011839,SE
-35011840,35012607,DE
35020800,35037183,GB
35037184,35054335,FR
35054336,35054591,GB
@@ -152,15 +152,13 @@
36700160,36962303,AE
36962304,37224447,IL
37486592,37748735,RU
-37748736,37775871,SE
-37775872,37776127,DK
-37776128,38004735,SE
+37748736,38004735,SE
38004736,38005247,DK
38005248,38066175,SE
38066176,38066687,DK
-38066688,38101503,SE
-38101504,38101759,DK
-38101760,38128895,SE
+38066688,38107135,SE
+38107136,38107647,DK
+38107648,38128895,SE
38128896,38129151,DK
38129152,38273023,SE
38273024,38797311,KZ
@@ -195,25 +193,29 @@
50855936,51118079,GB
51118080,52953087,US
52953088,53215231,IE
-53215232,57671679,US
+53215232,57147391,US
+57147392,57409535,AU
+57409536,57671679,US
57671680,57933823,JP
57933824,58195967,US
58195968,58458111,DE
-58458112,68169727,US
+58458112,68089631,US
+68089632,68089663,CA
+68089664,68169727,US
68169728,68171775,CA
-68171776,68200447,US
-68200448,68200575,CA
-68200576,68305407,US
+68171776,68204031,US
+68204032,68204036,CU
+68204037,68204037,US
+68204038,68204159,CU
+68204160,68305407,US
68305408,68305919,MX
68305920,68978687,US
68978688,68980735,CA
-68980736,69426175,US
-69426176,69426687,CA
-69426688,71670208,US
+68980736,71670208,US
71670209,71670209,NL
-71670210,72234031,US
-72234032,72234047,CA
-72234048,83886079,US
+71670210,72233983,US
+72233984,72234239,CA
+72234240,83886079,US
83886080,83951615,SY
83951616,83959807,UA
83959808,83961855,ES
@@ -248,8 +250,12 @@
84041728,84049919,GB
84049920,84082687,RO
84082688,84148223,RU
-84148224,84410367,DE
-84410368,84416511,RU
+84148224,84200959,DE
+84200960,84201471,US
+84201472,84410367,DE
+84410368,84414975,RU
+84414976,84415231,MD
+84415232,84416511,RU
84416512,84417535,US
84417536,84418559,RU
84418560,84418815,UA
@@ -269,7 +275,8 @@
84422656,84426495,RU
84426496,84426751,US
84426752,84427775,RU
-84427776,84428799,LU
+84427776,84428287,LU
+84428288,84428799,JP
84428800,84432895,RU
84432896,84433919,NL
84433920,84434943,RU
@@ -287,7 +294,9 @@
84498682,84498682,NL
84498683,84517997,DE
84517998,84517998,NL
-84517999,84545535,DE
+84517999,84540315,DE
+84540316,84540319,NL
+84540320,84545535,DE
84545536,84549631,GB
84549632,84551679,GE
84551680,84557823,DE
@@ -298,7 +307,8 @@
84578168,84578175,SE
84578176,84582399,GB
84582400,84590591,DE
-84590592,84591103,NL
+84590592,84590847,NL
+84590848,84591103,US
84591104,84591359,SG
84591360,84591615,US
84591616,84591871,SG
@@ -311,7 +321,11 @@
84600832,84602879,GB
84602880,84606975,AZ
84606976,84609023,AT
-84609024,84615167,GB
+84609024,84611071,GB
+84611072,84613119,IQ
+84613120,84614215,GB
+84614216,84614223,US
+84614224,84615167,GB
84615168,84617215,IT
84617216,84619263,PS
84619264,84621311,DE
@@ -368,7 +382,7 @@
85721088,85723135,HU
85723136,85725183,IT
85725184,85729279,RU
-85729280,85731327,AU
+85729280,85731327,KH
85731328,85733375,DE
85733376,85737471,GB
85737472,85753855,DE
@@ -414,15 +428,14 @@
86409216,86441983,HU
86441984,86442239,FR
86442240,86442243,GB
-86442244,86442291,FR
+86442244,86442287,FR
+86442288,86442291,PL
86442292,86442295,GB
86442296,86442495,FR
86442496,86442499,ES
86442500,86442507,FR
86442508,86442511,ES
-86442512,86442575,FR
-86442576,86442583,GB
-86442584,86442687,FR
+86442512,86442687,FR
86442688,86442691,ES
86442692,86442695,FR
86442696,86442700,ES
@@ -432,8 +445,8 @@
86442712,86442715,DE
86442716,86442719,FR
86442720,86442723,PT
-86442724,86442724,PL
-86442725,86442739,FR
+86442724,86442727,PL
+86442728,86442739,FR
86442740,86442743,ES
86442744,86442747,IE
86442748,86443007,GB
@@ -469,17 +482,27 @@
86444656,86444663,ES
86444664,86444687,FR
86444688,86444691,ES
-86444692,86444783,FR
+86444692,86444719,FR
+86444720,86444735,PL
+86444736,86444783,FR
86444784,86444791,GB
-86444792,86444839,FR
+86444792,86444799,FR
+86444800,86444815,PL
+86444816,86444839,FR
86444840,86444843,ES
86444844,86444983,FR
86444984,86444991,ES
-86444992,86445311,FR
+86444992,86445247,FR
+86445248,86445251,PL
+86445252,86445255,FR
+86445256,86445263,PL
+86445264,86445311,FR
86445312,86445319,NL
86445320,86445375,FR
86445376,86445407,ES
-86445408,86445527,FR
+86445408,86445455,FR
+86445456,86445471,PL
+86445472,86445527,FR
86445528,86445531,CZ
86445532,86445551,FR
86445552,86445555,ES
@@ -509,21 +532,24 @@
86446768,86446771,GB
86446772,86446815,FR
86446816,86446831,DE
-86446832,86446931,FR
+86446832,86446927,FR
+86446928,86446931,PL
86446932,86446935,CZ
-86446936,86447071,FR
+86446936,86446975,FR
+86446976,86446979,PL
+86446980,86447071,FR
86447072,86447087,DE
86447088,86447095,FR
86447096,86447103,ES
-86447104,86447279,FR
+86447104,86447255,FR
+86447256,86447263,PL
+86447264,86447279,FR
86447280,86447280,DE
86447281,86447287,FR
86447288,86447291,DE
86447292,86447351,FR
86447352,86447355,GB
-86447356,86447871,FR
-86447872,86447875,DE
-86447876,86448559,FR
+86447356,86448559,FR
86448560,86448575,GB
86448576,86448655,FR
86448656,86448671,DE
@@ -550,13 +576,17 @@
86449380,86449383,FI
86449384,86449387,FR
86449388,86449391,FI
-86449392,86449499,FR
+86449392,86449399,FR
+86449400,86449403,PL
+86449404,86449499,FR
86449500,86449503,ES
86449504,86449675,FR
86449676,86449679,PT
-86449680,86449759,FR
+86449680,86449727,FR
+86449728,86449759,PL
86449760,86449791,IE
-86449792,86449883,FR
+86449792,86449823,PL
+86449824,86449883,FR
86449884,86449884,DE
86449885,86449983,FR
86449984,86450015,LT
@@ -575,7 +605,9 @@
86450876,86450879,GB
86450880,86451455,FR
86451456,86451459,CZ
-86451460,86451531,FR
+86451460,86451471,FR
+86451472,86451475,PL
+86451476,86451531,FR
86451532,86451535,FI
86451536,86451551,DE
86451552,86451695,FR
@@ -600,11 +632,8 @@
86453204,86453231,FR
86453232,86453247,ES
86453248,86453311,FR
-86453312,86453319,ES
-86453320,86453327,FR
-86453328,86453339,ES
-86453340,86453343,PT
-86453344,86453423,FR
+86453312,86453315,ES
+86453316,86453423,FR
86453424,86453431,DE
86453432,86453435,FR
86453436,86453439,ES
@@ -616,7 +645,9 @@
86453844,86453847,GB
86453848,86453947,FR
86453948,86453951,IE
-86453952,86454207,FR
+86453952,86454111,FR
+86454112,86454119,PL
+86454120,86454207,FR
86454208,86454271,ES
86454272,86454279,FR
86454280,86454287,ES
@@ -641,7 +672,8 @@
86454848,86454855,DE
86454856,86454879,FR
86454880,86454887,DE
-86454888,86454899,FR
+86454888,86454895,FR
+86454896,86454899,PL
86454900,86454903,GB
86454904,86455591,FR
86455592,86455595,NL
@@ -659,7 +691,10 @@
86456352,86456367,CH
86456368,86456371,FR
86456372,86456375,ES
-86456376,86456655,FR
+86456376,86456383,FR
+86456384,86456415,PL
+86456416,86456639,FR
+86456640,86456655,PL
86456656,86456671,IE
86456672,86456943,FR
86456944,86456947,GR
@@ -671,7 +706,9 @@
86457088,86457091,DE
86457092,86457111,FR
86457112,86457112,DE
-86457113,86457187,FR
+86457113,86457119,FR
+86457120,86457123,PL
+86457124,86457187,FR
86457188,86457199,ES
86457200,86457263,FR
86457264,86457279,ES
@@ -679,10 +716,14 @@
86457400,86457407,ES
86457408,86457455,FR
86457456,86457456,DE
-86457457,86457503,FR
+86457457,86457463,FR
+86457464,86457471,PL
+86457472,86457503,FR
86457504,86457519,ES
86457520,86457535,DE
-86457536,86457703,FR
+86457536,86457687,FR
+86457688,86457695,PL
+86457696,86457703,FR
86457704,86457707,ES
86457708,86457759,FR
86457760,86457791,PL
@@ -696,19 +737,27 @@
86458304,86458335,DE
86458336,86466639,FR
86466640,86466647,ES
-86466648,86466943,FR
+86466648,86466719,FR
+86466720,86466735,PL
+86466736,86466943,FR
86466944,86466959,DE
86466960,86467207,FR
86467208,86467211,IE
-86467212,86467279,FR
+86467212,86467263,FR
+86467264,86467279,PL
86467280,86467283,DE
86467284,86467320,FR
86467321,86467321,FI
-86467322,86467871,FR
+86467322,86467523,FR
+86467524,86467527,LT
+86467528,86467871,FR
86467872,86467903,BE
86467904,86467999,FR
86468000,86468003,PL
-86468004,86468055,FR
+86468004,86468035,FR
+86468036,86468039,PL
+86468040,86468051,FR
+86468052,86468055,PL
86468056,86468056,DE
86468057,86468083,FR
86468084,86468087,DE
@@ -751,7 +800,7 @@
86471084,86471087,DE
86471088,86471123,FR
86471124,86471127,GB
-86471128,86471135,FR
+86471128,86471135,PL
86471136,86471167,FI
86471168,86471179,FR
86471180,86471180,DE
@@ -773,7 +822,11 @@
86472968,86472971,DE
86472972,86473087,FR
86473088,86473151,PT
-86473152,86473807,FR
+86473152,86473431,FR
+86473432,86473435,PL
+86473436,86473731,FR
+86473732,86473735,PL
+86473736,86473807,FR
86473808,86473823,GB
86473824,86473839,FR
86473840,86473855,PT
@@ -796,23 +849,20 @@
86489088,86491135,NL
86491136,86493183,PL
86493184,86494207,CZ
-86494208,86494463,AM
-86494464,86495231,RU
+86494208,86495231,AM
86495232,86497279,ES
86497280,86499327,NL
86499328,86503423,FR
86503424,86505471,DE
86505472,86507519,GB
-86507520,86540351,ES
-86540352,86540799,CH
-86540800,86573055,ES
+86507520,86573055,ES
86573056,86638591,SA
86638592,86671359,RU
86671360,86673407,JE
86673408,86675455,DE
86675456,86677503,IT
-86677504,86679551,FR
-86679552,86687743,NL
+86677504,86685695,FR
+86685696,86687743,NL
86687744,86695935,IQ
86695936,86704127,SA
86704128,86720511,PT
@@ -825,9 +875,7 @@
86765568,86767615,RU
86767616,86769663,IT
86769664,86773759,RU
-86773760,86775807,GB
-86775808,86776063,IM
-86776064,86777855,GB
+86773760,86777855,GB
86777856,86779903,AZ
86779904,86781183,RU
86781184,86781439,NL
@@ -926,10 +974,18 @@
87640064,87642111,RS
87642112,87646207,GB
87646208,87646463,FR
-87646464,87649791,RE
-87649792,87650047,FR
-87650048,87652863,RE
-87652864,87654143,FR
+87646464,87649023,RE
+87649024,87649279,FR
+87649280,87649535,RE
+87649536,87650303,FR
+87650304,87651839,RE
+87651840,87652223,FR
+87652224,87652863,RE
+87652864,87653119,FR
+87653120,87653375,RE
+87653376,87653631,FR
+87653632,87653887,RE
+87653888,87654143,FR
87654144,87654399,RE
87654400,87670783,PL
87670784,87672831,DE
@@ -947,8 +1003,7 @@
87755264,87755519,SK
87755520,87755775,KG
87755776,87756799,RU
-87756800,87757311,SE
-87757312,87758847,ES
+87756800,87758847,ES
87758848,87761407,RU
87761408,87761663,CZ
87761664,87761919,RU
@@ -967,17 +1022,17 @@
87780352,87783423,ES
87783424,87793663,RU
87793664,87795711,BA
-87795712,87801855,CZ
+87795712,87797759,ES
+87797760,87801855,CZ
87801856,87818239,RU
87818240,87883775,PL
87883776,87885823,IT
87885824,87889919,RU
87889920,87890687,IR
87890688,87890943,US
-87890944,87891199,NL
-87891200,87891967,IR
+87890944,87891967,IR
87891968,87902207,DE
-87902208,87904255,IR
+87902208,87904255,GB
87904256,87906303,DE
87906304,87908351,FI
87908352,87912447,BG
@@ -1023,374 +1078,213 @@
87961585,87961587,CA
87961588,87961588,US
87961589,87961591,CA
-87961592,87963652,US
-87963653,87963655,AS
-87963656,87963656,US
-87963657,87963659,AI
-87963660,87963660,US
-87963661,87963663,AG
-87963664,87963664,US
-87963665,87963667,AR
-87963668,87963668,US
-87963669,87963671,AW
-87963672,87963672,US
-87963673,87963675,BS
-87963676,87963676,US
-87963677,87963679,BB
-87963680,87963680,US
-87963681,87963683,BZ
-87963684,87963684,US
-87963685,87963687,BM
-87963688,87963688,US
-87963689,87963691,BO
-87963692,87963692,US
-87963693,87963695,VG
-87963696,87963696,US
-87963697,87963699,KY
-87963700,87963700,US
-87963701,87963703,CL
-87963704,87963708,US
-87963709,87963711,CO
-87963712,87963712,US
-87963713,87963715,CK
-87963716,87963716,US
-87963717,87963719,CR
-87963720,87963720,US
-87963721,87963723,CU
-87963724,87963724,US
-87963725,87963727,DM
-87963728,87963728,US
-87963729,87963731,DO
-87963732,87963732,US
-87963733,87963735,EC
-87963736,87963736,US
-87963737,87963739,SV
-87963740,87963740,US
-87963741,87963743,FK
-87963744,87963744,US
-87963745,87963747,FJ
-87963748,87963748,US
-87963749,87963751,GD
-87963752,87963752,US
-87963753,87963755,GP
-87963756,87963756,US
-87963757,87963759,GU
-87963760,87963760,US
-87963761,87963763,GT
-87963764,87963764,US
-87963765,87963767,GY
-87963768,87963768,US
-87963769,87963771,HT
-87963772,87963772,US
-87963773,87963775,HN
-87963776,87963776,US
-87963777,87963779,JM
-87963780,87963780,US
-87963781,87963783,KI
-87963784,87963784,US
-87963785,87963787,MS
-87963788,87963788,US
-87963789,87963791,NR
-87963792,87963792,US
-87963793,87963795,NC
-87963796,87963796,US
-87963797,87963799,NI
-87963800,87963800,US
-87963801,87963803,NU
-87963804,87963804,US
-87963805,87963807,NF
+87961592,87962623,US
+87962624,87963135,CZ
+87963136,87963651,US
+87963652,87963655,AS
+87963656,87963659,AI
+87963660,87963663,AG
+87963664,87963667,AR
+87963668,87963671,AW
+87963672,87963675,BS
+87963676,87963679,BB
+87963680,87963683,BZ
+87963684,87963687,BM
+87963688,87963691,BO
+87963692,87963695,VG
+87963696,87963699,KY
+87963700,87963703,CL
+87963704,87963707,CN
+87963708,87963711,CO
+87963712,87963715,CK
+87963716,87963719,CR
+87963720,87963723,CU
+87963724,87963727,DM
+87963728,87963731,DO
+87963732,87963735,EC
+87963736,87963739,SV
+87963740,87963743,FK
+87963744,87963747,FJ
+87963748,87963751,GD
+87963752,87963755,GP
+87963756,87963759,GU
+87963760,87963763,GT
+87963764,87963767,GY
+87963768,87963771,HT
+87963772,87963775,HN
+87963776,87963779,JM
+87963780,87963783,KI
+87963784,87963787,MS
+87963788,87963791,NR
+87963792,87963795,NC
+87963796,87963799,NI
+87963800,87963803,NU
+87963804,87963807,NF
87963808,87963808,US
87963809,87963811,KP
-87963812,87963812,US
-87963813,87963815,PW
-87963816,87963816,US
-87963817,87963819,PA
-87963820,87963820,US
-87963821,87963823,PG
-87963824,87963824,US
-87963825,87963827,PY
-87963828,87963828,US
-87963829,87963831,PE
-87963832,87963832,US
-87963833,87963835,PH
-87963836,87963836,US
-87963837,87963839,PN
-87963840,87963840,US
-87963841,87963843,PR
-87963844,87963844,US
-87963845,87963847,KN
-87963848,87963848,US
-87963849,87963851,LC
-87963852,87963852,US
-87963853,87963855,VC
-87963856,87963856,US
-87963857,87963859,WS
-87963860,87963860,US
-87963861,87963863,SB
-87963864,87963864,US
-87963865,87963867,SR
-87963868,87963868,US
-87963869,87963871,SZ
-87963872,87963880,US
-87963881,87963883,TT
-87963884,87963884,US
-87963885,87963887,TC
-87963888,87963888,US
-87963889,87963891,TV
-87963892,87963892,US
-87963893,87963895,UY
-87963896,87963912,US
-87963913,87963915,DE
-87963916,87963956,US
-87963957,87963959,CA
-87963960,87963960,US
-87963961,87963963,GB
-87963964,87964000,US
-87964001,87964003,VU
-87964004,87964004,US
-87964005,87964007,VE
-87964008,87964164,US
-87964165,87964167,AS
-87964168,87964168,US
-87964169,87964171,AI
-87964172,87964172,US
-87964173,87964175,AG
-87964176,87964176,US
-87964177,87964179,AR
-87964180,87964180,US
-87964181,87964183,AW
-87964184,87964184,US
-87964185,87964187,BS
-87964188,87964188,US
-87964189,87964191,BB
-87964192,87964192,US
-87964193,87964195,BZ
-87964196,87964196,US
-87964197,87964199,BM
-87964200,87964200,US
-87964201,87964203,BO
-87964204,87964204,US
-87964205,87964207,VG
-87964208,87964208,US
-87964209,87964211,KY
-87964212,87964212,US
-87964213,87964215,CL
-87964216,87964216,US
-87964217,87964219,CO
-87964220,87964220,US
-87964221,87964223,CK
-87964224,87964224,US
-87964225,87964227,CR
-87964228,87964228,US
-87964229,87964231,CU
-87964232,87964232,US
-87964233,87964235,DM
-87964236,87964236,US
-87964237,87964239,DO
-87964240,87964240,US
-87964241,87964243,EC
-87964244,87964244,US
-87964245,87964247,SV
-87964248,87964248,US
-87964249,87964251,FK
-87964252,87964252,US
-87964253,87964255,FJ
-87964256,87964256,US
-87964257,87964259,GD
-87964260,87964260,US
-87964261,87964263,GP
-87964264,87964264,US
-87964265,87964267,GT
-87964268,87964268,US
-87964269,87964271,GY
-87964272,87964272,US
-87964273,87964275,HT
-87964276,87964276,US
-87964277,87964279,HN
-87964280,87964280,US
-87964281,87964283,JM
-87964284,87964284,US
-87964285,87964287,KI
-87964288,87964288,US
-87964289,87964291,MS
-87964292,87964292,US
-87964293,87964295,NR
-87964296,87964296,US
-87964297,87964299,NC
-87964300,87964300,US
-87964301,87964303,NI
-87964304,87964304,US
-87964305,87964307,NU
-87964308,87964308,US
-87964309,87964311,NF
-87964312,87964312,US
-87964313,87964315,PA
-87964316,87964316,US
-87964317,87964319,PY
-87964320,87964320,US
-87964321,87964323,PE
-87964324,87964324,US
-87964325,87964327,PN
-87964328,87964328,US
-87964329,87964331,PR
-87964332,87964332,US
-87964333,87964335,KN
-87964336,87964336,US
-87964337,87964339,LC
-87964340,87964340,US
-87964341,87964343,PM
-87964344,87964344,US
-87964345,87964347,VC
-87964348,87964348,US
-87964349,87964351,WS
-87964352,87964352,US
-87964353,87964355,SB
-87964356,87964356,US
-87964357,87964359,SR
-87964360,87964360,US
-87964361,87964363,SZ
-87964364,87964372,US
-87964373,87964375,TT
-87964376,87964376,US
-87964377,87964379,TC
-87964380,87964380,US
-87964381,87964383,TV
-87964384,87964384,US
-87964385,87964387,UY
-87964388,87964404,US
-87964405,87964407,DE
+87963812,87963815,PW
+87963816,87963819,PA
+87963820,87963823,PG
+87963824,87963827,PY
+87963828,87963831,PE
+87963832,87963835,PH
+87963836,87963839,PN
+87963840,87963843,PR
+87963844,87963847,KN
+87963848,87963851,LC
+87963852,87963855,VC
+87963856,87963859,WS
+87963860,87963863,SB
+87963864,87963867,SR
+87963868,87963871,SZ
+87963872,87963875,TK
+87963876,87963879,TO
+87963880,87963883,TT
+87963884,87963887,TC
+87963888,87963891,TV
+87963892,87963895,UY
+87963896,87963911,US
+87963912,87963915,DE
+87963916,87963955,US
+87963956,87963959,CA
+87963960,87963963,GB
+87963964,87963975,US
+87963976,87963976,PR
+87963977,87963999,US
+87964000,87964003,VU
+87964004,87964007,VE
+87964008,87964015,US
+87964016,87964019,IN
+87964020,87964163,US
+87964164,87964167,AS
+87964168,87964171,AI
+87964172,87964175,AG
+87964176,87964179,AR
+87964180,87964183,AW
+87964184,87964187,BS
+87964188,87964191,BB
+87964192,87964195,BZ
+87964196,87964199,BM
+87964200,87964203,BO
+87964204,87964207,VG
+87964208,87964211,KY
+87964212,87964215,CL
+87964216,87964219,CO
+87964220,87964223,CK
+87964224,87964227,CR
+87964228,87964231,CU
+87964232,87964235,DM
+87964236,87964239,DO
+87964240,87964243,EC
+87964244,87964247,SV
+87964248,87964251,FK
+87964252,87964255,FJ
+87964256,87964259,GD
+87964260,87964263,GP
+87964264,87964267,GT
+87964268,87964271,GY
+87964272,87964275,HT
+87964276,87964279,HN
+87964280,87964283,JM
+87964284,87964287,KI
+87964288,87964291,MS
+87964292,87964295,NR
+87964296,87964299,NC
+87964300,87964303,NI
+87964304,87964307,NU
+87964308,87964311,NF
+87964312,87964315,PA
+87964316,87964319,PY
+87964320,87964323,PE
+87964324,87964327,PN
+87964328,87964331,PR
+87964332,87964335,KN
+87964336,87964339,LC
+87964340,87964343,PM
+87964344,87964347,VC
+87964348,87964351,WS
+87964352,87964355,SB
+87964356,87964359,SR
+87964360,87964363,SZ
+87964364,87964367,TK
+87964368,87964371,TO
+87964372,87964375,TT
+87964376,87964379,TC
+87964380,87964383,TV
+87964384,87964387,UY
+87964388,87964403,US
+87964404,87964407,DE
87964408,87964447,US
87964448,87964451,CA
87964452,87964455,GB
87964456,87964491,US
87964492,87964495,VU
87964496,87964499,VE
-87964500,87964676,US
-87964677,87964679,AD
-87964680,87964680,US
-87964681,87964683,AO
-87964684,87964684,US
-87964685,87964687,AM
-87964688,87964688,US
-87964689,87964691,AZ
-87964692,87964692,US
-87964693,87964695,BH
-87964696,87964696,US
-87964697,87964699,BD
-87964700,87964700,US
-87964701,87964703,BY
-87964704,87964704,US
-87964705,87964707,BJ
-87964708,87964708,US
-87964709,87964711,BT
-87964712,87964712,US
-87964713,87964715,BA
-87964716,87964716,US
-87964717,87964719,BW
-87964720,87964720,US
-87964721,87964723,BN
-87964724,87964724,US
-87964725,87964727,BG
-87964728,87964728,US
-87964729,87964731,BF
-87964732,87964732,US
-87964733,87964735,BI
-87964736,87964736,US
-87964737,87964739,KH
-87964740,87964740,US
-87964741,87964743,CM
-87964744,87964744,US
-87964745,87964747,CV
-87964748,87964748,US
-87964749,87964751,CF
-87964752,87964752,US
-87964753,87964755,TD
-87964756,87964760,US
-87964761,87964763,CX
-87964764,87964764,US
-87964765,87964767,CC
-87964768,87964768,US
-87964769,87964771,KM
-87964772,87964772,US
-87964773,87964775,CD
-87964776,87964776,US
-87964777,87964779,CI
-87964780,87964780,US
-87964781,87964783,CY
-87964784,87964784,US
-87964785,87964787,EG
-87964788,87964788,US
-87964789,87964791,GQ
-87964792,87964792,US
-87964793,87964795,ER
-87964796,87964796,US
-87964797,87964799,EE
-87964800,87964800,US
-87964801,87964803,ET
-87964804,87964804,US
-87964805,87964807,FO
-87964808,87964808,US
-87964809,87964811,GA
-87964812,87964812,US
-87964813,87964815,GM
-87964816,87964816,US
-87964817,87964819,GE
-87964820,87964820,US
-87964821,87964823,GH
-87964824,87964824,US
-87964825,87964827,GI
-87964828,87964828,US
-87964829,87964831,GR
-87964832,87964832,US
-87964833,87964835,GL
-87964836,87964836,US
-87964837,87964839,GU
-87964840,87964840,US
-87964841,87964843,GW
-87964844,87964844,US
-87964845,87964847,GN
-87964848,87964848,US
-87964849,87964851,IR
-87964852,87964852,US
-87964853,87964855,IQ
-87964856,87964856,US
-87964857,87964857,IE
-87964858,87964858,US
-87964859,87964859,IE
-87964860,87964860,US
-87964861,87964863,JO
-87964864,87964864,US
-87964865,87964867,KZ
-87964868,87964868,US
-87964869,87964871,KE
-87964872,87964872,US
-87964873,87964874,KW
-87964875,87964876,US
-87964877,87964879,KG
-87964880,87964880,US
-87964881,87964883,LA
-87964884,87964884,US
-87964885,87964887,LV
-87964888,87964888,US
-87964889,87964891,LB
-87964892,87964892,US
-87964893,87964895,LS
-87964896,87964896,US
-87964897,87964899,LR
-87964900,87964900,US
-87964901,87964903,LY
-87964904,87964904,US
-87964905,87964907,LI
-87964908,87964908,US
-87964909,87964911,LT
-87964912,87964912,US
-87964913,87964915,MO
-87964916,87964916,US
-87964917,87964919,MK
-87964920,87964920,US
-87964921,87964923,MG
-87964924,87964924,US
-87964925,87964927,MW
+87964500,87964671,US
+87964672,87964675,CZ
+87964676,87964679,AD
+87964680,87964683,AO
+87964684,87964687,AM
+87964688,87964691,AZ
+87964692,87964695,BH
+87964696,87964699,BD
+87964700,87964703,BY
+87964704,87964707,BJ
+87964708,87964711,BT
+87964712,87964715,BA
+87964716,87964719,BW
+87964720,87964723,BN
+87964724,87964727,BG
+87964728,87964731,BF
+87964732,87964735,BI
+87964736,87964739,KH
+87964740,87964743,CM
+87964744,87964747,CV
+87964748,87964751,CF
+87964752,87964755,TD
+87964756,87964759,CN
+87964760,87964763,CX
+87964764,87964767,CC
+87964768,87964771,KM
+87964772,87964775,CD
+87964776,87964779,CI
+87964780,87964783,CY
+87964784,87964787,EG
+87964788,87964791,GQ
+87964792,87964795,ER
+87964796,87964799,EE
+87964800,87964803,ET
+87964804,87964807,FO
+87964808,87964811,GA
+87964812,87964815,GM
+87964816,87964819,GE
+87964820,87964823,GH
+87964824,87964827,GI
+87964828,87964831,GR
+87964832,87964835,GL
+87964836,87964839,GU
+87964840,87964843,GW
+87964844,87964847,GN
+87964848,87964851,IR
+87964852,87964855,IQ
+87964856,87964859,IE
+87964860,87964863,JO
+87964864,87964867,KZ
+87964868,87964871,KE
+87964872,87964875,KW
+87964876,87964879,KG
+87964880,87964883,LA
+87964884,87964887,LV
+87964888,87964891,LB
+87964892,87964895,LS
+87964896,87964899,LR
+87964900,87964903,LY
+87964904,87964907,LI
+87964908,87964911,LT
+87964912,87964915,MO
+87964916,87964919,MK
+87964920,87964923,MG
+87964924,87964927,MW
87964928,87964931,MV
87964932,87964935,ML
87964936,87964936,MN
@@ -1458,250 +1352,134 @@
87965172,87965175,DZ
87965176,87965179,AX
87965180,87965183,MN
-87965184,87965188,US
-87965189,87965191,AD
-87965192,87965192,US
-87965193,87965195,AO
-87965196,87965196,US
-87965197,87965199,AM
-87965200,87965200,US
-87965201,87965203,AZ
-87965204,87965204,US
-87965205,87965207,BH
-87965208,87965208,US
-87965209,87965211,BD
-87965212,87965212,US
-87965213,87965215,BY
-87965216,87965216,US
-87965217,87965219,BJ
-87965220,87965220,US
-87965221,87965223,BT
-87965224,87965224,US
-87965225,87965227,BA
-87965228,87965228,US
-87965229,87965231,BW
-87965232,87965232,US
-87965233,87965235,BN
-87965236,87965236,US
-87965237,87965239,BG
-87965240,87965240,US
-87965241,87965243,BF
-87965244,87965244,US
-87965245,87965247,BI
-87965248,87965248,US
-87965249,87965251,KH
-87965252,87965252,US
-87965253,87965255,CM
-87965256,87965256,US
-87965257,87965259,CV
-87965260,87965260,US
-87965261,87965263,CF
-87965264,87965264,US
-87965265,87965267,TD
-87965268,87965268,US
-87965269,87965271,CX
-87965272,87965272,US
-87965273,87965275,CC
-87965276,87965276,US
-87965277,87965279,KM
-87965280,87965280,US
-87965281,87965283,CD
-87965284,87965284,US
-87965285,87965287,CI
-87965288,87965288,US
-87965289,87965291,CY
-87965292,87965292,US
-87965293,87965295,EG
-87965296,87965296,US
-87965297,87965299,GQ
-87965300,87965300,US
-87965301,87965303,ER
-87965304,87965304,US
-87965305,87965307,EE
-87965308,87965308,US
-87965309,87965311,ET
-87965312,87965312,US
-87965313,87965315,FO
-87965316,87965316,US
-87965317,87965319,GA
-87965320,87965320,US
-87965321,87965323,GM
-87965324,87965324,US
-87965325,87965327,GE
-87965328,87965328,US
-87965329,87965331,GH
-87965332,87965332,US
-87965333,87965335,GI
-87965336,87965336,US
-87965337,87965339,GR
-87965340,87965340,US
-87965341,87965343,GL
-87965344,87965344,US
-87965345,87965347,GW
-87965348,87965348,US
-87965349,87965351,GN
-87965352,87965352,US
-87965353,87965355,IR
-87965356,87965356,US
-87965357,87965359,IQ
-87965360,87965360,US
-87965361,87965363,IE
-87965364,87965364,US
-87965365,87965367,JO
-87965368,87965368,US
-87965369,87965371,KZ
-87965372,87965372,US
-87965373,87965375,KE
-87965376,87965376,US
-87965377,87965379,KW
-87965380,87965380,US
-87965381,87965383,KG
-87965384,87965384,US
-87965385,87965387,LA
-87965388,87965389,US
-87965390,87965391,LV
-87965392,87965392,US
-87965393,87965395,LB
-87965396,87965396,US
-87965397,87965399,LS
-87965400,87965400,US
-87965401,87965403,LR
-87965404,87965404,US
-87965405,87965407,LY
-87965408,87965408,US
-87965409,87965411,LI
-87965412,87965412,US
-87965413,87965415,LT
-87965416,87965416,US
-87965417,87965419,MO
-87965420,87965420,US
-87965421,87965423,MK
-87965424,87965424,US
-87965425,87965427,MG
-87965428,87965428,US
-87965429,87965431,MW
-87965432,87965432,US
-87965433,87965435,MV
-87965436,87965436,US
-87965437,87965439,ML
-87965440,87965440,US
-87965441,87965443,MT
-87965444,87965444,US
-87965445,87965447,MR
-87965448,87965448,US
-87965449,87965451,MU
-87965452,87965452,US
-87965453,87965455,MD
-87965456,87965456,US
-87965457,87965459,MC
-87965460,87965460,US
-87965461,87965463,MN
-87965464,87965464,US
-87965465,87965467,ME
-87965468,87965468,US
-87965469,87965471,MA
-87965472,87965472,US
-87965473,87965475,MZ
-87965476,87965476,US
-87965477,87965479,MM
-87965480,87965480,US
-87965481,87965483,NA
-87965484,87965484,US
-87965485,87965487,NP
-87965488,87965488,US
-87965489,87965491,NE
-87965492,87965492,US
-87965493,87965495,NG
-87965496,87965496,US
-87965497,87965499,OM
-87965500,87965500,US
-87965501,87965503,PK
-87965504,87965504,US
-87965505,87965507,PS
-87965508,87965508,US
-87965509,87965511,QA
-87965512,87965512,US
-87965513,87965515,DJ
-87965516,87965516,US
-87965517,87965519,CG
-87965520,87965520,US
-87965521,87965523,RO
-87965524,87965524,US
-87965525,87965527,RW
-87965528,87965528,US
-87965529,87965531,SH
-87965532,87965532,US
-87965533,87965535,PM
+87965184,87965187,GB
+87965188,87965191,AD
+87965192,87965195,AO
+87965196,87965199,AM
+87965200,87965203,AZ
+87965204,87965207,BH
+87965208,87965211,BD
+87965212,87965215,BY
+87965216,87965219,BJ
+87965220,87965223,BT
+87965224,87965227,BA
+87965228,87965231,BW
+87965232,87965235,BN
+87965236,87965239,BG
+87965240,87965243,BF
+87965244,87965247,BI
+87965248,87965251,KH
+87965252,87965255,CM
+87965256,87965259,CV
+87965260,87965263,CF
+87965264,87965267,TD
+87965268,87965271,CX
+87965272,87965275,CC
+87965276,87965279,KM
+87965280,87965283,CD
+87965284,87965287,CI
+87965288,87965291,CY
+87965292,87965295,EG
+87965296,87965299,GQ
+87965300,87965303,ER
+87965304,87965307,EE
+87965308,87965311,ET
+87965312,87965315,FO
+87965316,87965319,GA
+87965320,87965323,GM
+87965324,87965327,GE
+87965328,87965331,GH
+87965332,87965335,GI
+87965336,87965339,GR
+87965340,87965343,GL
+87965344,87965347,GW
+87965348,87965351,GN
+87965352,87965355,IR
+87965356,87965359,IQ
+87965360,87965363,IE
+87965364,87965367,JO
+87965368,87965371,KZ
+87965372,87965375,KE
+87965376,87965379,KW
+87965380,87965383,KG
+87965384,87965387,LA
+87965388,87965391,LV
+87965392,87965395,LB
+87965396,87965399,LS
+87965400,87965403,LR
+87965404,87965407,LY
+87965408,87965411,LI
+87965412,87965415,LT
+87965416,87965419,MO
+87965420,87965423,MK
+87965424,87965427,MG
+87965428,87965431,MW
+87965432,87965435,MV
+87965436,87965439,ML
+87965440,87965443,MT
+87965444,87965447,MR
+87965448,87965451,MU
+87965452,87965455,MD
+87965456,87965459,MC
+87965460,87965463,MN
+87965464,87965467,ME
+87965468,87965471,MA
+87965472,87965475,MZ
+87965476,87965479,MM
+87965480,87965483,NA
+87965484,87965487,NP
+87965488,87965491,NE
+87965492,87965495,NG
+87965496,87965499,OM
+87965500,87965503,PK
+87965504,87965507,PS
+87965508,87965511,QA
+87965512,87965515,DJ
+87965516,87965519,CG
+87965520,87965523,RO
+87965524,87965527,RW
+87965528,87965531,SH
+87965532,87965535,PM
87965536,87965539,SM
-87965540,87965540,US
-87965541,87965543,ST
-87965544,87965544,US
-87965545,87965547,SA
-87965548,87965548,US
-87965549,87965551,SN
-87965552,87965552,US
-87965553,87965555,RS
-87965556,87965556,US
-87965557,87965559,SL
-87965560,87965560,US
-87965561,87965563,SK
-87965564,87965564,US
-87965565,87965567,SI
-87965568,87965568,US
-87965569,87965571,SO
-87965572,87965572,US
-87965573,87965575,LK
-87965576,87965576,US
-87965577,87965579,SD
-87965580,87965580,US
-87965581,87965583,SJ
-87965584,87965584,US
-87965585,87965587,SY
-87965588,87965588,US
-87965589,87965591,TJ
-87965592,87965592,US
-87965593,87965595,TZ
-87965596,87965596,US
-87965597,87965599,TH
-87965600,87965600,US
-87965601,87965603,TG
-87965604,87965604,US
-87965605,87965607,TN
-87965608,87965608,US
-87965609,87965611,TM
-87965612,87965612,US
-87965613,87965615,UG
-87965616,87965616,US
+87965540,87965543,ST
+87965544,87965547,SA
+87965548,87965551,SN
+87965552,87965555,RS
+87965556,87965559,SL
+87965560,87965563,SK
+87965564,87965567,SI
+87965568,87965571,SO
+87965572,87965575,LK
+87965576,87965579,SD
+87965580,87965583,SJ
+87965584,87965587,SY
+87965588,87965591,TJ
+87965592,87965595,TZ
+87965596,87965599,TH
+87965600,87965603,TG
+87965604,87965607,TN
+87965608,87965611,TM
+87965612,87965616,UG
87965617,87965619,PT
-87965620,87965624,US
-87965625,87965627,UA
-87965628,87965629,US
-87965630,87965630,AE
-87965631,87965632,US
-87965633,87965635,UZ
-87965636,87965636,US
-87965637,87965639,VA
-87965640,87965640,US
-87965641,87965643,VN
-87965644,87965644,US
-87965645,87965647,YE
-87965648,87965648,US
-87965649,87965651,ZM
-87965652,87965652,US
-87965653,87965655,ZW
-87965656,87965656,US
-87965657,87965659,PT
-87965660,87965664,US
-87965665,87965667,HR
-87965668,87965672,US
-87965673,87965675,AF
-87965676,87965676,US
-87965677,87965679,AL
-87965680,87965680,US
-87965681,87965683,DZ
-87965684,87965684,US
-87965685,87965687,AX
-87965688,87965695,US
+87965620,87965623,US
+87965624,87965627,UA
+87965628,87965631,AE
+87965632,87965635,UZ
+87965636,87965639,VA
+87965640,87965643,VN
+87965644,87965647,YE
+87965648,87965651,ZM
+87965652,87965655,ZW
+87965656,87965659,PT
+87965660,87965663,US
+87965664,87965667,HR
+87965668,87965671,IL
+87965672,87965675,AF
+87965676,87965679,AL
+87965680,87965683,DZ
+87965684,87965687,AX
+87965688,87965691,IN
+87965692,87965695,GB
87965696,87967743,DE
87967744,87969791,IT
87969792,87970815,IM
@@ -1772,7 +1550,9 @@
90456064,90472447,RU
90472448,90476543,DE
90476544,90478591,FR
-90478592,90480639,VG
+90478592,90479615,VG
+90479616,90480127,TR
+90480128,90480639,VG
90480640,90482687,YE
90482688,90484735,GB
90484736,90488831,NO
@@ -1820,9 +1600,9 @@
90580992,90583039,PL
90583040,90587135,CZ
90587136,90589183,PL
-90589184,90590207,FR
-90590208,90590719,GP
-90590720,90591231,MQ
+90589184,90590847,FR
+90590848,90590911,MQ
+90590912,90591231,FR
90591232,90595327,GB
90595328,90603519,PS
90603520,90605567,ES
@@ -1912,6 +1692,22 @@
92610560,92612607,CH
92612608,92614655,GB
92614656,92618751,IT
+92618752,92619775,LT
+92619776,92620799,FR
+92620800,92621823,GB
+92621824,92622847,RU
+92622848,92623871,DE
+92623872,92624895,NL
+92624896,92625919,GB
+92625920,92626943,BG
+92626944,92627967,IT
+92627968,92628991,TR
+92628992,92630015,FI
+92630016,92631039,RU
+92631040,92632063,FI
+92632064,92633599,DE
+92633600,92634111,RU
+92634112,92635135,TR
92635136,92643327,BA
92643328,92645375,GE
92645376,92651519,GB
@@ -2017,7 +1813,8 @@
92733932,92733935,ES
92733936,92734639,FR
92734640,92734655,ES
-92734656,92734735,FR
+92734656,92734731,FR
+92734732,92734735,PL
92734736,92734739,DE
92734740,92734831,FR
92734832,92734847,ES
@@ -2025,7 +1822,9 @@
92735104,92735119,GB
92735120,92735347,FR
92735348,92735351,GB
-92735352,92735615,FR
+92735352,92735575,FR
+92735576,92735579,PL
+92735580,92735615,FR
92735616,92735616,DE
92735617,92735619,FR
92735620,92735623,ES
@@ -2039,13 +1838,16 @@
92736480,92736480,DE
92736481,92736607,FR
92736608,92736639,PT
-92736640,92737151,FR
+92736640,92737023,FR
+92737024,92737151,PT
92737152,92737183,NL
92737184,92737199,FR
92737200,92737215,PL
92737216,92737279,FR
92737280,92737311,FI
-92737312,92737603,FR
+92737312,92737375,FR
+92737376,92737407,PL
+92737408,92737603,FR
92737604,92737607,DE
92737608,92737887,FR
92737888,92737903,IT
@@ -2055,7 +1857,8 @@
92738240,92738271,GB
92738272,92738659,FR
92738660,92738679,ES
-92738680,92738687,FR
+92738680,92738683,FR
+92738684,92738687,PL
92738688,92738719,CZ
92738720,92738783,FR
92738784,92738815,GB
@@ -2084,9 +1887,11 @@
92741332,92741335,ES
92741336,92741395,FR
92741396,92741399,DE
-92741400,92741455,FR
-92741456,92741471,DE
-92741472,92742419,FR
+92741400,92741427,FR
+92741428,92741431,PL
+92741432,92742151,FR
+92742152,92742159,PL
+92742160,92742419,FR
92742420,92742423,ES
92742424,92742607,FR
92742608,92742623,BE
@@ -2096,11 +1901,18 @@
92742816,92742819,ES
92742820,92742847,FR
92742848,92742911,DE
-92742912,92743343,FR
+92742912,92743307,FR
+92743308,92743311,PL
+92743312,92743327,FR
+92743328,92743335,PL
+92743336,92743343,FR
92743344,92743351,GB
-92743352,92743679,FR
+92743352,92743675,FR
+92743676,92743679,PL
92743680,92743935,ES
-92743936,92744103,FR
+92743936,92743999,FR
+92744000,92744015,PL
+92744016,92744103,FR
92744104,92744111,ES
92744112,92744123,FR
92744124,92744127,GB
@@ -2114,7 +1926,8 @@
92744552,92744555,ES
92744556,92744951,FR
92744952,92744959,ES
-92744960,92745207,FR
+92744960,92744975,PL
+92744976,92745207,FR
92745208,92745215,ES
92745216,92745395,FR
92745396,92745399,GB
@@ -2124,15 +1937,19 @@
92746416,92746431,ES
92746432,92746559,FR
92746560,92746623,IT
-92746624,92747043,FR
+92746624,92746831,FR
+92746832,92746835,PL
+92746836,92747043,FR
92747044,92747047,CH
92747048,92747231,FR
92747232,92747247,PL
92747248,92747255,FR
92747256,92747263,LT
-92747264,92747547,FR
-92747548,92747567,ES
-92747568,92747711,FR
+92747264,92747335,FR
+92747336,92747343,PL
+92747344,92747547,FR
+92747548,92747551,ES
+92747552,92747711,FR
92747712,92747775,GB
92747776,92748516,FR
92748517,92748517,BE
@@ -2140,7 +1957,8 @@
92748544,92748799,PT
92748800,92748843,FR
92748844,92748847,GB
-92748848,92748863,FR
+92748848,92748859,FR
+92748860,92748863,PL
92748864,92748879,ES
92748880,92748975,FR
92748976,92748983,DE
@@ -2196,20 +2014,30 @@
92755136,92755199,PT
92755200,92755439,FR
92755440,92755455,GB
-92755456,92755743,FR
+92755456,92755679,FR
+92755680,92755711,PL
+92755712,92755743,FR
92755744,92755775,FI
92755776,92755839,GB
-92755840,92757151,FR
+92755840,92756175,FR
+92756176,92756191,PL
+92756192,92756567,FR
+92756568,92756571,PL
+92756572,92757151,FR
92757152,92757155,DE
92757156,92757311,FR
92757312,92757375,ES
92757376,92758067,FR
92758068,92758071,DE
-92758072,92758367,FR
-92758368,92758383,ES
-92758384,92758915,FR
+92758072,92758223,FR
+92758224,92758239,PL
+92758240,92758915,FR
92758916,92758919,GB
-92758920,92759263,FR
+92758920,92758935,FR
+92758936,92758939,PL
+92758940,92759251,FR
+92759252,92759255,PL
+92759256,92759263,FR
92759264,92759279,ES
92759280,92759287,FR
92759288,92759295,ES
@@ -2226,15 +2054,16 @@
92761216,92761343,DE
92761344,92761375,FR
92761376,92761391,FI
-92761392,92761471,FR
+92761392,92761467,FR
+92761468,92761471,PL
92761472,92761503,IE
92761504,92762079,FR
92762080,92762111,DE
92762112,92762127,FR
92762128,92762135,ES
-92762136,92762219,FR
-92762220,92762223,DE
-92762224,92762279,FR
+92762136,92762215,FR
+92762216,92762219,PL
+92762220,92762279,FR
92762280,92762283,GB
92762284,92762383,FR
92762384,92762391,ES
@@ -2243,15 +2072,21 @@
92762752,92762783,BE
92762784,92762863,FR
92762864,92762879,IT
-92762880,92763103,FR
+92762880,92763023,FR
+92763024,92763039,PL
+92763040,92763103,FR
92763104,92763119,CZ
92763120,92763127,FR
92763128,92763135,ES
-92763136,92763391,FR
+92763136,92763223,FR
+92763224,92763227,PL
+92763228,92763391,FR
92763392,92763519,IE
92763520,92764223,FR
92764224,92764287,ES
-92764288,92764687,FR
+92764288,92764591,FR
+92764592,92764595,PL
+92764596,92764687,FR
92764688,92764703,ES
92764704,92764735,FR
92764736,92764799,DE
@@ -2260,7 +2095,9 @@
92764880,92765423,FR
92765424,92765427,GB
92765428,92765431,DE
-92765432,92766015,FR
+92765432,92765731,FR
+92765732,92765735,PL
+92765736,92766015,FR
92766016,92766047,ES
92766048,92776671,FR
92776672,92776703,PL
@@ -2317,7 +2154,9 @@
92785024,92785039,ES
92785040,92785183,FR
92785184,92785199,ES
-92785200,92785363,FR
+92785200,92785247,FR
+92785248,92785251,ES
+92785252,92785363,FR
92785364,92785367,PT
92785368,92785407,FR
92785408,92785439,ES
@@ -2349,7 +2188,9 @@
92787200,92787203,FI
92787204,92787251,FR
92787252,92787255,ES
-92787256,92787567,FR
+92787256,92787327,FR
+92787328,92787331,PL
+92787332,92787567,FR
92787568,92787583,IT
92787584,92787703,FR
92787704,92787707,GB
@@ -2395,8 +2236,7 @@
92793328,92793331,PL
92793332,92794227,FR
92794228,92794231,PT
-92794232,92794239,ES
-92794240,92794335,FR
+92794232,92794335,FR
92794336,92794367,NL
92794368,92794691,FR
92794692,92794695,ES
@@ -2408,9 +2248,12 @@
92795632,92795639,CZ
92795640,92795647,FR
92795648,92795775,DE
-92795776,92796499,FR
+92795776,92796159,FR
+92796160,92796415,FI
+92796416,92796499,FR
92796500,92796503,PL
-92796504,92796575,FR
+92796504,92796543,FR
+92796544,92796575,PL
92796576,92796579,GB
92796580,92796687,FR
92796688,92796691,DE
@@ -2431,7 +2274,9 @@
92798192,92798207,DE
92798208,92798211,FR
92798212,92798215,PL
-92798216,92798255,FR
+92798216,92798239,FR
+92798240,92798247,PL
+92798248,92798255,FR
92798256,92798271,LT
92798272,92798591,FR
92798592,92798623,PT
@@ -2455,16 +2300,18 @@
93417472,93419519,IR
93419520,93421567,IT
93421568,93425663,DE
-93425664,93426175,US
-93426176,93426183,SE
-93426184,93427711,US
+93425664,93427711,US
93427712,93429759,NO
93429760,93431807,RU
93431808,93433855,ES
93433856,93437951,DE
93437952,93454335,RU
-93454336,93585407,DE
-93585408,93626367,GB
+93454336,93582687,DE
+93582688,93582719,US
+93582720,93585407,DE
+93585408,93610591,GB
+93610592,93610607,US
+93610608,93626367,GB
93626368,93634559,CH
93634560,93650943,HU
93650944,93652991,CH
@@ -2474,7 +2321,7 @@
93675520,93679615,IQ
93679616,93681663,LU
93681664,93683711,UA
-93683712,93685759,AT
+93683712,93685759,SA
93685760,93687807,BE
93687808,93691903,RU
93691904,93693951,PL
@@ -2612,7 +2459,10 @@
94365696,94367743,HU
94367744,94369791,ES
94369792,94371839,TR
-94371840,94502911,IR
+94371840,94437375,IR
+94437376,94466047,AE
+94466048,94468095,IR
+94468096,94502911,AE
94502912,94568447,OM
94568448,94633983,SA
94633984,94896127,RU
@@ -2765,7 +2615,9 @@
95649792,95666175,IT
95666176,95668223,FR
95668224,95682559,DE
-95944704,96075775,PL
+95944704,95953151,PL
+95953152,95953407,GB
+95953408,96075775,PL
96075776,96141311,DK
96141312,96143359,DE
96143360,96145407,GE
@@ -2788,8 +2640,8 @@
96224256,96224767,RU
96224768,96225279,JP
96225280,96228863,RU
-96228864,96229119,IE
-96229120,96230399,RU
+96228864,96229375,IE
+96229376,96230399,RU
96230400,96231423,LU
96231424,96234495,RU
96234496,96235519,LU
@@ -2798,7 +2650,8 @@
96239616,96240639,RU
96240640,96241663,LU
96241664,96241919,UA
-96241920,96244735,RU
+96241920,96243711,RU
+96243712,96244735,UA
96244736,96245759,LU
96245760,96246783,KZ
96246784,96249855,RU
@@ -2809,7 +2662,7 @@
96252416,96252671,RO
96252672,96252927,NL
96252928,96256511,RU
-96256512,96256767,FR
+96256512,96256767,CZ
96256768,96257023,DE
96257024,96259327,RU
96259328,96259583,RO
@@ -3028,7 +2881,8 @@
96770652,96770655,PL
96770656,96771239,FR
96771240,96771247,ES
-96771248,96771279,FR
+96771248,96771263,FR
+96771264,96771279,GB
96771280,96771283,PT
96771284,96771295,FR
96771296,96771299,CZ
@@ -3122,7 +2976,9 @@
96781752,96781759,ES
96781760,96781851,FR
96781852,96781855,ES
-96781856,96782167,FR
+96781856,96781943,FR
+96781944,96781947,IT
+96781948,96782167,FR
96782168,96782175,ES
96782176,96782199,FR
96782200,96782207,CZ
@@ -3164,13 +3020,17 @@
96785416,96785423,NL
96785424,96785603,FR
96785604,96785607,PT
-96785608,96786011,FR
+96785608,96785871,FR
+96785872,96785875,IE
+96785876,96786011,FR
96786012,96786015,GB
96786016,96786431,FR
96786432,96786495,GB
96786496,96786671,FR
96786672,96786687,DE
-96786688,96787743,FR
+96786688,96787583,FR
+96787584,96787587,BE
+96787588,96787743,FR
96787744,96787751,ES
96787752,96787999,FR
96788000,96788031,LT
@@ -3203,7 +3063,9 @@
96794472,96794479,ES
96794480,96794623,FR
96794624,96794687,CZ
-96794688,96796671,FR
+96794688,96795903,FR
+96795904,96796159,ES
+96796160,96796671,FR
96796672,96862207,AZ
96862208,96894975,GB
96894976,96897023,CZ
@@ -3241,14 +3103,23 @@
97439744,97444863,NL
97444864,97445887,PT
97445888,97446911,XK
-97446912,97447423,RS
-97447424,97447679,XK
-97447680,97447935,RS
+97446912,97447935,RS
97447936,97452031,PL
97452032,97517567,UA
97517568,98566143,IR
98566144,98697215,ES
-98697216,98701311,FR
+98697216,98697471,FR
+98697472,98697855,GB
+98697856,98697887,FR
+98697888,98697903,GB
+98697904,98698255,FR
+98698256,98698303,GB
+98698304,98698307,US
+98698308,98698447,FR
+98698448,98698655,GB
+98698656,98698751,FR
+98698752,98699007,GB
+98699008,98701311,FR
98701312,98705407,ES
98705408,98707455,SE
98707456,98709503,NL
@@ -3261,7 +3132,9 @@
98738176,98740223,NO
98740224,98740479,ES
98740480,98740735,US
-98740736,98741503,ES
+98740736,98740991,ES
+98740992,98741247,US
+98741248,98741503,ES
98741504,98741759,US
98741760,98742271,ES
98742272,98744319,GB
@@ -3436,8 +3309,7 @@
100597760,100605951,YE
100605952,100610047,UA
100610048,100612095,GB
-100612096,100614143,TR
-100614144,100630527,NL
+100612096,100630527,NL
100630528,100632575,BE
100632576,100634623,GB
100634624,100635199,ES
@@ -3484,11 +3356,9 @@
134228480,134247423,US
134247424,134247424,DE
134247425,134443007,US
-134443008,134444543,GU
-134444544,134444799,MP
-134444800,134445055,GU
-134445056,134445567,MP
-134445568,134447103,GU
+134443008,134445567,MP
+134445568,134446335,GU
+134446336,134447103,MP
134447104,134738943,US
134738944,134739199,CA
134739200,135192575,US
@@ -3501,9 +3371,7 @@
135441408,135441663,CA
135441664,135556607,US
135556608,135556863,CA
-135556864,135557375,US
-135557376,135557631,CA
-135557632,135558399,US
+135556864,135558399,US
135558400,135558655,NL
135558656,135603199,US
135603200,135604223,CA
@@ -3521,7 +3389,9 @@
136054016,136054271,GB
136054272,136175615,US
136175616,136175871,CA
-136175872,136237055,US
+136175872,136176127,US
+136176128,136176639,CA
+136176640,136237055,US
136237056,136239103,CA
136239104,136404991,US
136404992,136407039,CA
@@ -3531,20 +3401,15 @@
136415667,136415743,CA
136415744,136702290,US
136702291,136702291,UM
-136702292,136708095,US
-136708096,136710143,GB
-136710144,136712191,US
-136712192,136716287,GB
-136716288,136737791,US
-136737792,136738815,VI
-136738816,136810495,US
+136702292,136810495,US
136810496,136810751,DE
136810752,139954241,US
139954242,139954242,ES
139954243,142606335,US
-142606336,146800639,SG
+142606336,146800639,CN
146800640,147849215,US
-147849216,148897791,SG
+147849216,147914751,GB
+147914752,148897791,SG
148897792,151521029,US
151521030,151521030,FR
151521031,151587080,US
@@ -3558,35 +3423,33 @@
204046336,204047359,PR
204047360,204048031,US
204048032,204048047,PR
-204048048,205982719,US
-205982720,205982975,PR
-205982976,208303487,US
-208303488,208303503,GB
-208303504,209100799,US
-209100800,209101823,VI
+204048048,209100799,US
+209100800,209101477,VI
+209101478,209101478,US
+209101479,209101823,VI
209101824,209102335,US
209102336,209102847,VI
209102848,209472767,US
209472768,209472768,IN
209472769,212793087,US
212793088,212793343,PR
-212793344,212794623,US
-212794624,212794879,PR
-212794880,214698239,US
+212793344,214698239,US
214698240,214698247,VI
214698248,214698303,US
214698304,214698311,VI
214698312,214699007,US
214699008,214700031,VI
214700032,214777855,US
-214777856,214779135,PR
-214779136,214779903,US
-214779904,214786559,PR
-214786560,214787071,US
+214777856,214778879,PR
+214778880,214779903,US
+214779904,214783999,PR
+214784000,214786047,US
+214786048,214786303,PR
+214786304,214787071,US
214787072,214788095,PR
-214788096,219504639,US
-219504640,219512831,FR
-219512832,221577215,US
+214788096,216457983,US
+216457984,216458239,CA
+216458240,221577215,US
221577216,221642751,SE
221642752,221773823,AU
221773824,222494719,US
@@ -3716,7 +3579,60 @@
225114624,225115135,JP
225115136,225115647,AU
225115648,225116159,CA
-225116160,225443839,US
+225116160,225163379,US
+225163380,225163391,IE
+225163392,225163399,US
+225163400,225163407,IE
+225163408,225163415,HK
+225163416,225163423,US
+225163424,225163427,SG
+225163428,225163435,US
+225163436,225163451,NL
+225163452,225163471,US
+225163472,225163475,IN
+225163476,225163511,US
+225163512,225163515,AU
+225163516,225163527,US
+225163528,225163531,BR
+225163532,225163535,GB
+225163536,225163543,US
+225163544,225163551,IE
+225163552,225163575,US
+225163576,225163583,IE
+225163584,225163587,DE
+225163588,225163591,US
+225163592,225163595,HK
+225163596,225163599,US
+225163600,225163603,GB
+225163604,225163607,DE
+225163608,225163611,GB
+225163612,225163615,IN
+225163616,225163619,AU
+225163620,225163623,GB
+225163624,225163627,US
+225163628,225163631,FR
+225163632,225163643,US
+225163644,225163647,JP
+225163648,225163659,FR
+225163660,225163663,US
+225163664,225163667,IN
+225163668,225163671,KR
+225163672,225163675,CA
+225163676,225163679,US
+225163680,225163683,KR
+225163684,225163691,SG
+225163692,225163699,US
+225163700,225163703,SG
+225163704,225163715,US
+225163716,225163727,AU
+225163728,225163731,CA
+225163732,225163739,JP
+225163740,225163743,US
+225163744,225163747,CA
+225163748,225165843,US
+225165844,225165847,KR
+225165848,225165855,GB
+225165856,225443839,US
225443840,225705983,JP
225705984,226230271,US
226230272,226361343,KR
@@ -3732,7 +3648,11 @@
233570304,233832447,AU
233832448,234356735,US
234356736,234364927,JP
-234364928,234487807,US
+234364928,234381311,US
+234381312,234381567,IE
+234381568,234381823,DE
+234381824,234382079,JP
+234382080,234487807,US
234487808,234618879,SG
234618880,234881023,US
234881024,234883071,CN
@@ -3803,7 +3723,7 @@
243271680,243272703,TH
243272704,243273727,BD
243273728,243277823,JP
-243277824,243286015,SG
+243277824,243286015,HK
243286016,243302399,JP
243302400,243400703,KR
243400704,243531775,CN
@@ -3824,8 +3744,7 @@
247469056,247470079,HK
247470080,247472127,IN
247472128,247476223,JP
-247476224,247476735,MY
-247476736,247477247,HK
+247476224,247477247,MY
247477248,247478271,IN
247478272,247479295,AU
247479296,247480319,CN
@@ -3847,39 +3766,43 @@
248446976,248512511,TH
248512512,249561087,CN
249561088,251658239,VN
-251658240,257531903,US
-257531904,257532423,SG
+251658240,257532415,US
+257532416,257532423,SG
257532424,257532431,US
257532432,257532671,SG
-257532672,257532927,MY
-257532928,257533951,SG
+257532672,257532927,AU
+257532928,257533951,US
257533952,257535999,IN
-257536000,257540095,AU
-257540096,257597951,US
-257597952,257597959,ES
+257536000,257597951,US
+257597952,257597959,GB
257597960,257597967,US
-257597968,257598463,ES
-257598464,259821567,US
-259821568,259823103,IN
-259823104,259823359,AU
-259823360,259825663,IN
-259825664,265003519,US
+257597968,257598207,GB
+257598208,257598463,ES
+257598464,259819519,US
+259819520,259820543,RO
+259820544,259821567,US
+259821568,259823615,IN
+259823616,265003519,US
265003520,265003547,GB
265003548,265003548,FR
265003549,265003775,GB
-265003776,265005311,US
-265005312,265005567,GB
-265005568,265025791,US
+265003776,265019942,US
+265019943,265019943,PR
+265019944,265020159,US
+265020160,265020415,GB
+265020416,265025791,US
265025792,265026047,GB
-265026048,265527295,US
-265527296,265529599,JP
-265529600,265529855,US
-265529856,265535487,JP
-265535488,266051583,US
-266051584,266059775,CR
-266059776,266067967,IN
-266067968,266076159,AU
-266076160,266598655,US
+265026048,265523711,US
+265523712,265523967,SG
+265523968,265525503,US
+265525504,265525759,MY
+265525760,265531391,US
+265531392,265533439,JP
+265533440,266059775,US
+266059776,266063871,IN
+266063872,266070015,US
+266070016,266072063,AU
+266072064,266598655,US
266598656,266598911,BR
266598912,279356249,US
279356250,279356250,LT
@@ -3890,8 +3813,8 @@
288065536,288075775,US
288075776,288077823,BR
288077824,288151551,US
-288151552,288161791,CA
-288161792,288167423,US
+288151552,288157695,CA
+288157696,288167423,US
288167424,288167935,CA
288167936,288169471,US
288169472,288169983,CA
@@ -3930,8 +3853,11 @@
289624064,289628159,CH
289628160,289630207,US
289630208,289632255,SE
-289632256,289636351,US
-289636352,289652735,GB
+289632256,289642495,US
+289642496,289644543,GB
+289644544,289648639,US
+289648640,289650687,GB
+289650688,289652735,US
289652736,289653759,NL
289653760,289654271,DE
289654272,289654783,US
@@ -3949,11 +3875,14 @@
289746944,289751039,GB
289751040,289767423,US
289767424,289769471,GB
-289769472,289779711,US
+289769472,289770495,ZA
+289770496,289771519,US
+289771520,289775615,GB
+289775616,289779711,US
289779712,289783807,RU
289783808,289787903,GB
289787904,289789951,DE
-289789952,289791999,GB
+289789952,289791999,US
289792000,289794047,AE
289794048,289796095,GB
289796096,289798143,TR
@@ -3975,27 +3904,28 @@
289954304,289954559,ES
289954560,289955839,US
289955840,289955967,NL
-289955968,289956095,FR
+289955968,289956095,US
289956096,289956223,NO
-289956224,289956351,FR
+289956224,289956351,US
289956352,289956479,DK
-289956480,289956607,FR
+289956480,289956607,US
289956608,289956735,NL
289956736,289956863,IN
289956864,289957119,ES
-289957120,289957375,FR
+289957120,289957375,US
289957376,289957631,SE
-289957632,289957887,FR
+289957632,289957887,US
289957888,289958143,LU
-289958144,289958399,FR
+289958144,289958399,US
289958400,289958655,IN
-289958656,289958911,FR
+289958656,289958911,US
289958912,289959423,IT
289959424,289959935,DK
289959936,289960447,DE
289960448,289960959,IN
289960960,289961471,BE
-289961472,289964031,FR
+289961472,289961983,US
+289961984,289964031,FR
289964032,289980415,IE
289980416,290193407,US
290193408,290258943,IN
@@ -4053,12 +3983,15 @@
291203072,300646399,US
300646400,300650495,JP
300650496,300654591,SG
-300654592,300662783,AU
+300654592,300658687,US
+300658688,300662783,AU
300662784,300666879,GB
300666880,300670975,NL
300670976,300675071,IE
300675072,300679167,IL
-300679168,301801983,US
+300679168,301507071,US
+301507072,301507327,IN
+301507328,301801983,US
301801984,301802239,GB
301802240,301802495,US
301802496,301802751,GB
@@ -4125,8 +4058,8 @@
314966016,315097087,US
315097088,315359231,IE
315359232,316932095,US
-316932096,316997631,BR
-316997632,317128703,US
+316932096,317063167,BR
+317063168,317128703,US
317128704,317194239,BR
317194240,322058771,US
322058772,322058772,CL
@@ -4149,12 +4082,16 @@
338062848,338063359,US
338063360,338063871,AU
338063872,338063999,CA
-338064000,338064383,US
+338064000,338064127,US
+338064128,338064383,DE
338064384,338064895,JP
-338064896,338067455,US
+338064896,338065151,DE
+338065152,338065407,US
+338065408,338065663,NO
+338065664,338067455,US
338067456,338069503,CH
338069504,338071551,AE
-338071552,338073599,US
+338071552,338073599,CA
338073600,338081791,CH
338081792,338082815,US
338082816,338083839,FR
@@ -4189,33 +4126,45 @@
338362368,338370559,CA
338370560,338378751,FR
338378752,338386943,JP
-338386944,338393087,US
+338386944,338391039,NO
+338391040,338393087,US
338393088,338395135,IN
338395136,338411519,SG
-338411520,344260607,US
+338411520,338434047,US
+338434048,338436095,KR
+338436096,338444287,IN
+338444288,338460671,US
+338460672,338477055,JP
+338477056,338493439,SG
+338493440,338509823,US
+338509824,338518015,AE
+338518016,338567167,DE
+338567168,338575359,AE
+338575360,338583551,US
+338583552,338595839,NO
+338595840,338599935,US
+338599936,338608127,NO
+338608128,344260607,US
344260608,344260863,GB
344260864,344261119,US
344261120,344261778,GB
344261779,344261779,US
-344261780,344264703,GB
-344264704,344270847,US
-344270848,344272895,GB
-344272896,344592895,US
+344261780,344262911,GB
+344262912,344588287,US
+344588288,344589311,GB
+344589312,344592895,US
344592896,344592945,GB
344592946,344592946,US
344592947,344593151,GB
-344593152,344593919,US
-344593920,344594175,DK
-344594176,344645631,US
-344645632,344653823,FR
-344653824,344662015,US
-344662016,344670207,MY
-344670208,344674303,IN
-344674304,344677631,US
-344677632,344677887,IN
-344677888,344711167,US
-344711168,344719359,AU
-344719360,344881151,US
+344593152,344593407,US
+344593408,344594431,DK
+344594432,344662783,US
+344662784,344663039,MY
+344663040,344670207,US
+344670208,344672255,IN
+344672256,344711167,US
+344711168,344713215,AU
+344713216,344881151,US
344881152,344881407,IN
344881408,344977407,US
344977408,344977663,IN
@@ -4258,7 +4207,9 @@
348094464,348102655,SG
348102656,348110847,US
348110848,348127231,AU
-348127232,353769239,US
+348127232,351743999,US
+351744000,351746047,GB
+351746048,353769239,US
353769240,353769240,FR
353769241,358157194,US
358157195,358157195,NO
@@ -4294,7 +4245,9 @@
386095616,386096127,NL
386096128,386191359,US
386191360,386195455,NL
-386195456,386215935,US
+386195456,386202623,US
+386202624,386203135,NL
+386203136,386215935,US
386215936,386220031,NL
386220032,386228223,US
386228224,386232319,NL
@@ -4320,7 +4273,13 @@
386498560,386502655,NL
386502656,386547711,US
386547712,386551807,NL
-386551808,386656255,US
+386551808,386593791,US
+386593792,386594815,NL
+386594816,386595071,US
+386595072,386595327,NL
+386595328,386595839,US
+386595840,386596095,NL
+386596096,386656255,US
386656256,386656511,NL
386656512,386662399,US
386662400,386666495,NL
@@ -4346,10 +4305,13 @@
386868992,386923519,US
386923520,386924543,NL
386924544,387055615,CA
-387055616,387063807,PR
-387063808,387071999,US
-387072000,387121151,PR
-387121152,387648767,US
+387055616,387092479,US
+387092480,387094527,PR
+387094528,387133439,US
+387133440,387133647,DE
+387133648,387133655,US
+387133656,387134463,DE
+387134464,387648767,US
387648768,387649023,DE
387649024,387707903,US
387707904,387708159,CH
@@ -4375,9 +4337,7 @@
388055040,388059135,NL
388059136,388084735,US
388084736,388085759,NL
-388085760,388086783,US
-388086784,388087807,NL
-388087808,388091903,US
+388085760,388091903,US
388091904,388095999,NL
388096000,388100095,US
388100096,388101119,NL
@@ -4453,9 +4413,13 @@
388843520,388844543,NL
388844544,388849663,US
388849664,388853759,NL
-388853760,388863999,US
+388853760,388856575,US
+388856576,388856831,NL
+388856832,388863999,US
388864000,388865023,NL
-388865024,388894207,US
+388865024,388885503,US
+388885504,388890623,NL
+388890624,388894207,US
388894208,388894719,NL
388894720,388897791,US
388897792,388898815,NL
@@ -4466,8 +4430,8 @@
388945920,388956159,US
388956160,388960255,NL
388960256,388964351,US
-388964352,388972543,NL
-388972544,388996095,US
+388964352,388973567,NL
+388973568,388996095,US
388996096,388997119,NL
388997120,389044223,US
389044224,389045247,NL
@@ -4509,8 +4473,8 @@
389413376,389413887,NL
389413888,389414911,US
389414912,389419007,NL
-389419008,389435391,US
-389435392,389444607,NL
+389419008,389439487,US
+389439488,389444607,NL
389444608,389444863,US
389444864,389445375,NL
389445376,389447679,US
@@ -4548,8 +4512,8 @@
389734400,389759999,US
389760000,389761023,NL
389761024,389764095,US
-389764096,389765119,NL
-389765120,389767167,US
+389764096,389765631,NL
+389765632,389767167,US
389767168,389775359,NL
389775360,389812223,US
389812224,389816319,NL
@@ -4559,8 +4523,10 @@
389857280,389873663,NL
389873664,389874687,US
389874688,389875711,NL
-389875712,389931007,US
-389931008,389936127,NL
+389875712,389923839,US
+389923840,389924351,NL
+389924352,389926911,US
+389926912,389936127,NL
389936128,389939711,US
389939712,389940223,NL
389940224,389941503,US
@@ -4579,7 +4545,8 @@
389979190,389979190,AU
389979191,389988351,US
389988352,389992447,NL
-389992448,389996799,US
+389992448,389996543,US
+389996544,389996799,NL
389996800,389996800,SG
389996801,390027263,US
390027264,390028287,NL
@@ -4611,26 +4578,26 @@
390205440,390209535,NL
390209536,390261247,US
390261248,390261759,NL
-390261760,390277119,US
-390277120,390277375,NL
-390277376,390278911,US
+390261760,390278911,US
390278912,390279167,NL
390279168,390286847,US
390286848,390287359,NL
390287360,390299647,US
390299648,390303743,NL
-390303744,390731775,US
-390731776,390732031,NL
-390732032,390897151,US
+390303744,390897151,US
390897152,390897663,NL
390897664,390938623,US
390938624,390942719,NL
390942720,390972927,US
-390972928,390973951,NL
-390973952,390975487,US
+390972928,390973439,NL
+390973440,390975487,US
390975488,390976511,NL
-390976512,390995967,US
-390995968,391020543,NL
+390976512,390985727,US
+390985728,390987775,NL
+390987776,390995967,US
+390995968,391004159,NL
+391004160,391012351,US
+391012352,391020543,NL
391020544,391110655,US
391110656,391110911,IL
391110912,391111167,GB
@@ -4642,8 +4609,10 @@
391344128,391348223,NL
391348224,391368703,US
391368704,391372799,CA
-391372800,391865855,US
-391865856,391866879,HK
+391372800,391864319,US
+391864320,391865087,HK
+391865088,391865343,US
+391865344,391866879,HK
391866880,391867391,US
391867392,391867647,VN
391867648,391872511,US
@@ -4717,40 +4686,47 @@
392660000,392660015,AT
392660016,392660031,FI
392660032,392660047,AT
-392660048,392660063,US
+392660048,392660063,NL
392660064,392660079,AT
392660080,392660095,IE
392660096,392660111,FI
392660112,392660127,AT
-392660128,392660351,US
+392660128,392660143,FR
+392660144,392660351,US
392660352,392660383,IE
392660384,392660415,FI
392660416,392660447,AT
-392660448,392660607,US
+392660448,392660479,US
+392660480,392660511,AT
+392660512,392660543,US
+392660544,392660575,AE
+392660576,392660607,US
392660608,392660703,GB
392660704,392660735,US
392660736,392660799,FR
-392660800,392661519,US
+392660800,392661503,US
+392661504,392661519,KR
392661520,392661551,JP
-392661552,392661887,US
+392661552,392661855,US
+392661856,392661887,ZA
392661888,392661951,JP
392661952,392662143,US
392662144,392662239,IN
392662240,392662399,US
-392662400,392662463,KR
-392662464,392662479,US
-392662480,392662495,KR
+392662400,392662495,KR
392662496,392662511,HK
392662512,392662527,SG
392662528,392662559,US
-392662560,392662575,AU
-392662576,392663039,US
+392662560,392662591,AU
+392662592,392663039,US
392663040,392663071,FI
392663072,392663103,US
392663104,392663135,IE
392663136,392663167,US
392663168,392663199,NL
-392663200,392663295,US
+392663200,392663231,US
+392663232,392663263,NL
+392663264,392663295,US
392663296,392663327,IE
392663328,392663359,US
392663360,392663391,IE
@@ -4761,7 +4737,9 @@
392664416,392664431,NL
392664432,392664479,US
392664480,392664495,IE
-392664496,392665855,US
+392664496,392665343,US
+392665344,392665375,SG
+392665376,392665855,US
392665856,392665887,HK
392665888,392665983,US
392665984,392666015,HK
@@ -4849,15 +4827,16 @@
392687824,392687839,NL
392687840,392687887,US
392687888,392687903,NL
-392687904,392689295,US
+392687904,392689279,US
+392689280,392689295,FI
392689296,392689311,NL
392689312,392689327,AT
392689328,392689343,IE
-392689344,392689359,US
+392689344,392689359,FI
392689360,392689375,NL
392689376,392689391,AT
392689392,392689407,IE
-392689408,392689423,US
+392689408,392689423,FI
392689424,392689439,NL
392689440,392689455,AT
392689456,392689471,IE
@@ -4865,15 +4844,15 @@
392689488,392689503,NL
392689504,392689519,AT
392689520,392689535,IE
-392689536,392689551,US
+392689536,392689551,FI
392689552,392689567,NL
392689568,392689583,AT
392689584,392689599,IE
-392689600,392689615,US
+392689600,392689615,FI
392689616,392689631,NL
392689632,392689647,AT
392689648,392689663,IE
-392689664,392689679,US
+392689664,392689679,FI
392689680,392689695,NL
392689696,392689711,AT
392689712,392689727,IE
@@ -4881,11 +4860,11 @@
392689744,392689759,NL
392689760,392689775,AT
392689776,392689791,IE
-392689792,392689807,US
+392689792,392689807,FI
392689808,392689823,NL
392689824,392689839,AT
392689840,392689855,IE
-392689856,392689871,US
+392689856,392689871,FI
392689872,392689887,NL
392689888,392689903,AT
392689904,392689919,IE
@@ -4894,10 +4873,11 @@
392690000,392690015,HK
392690016,392690031,KR
392690032,392690047,MY
-392690048,392690079,US
+392690048,392690063,SG
+392690064,392690079,HK
392690080,392690095,KR
392690096,392690111,MY
-392690112,392690127,US
+392690112,392690127,SG
392690128,392690143,HK
392690144,392690431,US
392690432,392690687,NL
@@ -4971,7 +4951,7 @@
394305536,394305791,CA
394313728,394313983,US
394321920,394322175,CA
-394330112,394330367,US
+394330112,394330623,US
394338304,394338559,CA
394346496,394362879,US
394362880,394363135,GB
@@ -5000,6 +4980,7 @@
394756096,394772479,US
394772480,394772735,CA
394780672,394780927,US
+394788864,394789119,US
394797056,394797311,CA
394805248,394805503,US
394813440,394813695,VG
@@ -5064,20 +5045,33 @@
395813120,395829247,CA
395829248,395829503,US
395829504,395837439,CA
-395837440,395903231,US
-395919360,395919615,CA
-395935744,395935999,CA
-395952128,395952383,US
-395968512,395969535,CA
-395984896,395985151,US
-396001280,396034047,CA
+395837440,395919359,US
+395919360,395952127,CA
+395952128,395968511,US
+395968512,395984895,CA
+395984896,396001279,US
+396001280,396025855,CA
+396025856,396026111,US
+396026112,396034047,CA
396034048,396034303,US
+396042240,396042495,US
396050432,396050687,CA
+396058624,396058879,US
396066816,396067327,CA
+396075008,396075263,US
396083200,396083711,US
-396099584,396263423,US
+396091392,396091647,US
+396099584,396107775,US
+396107776,396108031,JM
+396108032,396140543,US
+396140544,396140799,CA
+396140800,396263423,US
396263424,396263679,CA
-396296192,396427775,US
+396271616,396271871,US
+396288000,396288255,US
+396296192,396320767,US
+396320768,396321023,CA
+396321024,396427775,US
396443648,396443903,CA
396460032,396493055,US
396509184,396509439,PR
@@ -5112,19 +5106,19 @@
397770752,397771007,CA
397787136,397787391,US
397803520,397803775,CA
-397819904,397820159,US
+397819904,397820415,US
397836288,397836799,CA
397852672,397852927,US
397869056,397902079,US
397918208,397918463,CA
397934592,398065663,US
-398065664,398065919,CA
+398065664,398066175,CA
398082048,398082303,JP
398098432,398098687,US
398114816,398115071,CA
398131200,398196735,US
398196736,398196991,KY
-398213120,398213375,US
+398213120,398213631,US
398229504,398295295,US
398311424,398311679,LC
398327808,398328063,PR
@@ -5138,7 +5132,9 @@
398500352,398500863,NL
398500864,398566911,US
398566912,398567423,NL
-398567424,398642175,US
+398567424,398640127,US
+398640128,398641151,NL
+398641152,398642175,US
398642176,398643199,NL
398643200,398684159,US
398684160,398692351,NL
@@ -5168,8 +5164,8 @@
399032320,399036415,NL
399036416,399056127,US
399056128,399056383,NL
-399056384,399076095,US
-399076096,399076863,NL
+399056384,399076351,US
+399076352,399076863,NL
399076864,399089663,US
399089664,399101951,NL
399101952,399106047,US
@@ -5177,8 +5173,8 @@
399114240,399143935,US
399143936,399144959,NL
399144960,399147007,US
-399147008,399155199,NL
-399155200,399175679,US
+399147008,399151103,NL
+399151104,399175679,US
399175680,399179775,NL
399179776,399243519,US
399243520,399243775,NL
@@ -5186,8 +5182,9 @@
399280896,399281151,NL
399281152,399331327,US
399331328,399335423,NL
-399335424,399343615,AU
-399343616,399353855,US
+399335424,399342335,US
+399342336,399342591,NL
+399342592,399353855,US
399353856,399354879,NL
399354880,399355903,US
399355904,399359999,NL
@@ -5215,9 +5212,7 @@
399594496,399595519,NL
399595520,399598591,US
399598592,399599871,NL
-399599872,399642623,US
-399642624,399643647,NL
-399643648,399644671,US
+399599872,399644671,US
399644672,399646719,NL
399646720,399647743,US
399647744,399649791,NL
@@ -5229,18 +5224,18 @@
399740928,399749119,NL
399749120,399769855,US
399769856,399770111,NL
-399770112,399797247,US
+399770112,399782911,US
+399782912,399783167,NL
+399783168,399797247,US
399797248,399797759,NL
399797760,399827967,US
399827968,399830015,NL
399830016,399849471,US
399849472,399850495,NL
-399850496,399870975,US
-399870976,399871999,NL
-399872000,399908863,US
-399908864,399919615,NL
-399919616,399921151,US
-399921152,399951359,NL
+399850496,399918079,US
+399918080,399919615,NL
+399919616,399930367,US
+399930368,399951359,NL
399951360,399951871,US
399951872,399952895,NL
399952896,399953919,US
@@ -5258,8 +5253,8 @@
400084992,400093183,US
400093184,400097279,NL
400097280,400098303,US
-400098304,400099327,NL
-400099328,400111103,US
+400098304,400100351,NL
+400100352,400111103,US
400111104,400111615,NL
400111616,400112639,US
400112640,400113663,NL
@@ -5273,8 +5268,8 @@
400131584,400132095,NL
400132096,400144383,US
400144384,400145407,NL
-400145408,400154623,US
-400154624,400162815,NL
+400145408,400150527,US
+400150528,400162815,NL
400162816,400186367,US
400186368,400187391,NL
400187392,400201727,US
@@ -5291,7 +5286,9 @@
400263168,400263679,NL
400263680,400264703,US
400264704,400265215,NL
-400265216,400400383,US
+400265216,400275711,US
+400275712,400275967,NL
+400275968,400400383,US
400400384,400410111,NL
400410112,400411647,US
400411648,400412671,NL
@@ -5342,19 +5339,13 @@
400883888,400883895,BG
400883896,400883919,CA
400883920,400883927,GB
-400883928,400883975,CA
-400883976,400883979,US
-400883980,400883995,CA
-400883996,400883999,US
-400884000,400884231,CA
+400883928,400884231,CA
400884232,400884239,US
400884240,400884255,CA
400884256,400884287,US
400884288,400884319,CA
400884320,400884359,US
-400884360,400884415,CA
-400884416,400884431,US
-400884432,400884455,CA
+400884360,400884455,CA
400884456,400884463,US
400884464,400884471,CA
400884472,400884479,US
@@ -5375,11 +5366,9 @@
400885408,400885439,US
400885440,400885783,CA
400885784,400885791,US
-400885792,400885887,CA
-400885888,400885919,US
-400885920,400885999,CA
-400886000,400886015,US
-400886016,400886031,CA
+400885792,400885903,CA
+400885904,400885919,US
+400885920,400886031,CA
400886032,400886047,US
400886048,400886095,CA
400886096,400886111,US
@@ -5394,31 +5383,22 @@
400886200,400886303,CA
400886304,400886335,US
400886336,400886351,CA
-400886352,400886399,US
-400886400,400886407,CA
+400886352,400886383,US
+400886384,400886407,CA
400886408,400886415,US
-400886416,400886455,CA
-400886456,400886463,SE
+400886416,400886463,CA
400886464,400886527,US
400886528,400886583,CA
400886584,400886591,US
-400886592,400886623,CA
-400886624,400886639,US
-400886640,400886695,CA
-400886696,400886703,FI
-400886704,400886719,CA
-400886720,400886783,US
-400886784,400887039,CA
+400886592,400886719,CA
+400886720,400886767,US
+400886768,400887039,CA
400887040,400887135,US
-400887136,400887143,CA
-400887144,400887175,US
-400887176,400887183,CA
-400887184,400887199,US
-400887200,400887231,CA
-400887232,400887295,US
-400887296,400887311,CA
-400887312,400887327,US
-400887328,400887335,CA
+400887136,400887151,CA
+400887152,400887175,US
+400887176,400887231,CA
+400887232,400887263,US
+400887264,400887335,CA
400887336,400887343,US
400887344,400887351,SE
400887352,400887503,CA
@@ -5431,9 +5411,7 @@
400887872,400887879,US
400887880,400887895,CA
400887896,400887911,US
-400887912,400887919,CA
-400887920,400887927,US
-400887928,400887935,CA
+400887912,400887935,CA
400887936,400887959,US
400887960,400887975,CA
400887976,400887983,US
@@ -5443,91 +5421,71 @@
400888064,400888319,US
400888320,400888575,CA
400888576,400888831,GB
-400888832,400889343,CA
-400889344,400889367,US
-400889368,400889407,CA
-400889408,400889503,US
+400888832,400889359,CA
+400889360,400889367,US
+400889368,400889439,CA
+400889440,400889503,US
400889504,400889511,CA
400889512,400889599,US
400889600,400889647,CA
-400889648,400889679,US
-400889680,400889695,CA
-400889696,400889743,US
-400889744,400889767,CA
-400889768,400889807,US
-400889808,400889855,CA
+400889648,400889663,US
+400889664,400889711,CA
+400889712,400889727,US
+400889728,400889775,CA
+400889776,400889791,US
+400889792,400889855,CA
400889856,400890111,US
400890112,400890143,CA
400890144,400890151,US
400890152,400890159,CA
-400890160,400890239,US
-400890240,400890263,CA
+400890160,400890207,US
+400890208,400890263,CA
400890264,400890271,US
400890272,400890335,CA
-400890336,400890375,US
-400890376,400890383,CA
+400890336,400890367,US
+400890368,400890383,CA
400890384,400890391,US
400890392,400890399,CA
400890400,400890407,US
-400890408,400890415,CA
-400890416,400890431,US
-400890432,400890447,CA
-400890448,400890495,US
-400890496,400890527,CA
+400890408,400890527,CA
400890528,400890543,US
-400890544,400890559,CA
-400890560,400890623,US
+400890544,400890591,CA
+400890592,400890623,US
400890624,400890639,CA
400890640,400890655,US
400890656,400890783,CA
400890784,400890831,US
-400890832,400890847,CA
-400890848,400890871,US
-400890872,400891199,CA
-400891200,400891207,US
-400891208,400891263,CA
+400890832,400891263,CA
400891264,400891343,US
-400891344,400891359,CA
-400891360,400891375,US
-400891376,400891383,CA
+400891344,400891383,CA
400891384,400891407,US
400891408,400891415,CA
-400891416,400891487,US
+400891416,400891455,US
+400891456,400891471,CA
+400891472,400891487,US
400891488,400891535,CA
-400891536,400891647,US
-400891648,400891679,CA
-400891680,400891703,US
-400891704,400891775,CA
-400891776,400891807,US
-400891808,400891855,CA
-400891856,400891863,US
-400891864,400891887,CA
+400891536,400891583,US
+400891584,400891615,CA
+400891616,400891631,US
+400891632,400891695,CA
+400891696,400891703,US
+400891704,400891791,CA
+400891792,400891807,US
+400891808,400891887,CA
400891888,400892159,US
400892160,400892215,CA
400892216,400892223,US
-400892224,400892255,CA
-400892256,400892259,US
-400892260,400892299,CA
-400892300,400892303,US
-400892304,400892367,CA
-400892368,400892375,US
-400892376,400892383,CA
-400892384,400892387,US
-400892388,400892479,CA
+400892224,400892479,CA
400892480,400892543,US
400892544,400892567,CA
400892568,400892575,US
400892576,400892591,CA
400892592,400892607,US
-400892608,400892639,CA
-400892640,400892655,US
-400892656,400892671,CA
-400892672,400892799,US
-400892800,400892807,CA
-400892808,400892815,US
-400892816,400892863,CA
-400892864,400892935,US
-400892936,400893055,CA
+400892608,400892671,CA
+400892672,400892767,US
+400892768,400892863,CA
+400892864,400892895,US
+400892896,400893055,CA
400893056,400893087,US
400893088,400893095,CA
400893096,400893311,US
@@ -5538,189 +5496,169 @@
400894048,400894079,CA
400894080,400894335,US
400894336,400894463,CA
-400894464,400894767,US
-400894768,400894783,CA
+400894464,400894719,US
+400894720,400894783,CA
400894784,400894815,US
-400894816,400894847,CA
-400894848,400894879,US
-400894880,400894903,CA
+400894816,400894903,CA
400894904,400894911,US
-400894912,400894975,CA
-400894976,400895295,US
+400894912,400895231,CA
+400895232,400895295,US
400895296,400895359,CA
400895360,400895407,US
400895408,400895455,CA
-400895456,400895567,US
-400895568,400895623,CA
-400895624,400895631,US
-400895632,400895663,CA
+400895456,400895551,US
+400895552,400895663,CA
400895664,400895679,US
400895680,400895711,CA
400895712,400896511,US
400896512,400896591,CA
400896592,400896599,US
-400896600,400896615,CA
-400896616,400896631,US
-400896632,400896695,CA
-400896696,400896699,US
-400896700,400896767,CA
+400896600,400896767,CA
400896768,400896775,US
-400896776,400896815,CA
-400896816,400896831,US
+400896776,400896823,CA
+400896824,400896831,US
400896832,400896911,CA
400896912,400896919,US
400896920,400896927,CA
-400896928,400896943,US
-400896944,400896951,CA
-400896952,400896967,US
-400896968,400897023,CA
+400896928,400896935,US
+400896936,400896951,CA
+400896952,400896959,US
+400896960,400897023,CA
400897024,400897279,US
-400897280,400897311,CA
-400897312,400897327,US
-400897328,400897407,CA
-400897408,400897415,US
-400897416,400897423,CA
+400897280,400897423,CA
400897424,400897439,US
-400897440,400897471,CA
-400897472,400897791,US
-400897792,400897831,CA
-400897832,400897839,US
-400897840,400897847,CA
+400897440,400897503,CA
+400897504,400897519,US
+400897520,400897535,CA
+400897536,400897791,US
+400897792,400897847,CA
400897848,400897855,US
400897856,400897887,CA
400897888,400897903,US
-400897904,400897919,CA
-400897920,400897967,US
+400897904,400897935,CA
+400897936,400897967,US
400897968,400897983,CA
400897984,400898047,US
400898048,400898063,CA
400898064,400898079,US
-400898080,400898159,CA
-400898160,400898303,US
+400898080,400898175,CA
+400898176,400898303,US
400898304,400898311,CA
400898312,400898319,US
-400898320,400898447,CA
-400898448,400898559,US
-400898560,400898575,CA
-400898576,400898591,US
-400898592,400898687,CA
-400898688,400898735,US
+400898320,400898463,CA
+400898464,400898495,US
+400898496,400898703,CA
+400898704,400898735,US
400898736,400898751,CA
-400898752,400898799,US
-400898800,400898807,CA
+400898752,400898783,US
+400898784,400898807,CA
400898808,400898815,US
-400898816,400898823,CA
-400898824,400898831,US
-400898832,400898855,CA
-400898856,400898863,US
-400898864,400898879,CA
-400898880,400898887,SE
-400898888,400898911,CA
-400898912,400899327,US
+400898816,400898911,CA
+400898912,400898927,US
+400898928,400898943,CA
+400898944,400899039,US
+400899040,400899047,CA
+400899048,400899055,US
+400899056,400899071,CA
+400899072,400899327,US
400899328,400899591,CA
400899592,400899599,US
400899600,400899623,CA
400899624,400899631,US
-400899632,400899647,CA
-400899648,400899751,US
-400899752,400899759,CA
+400899632,400899711,CA
+400899712,400899743,US
+400899744,400899759,CA
400899760,400899807,US
400899808,400899815,CA
-400899816,400899839,US
-400899840,400899847,CA
+400899816,400899823,US
+400899824,400899847,CA
400899848,400899855,US
400899856,400899967,CA
-400899968,400900255,US
+400899968,400899999,US
+400900000,400900031,CA
+400900032,400900255,US
400900256,400900263,CA
-400900264,400900351,US
-400900352,400900391,CA
+400900264,400900271,US
+400900272,400900287,CA
+400900288,400900319,US
+400900320,400900391,CA
400900392,400900399,US
-400900400,400900415,CA
-400900416,400900479,US
+400900400,400900447,CA
+400900448,400900479,US
400900480,400900487,CA
400900488,400900495,US
-400900496,400900527,CA
-400900528,400901119,US
-400901120,400901431,CA
-400901432,400901447,US
-400901448,400901487,CA
+400900496,400900559,CA
+400900560,400900575,US
+400900576,400900607,CA
+400900608,400901119,US
+400901120,400901487,CA
400901488,400901495,US
400901496,400901567,CA
-400901568,400901631,US
-400901632,400901655,CA
-400901656,400901659,US
-400901660,400901751,CA
-400901752,400901887,US
+400901568,400901583,US
+400901584,400901615,CA
+400901616,400901631,US
+400901632,400901759,CA
+400901760,400901807,US
+400901808,400901823,CA
+400901824,400901887,US
400901888,400902143,CA
400902144,400902399,US
400902400,400902431,CA
-400902432,400902495,US
-400902496,400902527,CA
-400902528,400902655,US
+400902432,400902479,US
+400902480,400902527,CA
+400902528,400902623,US
+400902624,400902639,CA
+400902640,400902655,US
400902656,400902663,CA
400902664,400902671,US
400902672,400902719,CA
400902720,400902783,US
400902784,400902911,CA
-400902912,400902975,US
-400902976,400903039,CA
-400903040,400903167,US
-400903168,400903183,CA
-400903184,400903199,US
-400903200,400903231,CA
-400903232,400903247,US
-400903248,400903271,CA
+400902912,400902943,US
+400902944,400903271,CA
400903272,400903279,US
-400903280,400903295,CA
-400903296,400903423,US
-400903424,400903935,CA
+400903280,400903935,CA
400903936,400904479,US
400904480,400904487,CA
400904488,400904591,US
400904592,400904599,CA
-400904600,400904687,US
-400904688,400904703,CA
+400904600,400904607,US
+400904608,400904623,CA
+400904624,400904671,US
+400904672,400904703,CA
400904704,400904959,US
400904960,400905271,CA
400905272,400905279,US
-400905280,400905287,CA
-400905288,400905295,US
-400905296,400905335,CA
+400905280,400905335,CA
400905336,400905343,US
400905344,400905359,CA
400905360,400905367,US
400905368,400905399,CA
-400905400,400905415,US
-400905416,400905439,CA
+400905400,400905407,US
+400905408,400905439,CA
400905440,400905447,US
-400905448,400905455,CA
-400905456,400905463,FI
-400905464,400905471,US
-400905472,400905983,CA
-400905984,400906143,US
+400905448,400906111,CA
+400906112,400906143,US
400906144,400906175,CA
400906176,400906207,US
400906208,400906215,CA
400906216,400906223,US
400906224,400906231,CA
400906232,400906239,US
-400906240,400906247,CA
-400906248,400906263,US
-400906264,400906367,CA
-400906368,400906383,US
-400906384,400906399,CA
-400906400,400906815,US
+400906240,400906255,CA
+400906256,400906263,US
+400906264,400906399,CA
+400906400,400906463,US
+400906464,400906471,CA
+400906472,400906815,US
400906816,400906831,CA
400906832,400906879,US
-400906880,400906959,CA
-400906960,400907007,US
-400907008,400907263,CA
+400906880,400907263,CA
400907264,400908031,US
400908032,400908287,CA
400908288,400911103,US
400911104,400911359,PA
-400911360,400911487,US
-400911488,400911583,AU
+400911360,400911583,AU
400911584,400911615,US
400911616,400911871,CR
400911872,401113087,US
@@ -5798,9 +5736,7 @@
401342464,401346559,BB
401346560,401360639,US
401360640,401360895,HK
-401360896,401361151,US
-401361152,401361407,HK
-401361408,401367039,US
+401360896,401367039,US
401367040,401367295,GB
401367296,401367551,US
401367552,401367807,JP
@@ -5819,27 +5755,22 @@
401375512,401375519,US
401375520,401375535,CA
401375536,401375543,US
-401375544,401375551,CA
-401375552,401375559,US
-401375560,401375663,CA
-401375664,401375679,US
-401375680,401375743,CA
+401375544,401375743,CA
401375744,401376095,US
-401376096,401376103,SE
-401376104,401376111,CA
-401376112,401376191,US
+401376096,401376111,CA
+401376112,401376143,US
+401376144,401376175,CA
+401376176,401376191,US
401376192,401376223,CA
401376224,401376255,US
-401376256,401376271,CA
-401376272,401376279,US
-401376280,401376287,CA
-401376288,401376319,US
-401376320,401376327,CA
+401376256,401376327,CA
401376328,401376335,US
401376336,401376351,CA
-401376352,401376415,US
-401376416,401376447,CA
-401376448,401376767,US
+401376352,401376367,US
+401376368,401376447,CA
+401376448,401376479,US
+401376480,401376495,CA
+401376496,401376767,US
401376768,401377791,CA
401377792,401378303,US
401378304,401378559,EG
@@ -5847,7 +5778,11 @@
401378688,401378815,CA
401378816,401379071,US
401379072,401380351,CA
-401380352,401380503,US
+401380352,401380383,US
+401380384,401380431,CA
+401380432,401380447,US
+401380448,401380479,CA
+401380480,401380503,US
401380504,401380527,CA
401380528,401380543,US
401380544,401380607,CA
@@ -5855,72 +5790,50 @@
401380864,401381119,CA
401381120,401381247,US
401381248,401381375,CA
-401381376,401381887,US
-401381888,401381951,CA
-401381952,401381959,US
-401381960,401382015,CA
+401381376,401381407,US
+401381408,401381423,CA
+401381424,401381887,US
+401381888,401382015,CA
401382016,401382023,US
401382024,401382063,CA
401382064,401382087,US
-401382088,401382137,CA
-401382138,401382138,US
-401382139,401382191,CA
-401382192,401382199,US
-401382200,401382367,CA
-401382368,401382375,US
-401382376,401382399,CA
-401382400,401382407,US
-401382408,401382463,CA
+401382088,401382127,CA
+401382128,401382135,US
+401382136,401382463,CA
401382464,401382471,US
401382472,401382479,CA
401382480,401382527,US
401382528,401382543,CA
401382544,401382575,US
-401382576,401382591,CA
-401382592,401382911,US
-401382912,401383167,CA
-401383168,401383231,US
-401383232,401383263,CA
-401383264,401383295,US
-401383296,401384299,CA
-401384300,401384303,US
-401384304,401384407,CA
-401384408,401384415,US
-401384416,401384423,CA
-401384424,401384435,US
-401384436,401384575,CA
-401384576,401384703,US
-401384704,401384799,CA
+401382576,401382623,CA
+401382624,401382911,US
+401382912,401384423,CA
+401384424,401384431,US
+401384432,401384799,CA
401384800,401384831,US
401384832,401384959,CA
401384960,401385215,US
401385216,401385295,CA
401385296,401385375,US
401385376,401385391,CA
-401385392,401385983,US
-401385984,401386271,CA
-401386272,401386407,US
-401386408,401386415,CA
+401385392,401385407,US
+401385408,401385423,CA
+401385424,401385439,US
+401385440,401385455,CA
+401385456,401385983,US
+401385984,401386303,CA
+401386304,401386399,US
+401386400,401386415,CA
401386416,401386463,US
401386464,401386471,CA
401386472,401386495,US
-401386496,401386591,SE
-401386592,401386623,US
-401386624,401387007,SE
+401386496,401387007,SE
401387008,401387263,US
401387264,401387519,CA
-401387520,401388031,US
-401388032,401388063,CA
-401388064,401388159,US
-401388160,401388191,CA
-401388192,401388223,US
-401388224,401388255,CA
-401388256,401388287,US
-401388288,401388543,CA
+401387520,401387775,US
+401387776,401388543,CA
401388544,401388559,US
-401388560,401388563,CA
-401388564,401388567,US
-401388568,401388575,CA
+401388560,401388575,CA
401388576,401388583,US
401388584,401388615,CA
401388616,401388631,US
@@ -5928,128 +5841,123 @@
401388672,401388687,US
401388688,401389055,CA
401389056,401390079,US
-401390080,401390335,CA
-401390336,401390847,US
-401390848,401391231,CA
-401391232,401391359,US
-401391360,401392639,CA
-401392640,401394431,US
-401394432,401394479,CA
-401394480,401394559,US
-401394560,401394687,CA
-401394688,401394943,US
-401394944,401395455,CA
+401390080,401390591,CA
+401390592,401390847,US
+401390848,401392639,CA
+401392640,401393663,US
+401393664,401393919,CA
+401393920,401394431,US
+401394432,401395455,CA
401395456,401395711,US
-401395712,401395727,CA
-401395728,401395759,US
-401395760,401395775,CA
-401395776,401395839,US
-401395840,401396239,CA
-401396240,401396255,US
-401396256,401396271,CA
-401396272,401396447,US
-401396448,401396463,CA
-401396464,401396735,US
-401396736,401396991,CA
-401396992,401397311,US
+401395712,401396287,CA
+401396288,401396383,US
+401396384,401396391,CA
+401396392,401396399,US
+401396400,401396415,CA
+401396416,401396447,US
+401396448,401397247,CA
+401397248,401397311,US
401397312,401397327,CA
-401397328,401397375,US
-401397376,401397407,CA
+401397328,401397359,US
+401397360,401397407,CA
401397408,401397439,US
401397440,401397487,CA
401397488,401397503,US
401397504,401397759,CA
401397760,401398015,US
401398016,401398271,CA
-401398272,401398783,US
-401398784,401399047,CA
-401399048,401399055,US
-401399056,401399063,CA
-401399064,401399207,US
-401399208,401399215,CA
-401399216,401399271,US
-401399272,401399279,CA
+401398272,401398527,US
+401398528,401399063,CA
+401399064,401399071,US
+401399072,401399103,CA
+401399104,401399135,US
+401399136,401399167,CA
+401399168,401399199,US
+401399200,401399215,CA
+401399216,401399263,US
+401399264,401399279,CA
401399280,401399295,US
-401399296,401399551,CA
-401399552,401399599,US
+401399296,401399583,CA
+401399584,401399599,US
401399600,401399607,CA
-401399608,401399679,US
-401399680,401399695,CA
-401399696,401399775,US
+401399608,401399647,US
+401399648,401399663,CA
+401399664,401399679,US
+401399680,401399711,CA
+401399712,401399743,US
+401399744,401399759,CA
+401399760,401399775,US
401399776,401400063,CA
-401400064,401400271,US
-401400272,401400279,CA
-401400280,401400575,US
-401400576,401400599,CA
-401400600,401400607,US
-401400608,401400623,CA
-401400624,401400671,US
+401400064,401400575,US
+401400576,401400655,CA
+401400656,401400671,US
401400672,401400703,CA
401400704,401400735,US
401400736,401400751,CA
-401400752,401400799,US
-401400800,401400815,CA
-401400816,401400871,US
+401400752,401400783,US
+401400784,401400815,CA
+401400816,401400863,US
+401400864,401400871,CA
401400872,401400879,NO
-401400880,401400927,US
-401400928,401400959,CA
-401400960,401401055,US
-401401056,401401071,CA
-401401072,401401103,US
-401401104,401401111,CA
-401401112,401401215,US
+401400880,401400895,US
+401400896,401400975,CA
+401400976,401400991,US
+401400992,401401039,CA
+401401040,401401055,US
+401401056,401401111,CA
+401401112,401401135,US
+401401136,401401151,CA
+401401152,401401215,US
401401216,401401247,CA
401401248,401401279,US
-401401280,401401295,CA
-401401296,401401343,US
-401401344,401401351,CA
-401401352,401401439,US
+401401280,401401359,CA
+401401360,401401375,US
+401401376,401401391,CA
+401401392,401401439,US
401401440,401401455,CA
401401456,401401463,US
401401464,401401471,CA
-401401472,401401567,US
-401401568,401401575,CA
-401401576,401401599,US
-401401600,401401615,CA
-401401616,401401623,US
-401401624,401401647,CA
-401401648,401401679,US
+401401472,401401503,US
+401401504,401401511,CA
+401401512,401401519,US
+401401520,401401535,CA
+401401536,401401567,US
+401401568,401401663,CA
+401401664,401401679,US
401401680,401401687,CA
-401401688,401401887,US
-401401888,401401903,CA
-401401904,401401919,US
-401401920,401401935,CA
+401401688,401401695,US
+401401696,401401727,CA
+401401728,401401855,US
+401401856,401401935,CA
401401936,401401983,US
-401401984,401401999,CA
-401402000,401402095,US
+401401984,401402031,CA
+401402032,401402047,US
+401402048,401402079,CA
+401402080,401402095,US
401402096,401402111,CA
-401402112,401402239,US
+401402112,401402207,US
+401402208,401402223,CA
+401402224,401402239,US
401402240,401402287,CA
401402288,401402303,US
401402304,401402335,CA
401402336,401402343,US
-401402344,401402367,CA
-401402368,401402879,US
-401402880,401402911,CA
-401402912,401402943,US
-401402944,401403007,CA
-401403008,401403135,US
-401403136,401403391,CA
-401403392,401403423,US
+401402344,401402623,CA
+401402624,401402879,US
+401402880,401403407,CA
+401403408,401403423,US
401403424,401403455,CA
401403456,401403503,US
401403504,401403583,CA
401403584,401403615,US
-401403616,401403647,CA
-401403648,401403679,US
+401403616,401403663,CA
+401403664,401403679,US
401403680,401403695,CA
-401403696,401403791,US
-401403792,401403807,CA
+401403696,401403743,US
+401403744,401403807,CA
401403808,401403839,US
-401403840,401403855,CA
-401403856,401403863,US
-401403864,401403871,CA
-401403872,401413887,US
+401403840,401403903,CA
+401403904,401413887,US
401413888,401414143,AR
401414144,401419775,US
401419776,401420031,CA
@@ -6057,7 +5965,11 @@
401420288,401420543,CA
401420544,401425407,US
401425408,401426431,CA
-401426432,401547263,US
+401426432,401426943,US
+401426944,401427455,DE
+401427456,401434623,US
+401434624,401435135,CA
+401435136,401547263,US
401547264,401555455,CA
401555456,401584895,US
401584896,401585023,CA
@@ -6117,7 +6029,8 @@
402128384,402128895,US
402128896,402169855,CA
402169856,402170111,KR
-402170112,402170879,US
+402170112,402170367,US
+402170368,402170879,HK
402170880,402171135,JP
402171136,402171391,BR
402171392,402171903,US
@@ -6139,11 +6052,9 @@
402178048,402223103,US
402223104,402227199,CA
402227200,402229247,PR
-402229248,402229503,US
-402229504,402230783,PR
-402230784,402231039,US
-402231040,402231295,PR
-402231296,402239301,US
+402229248,402229759,US
+402229760,402230527,PR
+402230528,402239301,US
402239302,402239302,CA
402239303,402239473,US
402239474,402239474,CA
@@ -6158,9 +6069,7 @@
402260032,402260039,FI
402260040,402260055,CA
402260056,402260063,US
-402260064,402260127,CA
-402260128,402260151,US
-402260152,402260159,CA
+402260064,402260159,CA
402260160,402260167,US
402260168,402260199,CA
402260200,402260231,US
@@ -6168,53 +6077,43 @@
402260272,402260279,GB
402260280,402260295,CA
402260296,402260303,US
-402260304,402260367,CA
-402260368,402260383,US
-402260384,402260431,CA
+402260304,402260431,CA
402260432,402260439,US
402260440,402260479,CA
-402260480,402260519,US
-402260520,402260527,CA
-402260528,402260543,US
-402260544,402260551,CA
-402260552,402260559,US
-402260560,402260575,CA
+402260480,402260511,US
+402260512,402260575,CA
402260576,402260655,US
-402260656,402260751,CA
-402260752,402260895,US
-402260896,402260903,CA
-402260904,402260991,US
+402260656,402260767,CA
+402260768,402260831,US
+402260832,402260863,CA
+402260864,402260895,US
+402260896,402260911,CA
+402260912,402260959,US
+402260960,402260967,CA
+402260968,402260991,US
402260992,402260999,CA
402261000,402261087,US
-402261088,402261095,CA
-402261096,402261103,US
-402261104,402261119,CA
-402261120,402261247,US
-402261248,402262015,CA
-402262016,402262279,US
-402262280,402262351,CA
+402261088,402261119,CA
+402261120,402261151,US
+402261152,402261183,CA
+402261184,402261215,US
+402261216,402262015,CA
+402262016,402262271,US
+402262272,402262351,CA
402262352,402262359,US
-402262360,402262431,CA
-402262432,402262439,SE
-402262440,402262447,CA
+402262360,402262447,CA
402262448,402262455,US
402262456,402262463,FI
402262464,402262479,US
402262480,402262519,CA
402262520,402262527,US
-402262528,402262575,CA
-402262576,402262599,US
-402262600,402262607,CA
-402262608,402262615,US
-402262616,402262631,CA
-402262632,402262639,US
-402262640,402262663,CA
+402262528,402262591,CA
+402262592,402262599,US
+402262600,402262663,CA
402262664,402262671,US
402262672,402262695,CA
402262696,402262703,US
-402262704,402262711,CA
-402262712,402262719,US
-402262720,402262751,CA
+402262704,402262751,CA
402262752,402262759,US
402262760,402262847,CA
402262848,402262855,US
@@ -6226,48 +6125,47 @@
402262944,402262951,US
402262952,402262975,CA
402262976,402262983,US
-402262984,402263015,CA
-402263016,402263039,US
-402263040,402263127,CA
-402263128,402263135,US
-402263136,402263295,CA
+402262984,402263295,CA
402263296,402263311,US
-402263312,402263319,CA
-402263320,402263327,US
-402263328,402263335,CA
+402263312,402263335,CA
402263336,402263343,US
402263344,402263359,CA
402263360,402263391,US
402263392,402263423,CA
-402263424,402263551,US
-402263552,402263807,CA
+402263424,402263455,US
+402263456,402263471,CA
+402263472,402263487,US
+402263488,402263807,CA
402263808,402264063,US
402264064,402264079,CA
402264080,402264095,US
-402264096,402264103,CA
-402264104,402264319,US
-402264320,402264327,CA
-402264328,402264335,US
-402264336,402264367,CA
-402264368,402265343,US
-402265344,402265407,CA
-402265408,402265415,US
-402265416,402265423,SE
-402265424,402265471,CA
-402265472,402265583,US
-402265584,402265599,CA
-402265600,402265631,US
+402264096,402264111,CA
+402264112,402264127,US
+402264128,402264175,CA
+402264176,402264319,US
+402264320,402264447,CA
+402264448,402264559,US
+402264560,402264575,CA
+402264576,402265343,US
+402265344,402265471,CA
+402265472,402265535,US
+402265536,402265551,CA
+402265552,402265583,US
+402265584,402265615,CA
+402265616,402265631,US
402265632,402265663,CA
402265664,402265690,US
402265691,402265691,BD
402265692,402265791,US
402265792,402265879,CA
-402265880,402266143,US
-402266144,402266159,CA
-402266160,402266215,US
-402266216,402266255,CA
-402266256,402266263,US
-402266264,402266287,CA
+402265880,402265887,US
+402265888,402265919,CA
+402265920,402265951,US
+402265952,402265967,CA
+402265968,402266143,US
+402266144,402266175,CA
+402266176,402266215,US
+402266216,402266287,CA
402266288,402266303,US
402266304,402266311,CA
402266312,402266319,US
@@ -6276,51 +6174,51 @@
402266344,402266351,CA
402266352,402266359,US
402266360,402266367,CA
-402266368,402266719,US
-402266720,402266727,CA
+402266368,402266655,US
+402266656,402266671,CA
+402266672,402266703,US
+402266704,402266727,CA
402266728,402266735,NO
402266736,402266751,US
-402266752,402266815,CA
-402266816,402266879,US
-402266880,402267391,CA
+402266752,402266831,CA
+402266832,402266847,US
+402266848,402267391,CA
402267392,402267423,US
402267424,402267439,CA
-402267440,402267647,US
-402267648,402267903,CA
-402267904,402268159,US
-402268160,402269191,CA
-402269192,402269207,US
+402267440,402267455,US
+402267456,402267471,CA
+402267472,402267487,US
+402267488,402267519,CA
+402267520,402267647,US
+402267648,402269199,CA
+402269200,402269207,US
402269208,402269215,CA
402269216,402269223,US
-402269224,402269231,CA
-402269232,402269247,US
-402269248,402269263,CA
+402269224,402269263,CA
402269264,402269455,US
-402269456,402269463,CA
-402269464,402269503,US
-402269504,402269519,CA
+402269456,402269519,CA
402269520,402269535,US
402269536,402269551,CA
402269552,402269567,US
402269568,402269583,CA
402269584,402269591,US
-402269592,402269599,CA
-402269600,402269647,US
-402269648,402269663,CA
-402269664,402269695,US
-402269696,402269767,CA
+402269592,402269631,CA
+402269632,402269647,US
+402269648,402269767,CA
402269768,402269967,US
402269968,402269983,CA
-402269984,402270207,US
-402270208,402270223,CA
-402270224,402270303,US
-402270304,402270335,CA
+402269984,402270031,US
+402270032,402270047,CA
+402270048,402270207,US
+402270208,402270335,CA
402270336,402270463,US
402270464,402270719,CA
-402270720,402270847,US
-402270848,402270871,CA
-402270872,402270943,US
-402270944,402270975,CA
+402270720,402270783,US
+402270784,402270879,CA
+402270880,402270895,US
+402270896,402270911,CA
+402270912,402270927,US
+402270928,402270975,CA
402270976,402271103,US
402271104,402271119,CA
402271120,402271135,US
@@ -6332,10 +6230,10 @@
402271440,402271455,US
402271456,402271487,CA
402271488,402271615,US
-402271616,402271623,CA
-402271624,402271735,US
-402271736,402271743,CA
-402271744,402272127,US
+402271616,402271631,CA
+402271632,402271735,US
+402271736,402271999,CA
+402272000,402272127,US
402272128,402272255,CA
402272256,402272639,US
402272640,402272663,CA
@@ -6345,37 +6243,33 @@
402272896,402273023,CA
402273024,402273151,US
402273152,402273279,CA
-402273280,402273407,US
-402273408,402273423,CA
-402273424,402273439,US
-402273440,402273471,CA
+402273280,402273327,US
+402273328,402273375,CA
+402273376,402273391,US
+402273392,402273471,CA
402273472,402273503,US
-402273504,402273511,CA
-402273512,402273535,US
-402273536,402273543,CA
-402273544,402273551,FI
-402273552,402273559,CA
-402273560,402273567,US
-402273568,402273599,CA
-402273600,402273919,US
-402273920,402273927,CA
+402273504,402273519,CA
+402273520,402273535,US
+402273536,402273599,CA
+402273600,402273791,US
+402273792,402273927,CA
402273928,402273951,US
402273952,402273983,CA
402273984,402273999,US
-402274000,402274007,CA
-402274008,402274175,US
-402274176,402274183,CA
-402274184,402274191,US
-402274192,402274239,CA
-402274240,402274463,US
+402274000,402274015,CA
+402274016,402274047,US
+402274048,402274239,CA
+402274240,402274287,US
+402274288,402274295,CA
+402274296,402274463,US
402274464,402274479,CA
-402274480,402274815,US
-402274816,402275199,CA
+402274480,402274543,US
+402274544,402275199,CA
402275200,402275335,US
402275336,402275351,CA
402275352,402275359,US
-402275360,402275391,CA
-402275392,402276607,US
+402275360,402275407,CA
+402275408,402276607,US
402276608,402277119,CA
402277120,402277631,US
402277632,402277887,CA
@@ -6384,9 +6278,7 @@
402278016,402278127,US
402278128,402278399,CA
402278400,402278655,US
-402278656,402279167,CA
-402279168,402279423,US
-402279424,402279679,CA
+402278656,402279679,CA
402279680,402279935,US
402279936,402279959,CA
402279960,402279967,US
@@ -6395,26 +6287,20 @@
402280192,402280207,CA
402280208,402280223,US
402280224,402280319,CA
-402280320,402280447,US
-402280448,402280479,CA
+402280320,402280383,US
+402280384,402280399,CA
+402280400,402280415,US
+402280416,402280479,CA
402280480,402281087,US
-402281088,402281103,CA
-402281104,402281119,US
-402281120,402281199,CA
+402281088,402281199,CA
402281200,402281471,US
402281472,402281603,CA
402281604,402281607,US
-402281608,402281623,CA
-402281624,402281631,US
-402281632,402281687,CA
+402281608,402281687,CA
402281688,402281691,US
-402281692,402281703,CA
-402281704,402281711,US
-402281712,402281727,CA
-402281728,402281855,US
-402281856,402281871,CA
-402281872,402281887,US
-402281888,402281991,CA
+402281692,402281727,CA
+402281728,402281823,US
+402281824,402281991,CA
402281992,402281999,US
402282000,402282111,CA
402282112,402282239,US
@@ -6424,48 +6310,52 @@
402282816,402282847,US
402282848,402282879,CA
402282880,402282911,US
-402282912,402282919,CA
-402282920,402283775,US
-402283776,402283903,CA
-402283904,402284031,US
-402284032,402284039,CA
+402282912,402282927,CA
+402282928,402282943,US
+402282944,402282959,CA
+402282960,402282975,US
+402282976,402283007,CA
+402283008,402283775,US
+402283776,402284039,CA
402284040,402284047,US
402284048,402284159,CA
402284160,402284287,US
-402284288,402284799,CA
+402284288,402284351,CA
+402284352,402284415,CN
+402284416,402284799,CA
402284800,402285055,US
-402285056,402285311,CA
-402285312,402285343,US
-402285344,402285375,CA
-402285376,402285439,US
+402285056,402285327,CA
+402285328,402285343,US
+402285344,402285407,CA
+402285408,402285439,US
402285440,402285567,CA
-402285568,402286143,US
-402286144,402286175,CA
-402286176,402286207,US
-402286208,402286303,CA
-402286304,402286927,US
+402285568,402286079,US
+402286080,402286335,CA
+402286336,402286847,US
+402286848,402286863,CA
+402286864,402286895,US
+402286896,402286911,CA
+402286912,402286927,US
402286928,402286935,CA
402286936,402286975,US
402286976,402286983,CA
402286984,402286991,US
402286992,402287207,CA
-402287208,402287231,US
-402287232,402287263,CA
-402287264,402287287,US
-402287288,402287295,CA
-402287296,402287391,US
+402287208,402287215,US
+402287216,402287263,CA
+402287264,402287279,US
+402287280,402287343,CA
+402287344,402287391,US
402287392,402287423,CA
402287424,402287487,US
402287488,402287551,CA
402287552,402287583,US
-402287584,402287607,CA
-402287608,402287615,US
-402287616,402287631,CA
-402287632,402287647,US
-402287648,402287743,CA
+402287584,402287743,CA
402287744,402287799,US
-402287800,402287807,CA
-402287808,402287903,US
+402287800,402287823,CA
+402287824,402287839,US
+402287840,402287887,CA
+402287888,402287903,US
402287904,402288007,CA
402288008,402288015,US
402288016,402288031,CA
@@ -6473,13 +6363,19 @@
402288064,402288135,CA
402288136,402288143,US
402288144,402288159,CA
-402288160,402288191,US
-402288192,402288223,CA
-402288224,402288383,US
+402288160,402288175,US
+402288176,402288223,CA
+402288224,402288255,US
+402288256,402288271,CA
+402288272,402288287,US
+402288288,402288319,CA
+402288320,402288383,US
402288384,402288391,CA
-402288392,402288415,US
-402288416,402288431,CA
-402288432,402288591,US
+402288392,402288399,US
+402288400,402288431,CA
+402288432,402288447,US
+402288448,402288511,CA
+402288512,402288591,US
402288592,402288607,CA
402288608,402288623,US
402288624,402288631,CA
@@ -6492,53 +6388,31 @@
402289064,402289071,US
402289072,402289119,CA
402289120,402289151,US
-402289152,402289159,CA
-402289160,402289163,US
-402289164,402289183,CA
-402289184,402289187,US
-402289188,402289191,CA
-402289192,402289195,US
-402289196,402289199,CA
-402289200,402289207,US
-402289208,402289211,CA
-402289212,402289219,US
-402289220,402289255,CA
-402289256,402289259,US
-402289260,402289263,CA
-402289264,402289267,US
-402289268,402289407,CA
+402289152,402289407,CA
402289408,402289471,US
402289472,402289535,CA
402289536,402289663,US
402289664,402289679,CA
402289680,402289695,US
402289696,402289711,CA
-402289712,402289735,US
-402289736,402289743,CA
+402289712,402289719,US
+402289720,402289743,CA
402289744,402289759,US
402289760,402289775,CA
402289776,402289791,US
-402289792,402289903,CA
-402289904,402290047,US
-402290048,402290135,CA
-402290136,402290143,US
-402290144,402290175,CA
-402290176,402290255,US
+402289792,402289983,CA
+402289984,402290047,US
+402290048,402290239,CA
+402290240,402290255,US
402290256,402290271,CA
402290272,402290287,US
402290288,402290295,CA
402290296,402290303,US
402290304,402290399,CA
402290400,402290407,US
-402290408,402290447,CA
-402290448,402290451,US
-402290452,402290475,CA
-402290476,402290511,US
-402290512,402290543,CA
-402290544,402290547,US
-402290548,402290567,CA
-402290568,402290579,US
-402290580,402290639,CA
+402290408,402290479,CA
+402290480,402290511,US
+402290512,402290639,CA
402290640,402290655,US
402290656,402290687,CA
402290688,402290815,US
@@ -6548,9 +6422,9 @@
402290880,402290919,US
402290920,402290975,CA
402290976,402291007,US
-402291008,402291039,CA
-402291040,402291047,US
-402291048,402291055,CA
+402291008,402291041,CA
+402291042,402291042,US
+402291043,402291055,CA
402291056,402291063,US
402291064,402291087,CA
402291088,402291119,US
@@ -6560,10 +6434,10 @@
402291216,402291263,US
402291264,402291279,CA
402291280,402291287,US
-402291288,402291311,CA
-402291312,402291319,US
-402291320,402291327,CA
-402291328,402291423,US
+402291288,402291327,CA
+402291328,402291359,US
+402291360,402291391,CA
+402291392,402291423,US
402291424,402291439,CA
402291440,402291455,US
402291456,402291711,CA
@@ -6602,31 +6476,33 @@
402409471,402409471,TR
402409472,402410495,US
402410496,402410751,TR
-402410752,402522111,US
-402522112,402522167,CA
-402522168,402522183,US
+402410752,402455295,US
+402455296,402455551,DE
+402455552,402522111,US
+402522112,402522175,CA
+402522176,402522183,US
402522184,402522223,CA
402522224,402522231,US
-402522232,402522247,CA
-402522248,402522255,US
-402522256,402522271,CA
+402522232,402522271,CA
402522272,402522287,US
402522288,402522327,CA
402522328,402522335,US
-402522336,402522359,CA
-402522360,402522367,US
-402522368,402522399,CA
-402522400,402522407,US
-402522408,402522455,CA
-402522456,402522471,US
-402522472,402522479,CA
-402522480,402522655,US
+402522336,402522479,CA
+402522480,402522559,US
+402522560,402522591,CA
+402522592,402522607,US
+402522608,402522623,CA
+402522624,402522655,US
402522656,402522679,CA
-402522680,402522919,US
-402522920,402522927,CA
-402522928,402522975,US
-402522976,402522983,CA
-402522984,402523103,US
+402522680,402522911,US
+402522912,402522943,CA
+402522944,402522975,US
+402522976,402522991,CA
+402522992,402523007,US
+402523008,402523023,CA
+402523024,402523039,US
+402523040,402523071,CA
+402523072,402523103,US
402523104,402523111,CA
402523112,402523135,US
402523136,402523167,CA
@@ -6635,10 +6511,10 @@
402523424,402523447,US
402523448,402523455,CA
402523456,402523487,US
-402523488,402523495,CA
-402523496,402523647,US
-402523648,402523671,CA
-402523672,402523711,US
+402523488,402523503,CA
+402523504,402523647,US
+402523648,402523679,CA
+402523680,402523711,US
402523712,402523743,CA
402523744,402524159,US
402524160,402524191,CA
@@ -6646,54 +6522,70 @@
402524256,402524263,CA
402524264,402524271,FI
402524272,402524279,CA
-402524280,402524447,US
+402524280,402524351,US
+402524352,402524383,CA
+402524384,402524415,US
+402524416,402524431,CA
+402524432,402524447,US
402524448,402524479,CA
402524480,402524575,US
-402524576,402524583,CA
-402524584,402524607,US
+402524576,402524591,CA
+402524592,402524607,US
402524608,402524639,CA
402524640,402524663,US
402524664,402524671,CA
402524672,402524799,US
402524800,402524831,CA
402524832,402524895,US
-402524896,402524903,CA
-402524904,402524911,US
-402524912,402524927,CA
+402524896,402524927,CA
402524928,402524959,US
-402524960,402524975,CA
-402524976,402525007,US
+402524960,402524991,CA
+402524992,402525007,US
402525008,402525023,CA
-402525024,402525375,US
-402525376,402525391,CA
-402525392,402525407,US
-402525408,402525415,CA
-402525416,402525423,NO
-402525424,402525431,CA
-402525432,402526559,US
-402526560,402526655,CA
+402525024,402525055,US
+402525056,402525087,CA
+402525088,402525103,US
+402525104,402525119,CA
+402525120,402525167,US
+402525168,402525183,CA
+402525184,402525279,US
+402525280,402525295,CA
+402525296,402525375,US
+402525376,402525439,CA
+402525440,402526079,US
+402526080,402526207,CA
+402526208,402526527,US
+402526528,402526655,CA
402526656,402526671,US
402526672,402526687,CA
402526688,402526719,US
402526720,402526975,CA
402526976,402527359,US
-402527360,402527383,CA
-402527384,402527743,US
-402527744,402527999,CA
-402528000,402528415,US
-402528416,402528447,CA
-402528448,402529535,US
+402527360,402527391,CA
+402527392,402527615,US
+402527616,402527679,CA
+402527680,402527743,US
+402527744,402528255,CA
+402528256,402528383,US
+402528384,402528447,CA
+402528448,402528511,US
+402528512,402528767,CA
+402528768,402529535,US
402529536,402529791,CA
-402529792,402530175,US
-402530176,402530303,CA
+402529792,402530047,US
+402530048,402530303,CA
402530304,402530559,US
402530560,402531071,CA
-402531072,402531839,US
+402531072,402531327,US
+402531328,402531583,CA
+402531584,402531839,US
402531840,402531935,CA
-402531936,402532095,US
-402532096,402532159,CA
-402532160,402532287,US
-402532288,402532351,CA
+402531936,402532031,US
+402532032,402532159,CA
+402532160,402532231,US
+402532232,402532247,CA
+402532248,402532255,US
+402532256,402532351,CA
402532352,402532863,US
402532864,402532887,CA
402532888,402532895,US
@@ -6705,46 +6597,57 @@
402533000,402533007,US
402533008,402533015,CA
402533016,402533023,US
-402533024,402533031,CA
-402533032,402533039,SE
+402533024,402533039,CA
402533040,402533055,US
402533056,402533111,CA
402533112,402533279,US
402533280,402533295,CA
-402533296,402533343,US
+402533296,402533311,US
+402533312,402533327,CA
+402533328,402533343,US
402533344,402533375,CA
402533376,402533759,US
402533760,402533791,CA
402533792,402533887,US
402533888,402533903,CA
-402533904,402534015,US
+402533904,402533919,US
+402533920,402533935,CA
+402533936,402534015,US
402534016,402534079,CA
402534080,402534095,US
-402534096,402534103,CA
-402534104,402534143,US
+402534096,402534111,CA
+402534112,402534143,US
402534144,402534175,CA
-402534176,402534479,US
+402534176,402534255,US
+402534256,402534271,CA
+402534272,402534319,US
+402534320,402534399,CA
+402534400,402534479,US
402534480,402534487,CA
-402534488,402536191,US
+402534488,402534655,US
+402534656,402535423,CA
+402535424,402536191,US
402536192,402536255,CA
-402536256,402536351,US
+402536256,402536287,US
+402536288,402536303,CA
+402536304,402536351,US
402536352,402536367,CA
402536368,402536383,US
402536384,402536391,CA
402536392,402536399,US
-402536400,402536431,CA
-402536432,402536447,US
-402536448,402536455,CA
+402536400,402536455,CA
402536456,402536463,US
402536464,402536479,CA
402536480,402536527,US
402536528,402536543,CA
-402536544,402536703,US
+402536544,402536575,US
+402536576,402536639,CA
+402536640,402536703,US
402536704,402536959,CA
402536960,402537215,US
402537216,402537279,CA
-402537280,402537407,US
-402537408,402537471,CA
+402537280,402537367,US
+402537368,402537471,CA
402537472,402537983,US
402537984,402538239,CA
402538240,402538687,US
@@ -6753,24 +6656,24 @@
402538752,402538759,CA
402538760,402538767,US
402538768,402538815,CA
-402538816,402538895,US
+402538816,402538863,US
+402538864,402538879,CA
+402538880,402538895,US
402538896,402538911,CA
402538912,402538927,US
-402538928,402538943,CA
-402538944,402538975,US
+402538928,402538959,CA
+402538960,402538975,US
402538976,402539071,CA
402539072,402539087,US
-402539088,402539095,SE
-402539096,402539103,US
-402539104,402539119,CA
-402539120,402539199,US
+402539088,402539135,CA
+402539136,402539199,US
402539200,402539327,CA
402539328,402539455,US
-402539456,402539535,CA
-402539536,402539647,US
+402539456,402539583,CA
+402539584,402539647,US
402539648,402539711,CA
-402539712,402540287,US
-402540288,402541119,CA
+402539712,402540031,US
+402540032,402541119,CA
402541120,402541247,US
402541248,402541311,CA
402541312,402541567,US
@@ -6780,23 +6683,23 @@
402543168,402543295,US
402543296,402543303,CA
402543304,402543311,US
-402543312,402543319,CA
-402543320,402543343,US
-402543344,402543351,CA
-402543352,402543359,US
-402543360,402543367,CA
+402543312,402543327,CA
+402543328,402543343,US
+402543344,402543367,CA
402543368,402543375,US
402543376,402543391,CA
402543392,402543487,US
402543488,402543551,CA
-402543552,402543599,US
-402543600,402543607,CA
+402543552,402543583,US
+402543584,402543607,CA
402543608,402544415,US
402544416,402544423,CA
-402544424,402544511,US
+402544424,402544479,US
+402544480,402544495,CA
+402544496,402544511,US
402544512,402544551,CA
-402544552,402544599,US
-402544600,402544607,CA
+402544552,402544591,US
+402544592,402544607,CA
402544608,402546687,US
402546688,402546943,CA
402546944,402547455,US
@@ -6845,7 +6748,19 @@
405184512,405364735,US
405364736,405368831,CA
405368832,405372927,JP
-405372928,405422079,PR
+405372928,405373439,PR
+405373440,405373695,US
+405373696,405375999,PR
+405376000,405376255,US
+405376256,405379071,PR
+405379072,405380095,US
+405380096,405382399,PR
+405382400,405382655,US
+405382656,405388287,PR
+405388288,405388543,US
+405388544,405389311,PR
+405389312,405389823,US
+405389824,405422079,PR
405422080,405798911,US
405798912,405831679,CA
405831680,405843967,US
@@ -6857,7 +6772,9 @@
405938176,405962751,CA
405962752,405970943,US
405970944,405979135,CA
-405979136,405995519,PR
+405979136,405990655,PR
+405990656,405990911,US
+405990912,405995519,PR
405995520,406011903,US
406011904,406028287,BS
406028288,406052863,US
@@ -6912,9 +6829,9 @@
411303936,411369471,NL
411369472,411435007,TR
411435008,411500543,DE
-411500544,411509759,RS
-411509760,411510783,XK
-411510784,411566079,RS
+411500544,411509247,RS
+411509248,411509759,XK
+411509760,411566079,RS
411566080,411639807,US
411639808,411664383,CA
411664384,411680767,US
@@ -6953,7 +6870,9 @@
413925376,415760383,US
415760384,416022527,CA
416022528,416059391,US
-416059392,416088063,CA
+416059392,416065535,CA
+416065536,416067583,US
+416067584,416088063,CA
416088064,416153599,US
416153600,416161791,BS
416161792,416219135,US
@@ -6980,8 +6899,7 @@
417808384,417820671,CA
417820672,417857535,US
417857536,417923071,AR
-417923072,418059775,US
-418059776,418060287,GB
+417923072,418060287,US
418060288,418062335,HK
418062336,418070527,CA
418070528,418078719,US
@@ -7148,10 +7066,7 @@
460226560,460259327,PH
460259328,460261375,AU
460261376,460262399,KH
-460262400,460262655,US
-460262656,460262911,AU
-460262912,460263167,NZ
-460263168,460263423,GB
+460262400,460263423,NZ
460263424,460267519,NP
460267520,460275711,ID
460275712,460277759,AU
@@ -7249,13 +7164,15 @@
461104128,461104383,CN
461104384,461104639,HK
461104640,461105151,JP
-461105152,461106175,CN
+461105152,461106175,HK
461106176,461107199,JP
461107200,461108223,IN
461108224,461109247,BD
461109248,461110271,IN
461110272,461111295,BD
-461111296,461127679,IN
+461111296,461119487,IN
+461119488,461123583,KH
+461123584,461127679,IN
461127680,461131775,PH
461131776,461135871,ID
461135872,461143295,AU
@@ -7482,7 +7399,8 @@
521014016,521014271,NL
521014272,521018367,RO
521018368,521018623,IT
-521018624,521019135,RO
+521018624,521018879,DE
+521018880,521019135,RO
521019136,521019391,GB
521019392,521019647,NL
521019648,521019903,RS
@@ -7571,9 +7489,7 @@
521601024,521666559,RU
521666560,521668607,GB
521668608,521670655,CH
-521670656,521670911,HU
-521670912,521671935,DE
-521671936,521672703,HU
+521670656,521672703,HU
521672704,521674751,RU
521674752,521676799,GB
521676800,521678847,ES
@@ -7676,13 +7592,30 @@
522715136,522717183,IR
522717184,522719231,RU
522719232,522721279,UA
-522721280,522723327,UZ
+522721280,522722303,RU
+522722304,522723327,UZ
522723328,522741759,RU
522741760,522743807,UA
-522743808,522751999,RU
-522752000,522758143,UA
-522758144,522759167,RU
-522759168,522764287,UA
+522743808,522747973,RU
+522747974,522747974,UA
+522747975,522765311,RU
+522765312,522766335,TR
+522766336,522767359,RU
+522767360,522768383,TR
+522768384,522768895,US
+522768896,522769407,CN
+522769408,522770431,DE
+522770432,522771455,NL
+522771456,522772479,TR
+522772480,522773503,RO
+522773504,522774527,TR
+522774528,522775551,LT
+522775552,522776575,CH
+522776576,522777599,MD
+522777600,522778623,ES
+522778624,522779135,GB
+522779136,522779647,RU
+522779648,522780671,US
522780672,522782719,RU
522782720,522784767,UA
522784768,522786815,BG
@@ -7849,7 +7782,7 @@
528836608,528838655,RU
528838656,528840703,PL
528840704,528842751,RU
-528842752,528859135,TH
+528842752,528859135,CH
528859136,528861183,RO
528861184,528863231,RU
528863232,528867327,KZ
@@ -7907,7 +7840,9 @@
529829888,529830911,UZ
529830912,529831935,RU
529831936,529833983,SY
-529833984,529836799,RU
+529833984,529836031,RU
+529836032,529836287,UA
+529836288,529836799,RU
529836800,529837055,UA
529837056,529837823,RU
529837824,529842175,UA
@@ -7961,9 +7896,7 @@
531200000,531201023,DE
531201024,531202047,BG
531202048,531234815,CZ
-531234816,531236607,IE
-531236608,531236671,GB
-531236672,531236863,IE
+531234816,531236863,IE
531236864,531238911,FR
531238912,531240959,LV
531240960,531243007,SE
@@ -7985,10 +7918,10 @@
531281920,531283967,RU
531283968,531292159,DE
531292160,531333119,AZ
-531333120,531334143,NL
-531334144,531334399,US
-531334400,531334527,NL
-531334528,531335167,US
+531333120,531333247,NL
+531333248,531334015,US
+531334016,531334143,NL
+531334144,531335167,US
531335168,531337215,IT
531337216,531339263,CH
531339264,531341311,AL
@@ -8011,12 +7944,39 @@
531402752,531404799,LU
531404800,531406847,FI
531406848,531408895,FR
-531408896,531409919,PL
+531408896,531409407,DE
+531409408,531409919,NL
531409920,531410943,FR
531410944,531415039,PL
531415040,531423231,RU
531423232,531424255,LT
-531424256,531427327,FR
+531424256,531425295,FR
+531425296,531425311,GB
+531425312,531425327,FR
+531425328,531425343,GB
+531425344,531425391,FR
+531425392,531425407,GB
+531425408,531425791,FR
+531425792,531425823,GB
+531425824,531425839,FR
+531425840,531425871,GB
+531425872,531425879,FR
+531425880,531425951,GB
+531425952,531425983,FR
+531425984,531426015,GB
+531426016,531426751,FR
+531426752,531426791,GB
+531426792,531426863,FR
+531426864,531426867,GB
+531426868,531426875,FR
+531426876,531426879,GB
+531426880,531426907,FR
+531426908,531426911,GB
+531426912,531427023,FR
+531427024,531427039,GB
+531427040,531427047,FR
+531427048,531427071,GB
+531427072,531427327,FR
531427328,531427503,GB
531427504,531427511,IT
531427512,531427967,GB
@@ -8089,22 +8049,9 @@
532303872,532305919,PL
532305920,532307967,NO
532307968,532310015,RU
-532310016,532310016,GR
-532310017,532310271,BG
-532310272,532310272,GR
-532310273,532310527,BG
-532310528,532310528,GR
-532310529,532310783,BG
-532310784,532310784,GR
-532310785,532311039,BG
-532311040,532311040,GR
-532311041,532311295,BG
-532311296,532311296,GR
-532311297,532311551,BG
-532311552,532311552,GR
-532311553,532311807,BG
-532311808,532311808,GR
-532311809,532312063,BG
+532310016,532310023,GR
+532310024,532310031,BG
+532310032,532312063,GR
532312064,532312983,JE
532312984,532312991,GB
532312992,532314111,JE
@@ -8116,9 +8063,7 @@
532332544,532340735,SK
532340736,532341503,GB
532341504,532341759,DE
-532341760,532343967,GB
-532343968,532343983,US
-532343984,532344319,GB
+532341760,532344319,GB
532344320,532344371,FR
532344372,532344372,GB
532344373,532344575,FR
@@ -8147,7 +8092,7 @@
532368640,532370431,DE
532370432,532371455,FI
532371456,532372479,DE
-532372480,532372735,EE
+532372480,532372735,FR
532372736,532372767,GB
532372768,532372783,CA
532372784,532372799,BR
@@ -8157,17 +8102,18 @@
532372864,532372895,IT
532372896,532372959,SE
532372960,532372991,RU
-532372992,532373247,EE
+532372992,532373247,FR
532373248,532373343,DE
-532373344,532373503,CH
+532373344,532373503,EE
532373504,532375551,RU
532375552,532377599,IT
532377600,532381695,DE
532381696,532414463,NL
532414464,532676607,IT
532676608,532692991,GE
-532692992,532700927,CZ
-532700928,532701183,SK
+532692992,532701153,CZ
+532701154,532701154,SK
+532701155,532701183,CZ
532701184,532703231,GB
532703232,532705279,RU
532705280,532709375,NL
@@ -8182,7 +8128,9 @@
532742144,532746239,GB
532746240,532750636,IT
532750637,532750637,SM
-532750638,532752383,IT
+532750638,532750847,IT
+532750848,532751359,SM
+532751360,532752383,IT
532752384,532754431,BE
532754432,532756479,FR
532756480,532758527,IT
@@ -8259,9 +8207,7 @@
533815296,533815296,TR
533815297,533816319,CY
533816320,533816320,TR
-533816321,533817343,CY
-533817344,533817599,TR
-533817600,533819391,CY
+533816321,533819391,CY
533819392,533823487,DE
533823488,533825535,BE
533825536,533831679,IS
@@ -8325,7 +8271,9 @@
534158592,534158847,NL
534158848,534161407,DE
534161408,534163455,IR
-534163456,534167551,ES
+534163456,534166527,ES
+534166528,534166783,DE
+534166784,534167551,ES
534167552,534169599,DE
534169600,534170111,IR
534170112,534176767,DE
@@ -8410,7 +8358,8 @@
534519808,534521855,US
534521856,534522367,DE
534522368,534523391,NL
-534523392,534527999,US
+534523392,534523903,RU
+534523904,534527999,US
534528000,534530047,DE
534530048,534538239,ES
534538240,534538751,US
@@ -8450,8 +8399,17 @@
534767616,534769663,HU
534769664,534773759,IT
534773760,536870911,DE
-536870912,539623423,US
-539623424,539627519,NL
+536870912,538451849,US
+538451850,538451850,SG
+538451851,539471492,US
+539471493,539471493,SG
+539471494,539623423,US
+539623424,539624577,GB
+539624578,539624578,NL
+539624579,539625471,GB
+539625472,539626751,NL
+539626752,539627007,GB
+539627008,539627519,NL
539627520,539629455,GB
539629456,539629463,BE
539629464,539629975,GB
@@ -8480,26 +8438,24 @@
540725248,540727295,FR
540727296,540729343,DE
540729344,540731391,US
-540731392,540737535,GB
-540737536,540753919,BR
-540753920,540758015,AR
-540758016,540803071,BR
+540731392,540735487,GB
+540735488,540737535,NL
+540737536,540803071,BR
540803072,540811263,US
540811264,540814084,SG
540814085,540814086,TH
540814087,540814327,SG
540814328,540814328,IN
-540814329,540817075,SG
-540817076,540817076,AU
-540817077,540817407,SG
-540817408,540817663,AE
-540817664,540819455,SG
-540819456,540823551,CA
-540823552,540825347,US
+540814329,540819455,SG
+540819456,540820959,US
+540820960,540820975,CA
+540820976,540825347,US
540825348,540825348,CA
540825349,540826383,US
540826384,540826399,CA
-540826400,540829695,US
+540826400,540829183,US
+540829184,540829439,CA
+540829440,540829695,US
540829696,540833791,CA
540833792,543524607,US
543524608,543524863,CA
@@ -8561,9 +8517,7 @@
544250496,544250499,GB
544250500,544250527,US
544250528,544250531,GB
-544250532,544433151,US
-544433152,544434175,CA
-544434176,544436771,US
+544250532,544436771,US
544436772,544436775,CA
544436776,586153983,US
586153984,587006719,IE
@@ -8578,7 +8532,9 @@
598999040,599064575,FR
599064576,599130111,US
599130112,599261183,CA
-599261184,599359487,US
+599261184,599302155,US
+599302156,599302156,BE
+599302157,599359487,US
599359488,599375871,SG
599375872,599429472,US
599429473,599429473,SG
@@ -8590,7 +8546,9 @@
599615126,599615126,GB
599615127,599621631,US
599621632,599638015,SG
-599638016,600153368,US
+599638016,599954782,US
+599954783,599954783,TW
+599954784,600153368,US
600153369,600153369,SG
600153370,600164504,US
600164505,600164505,IE
@@ -8600,23 +8558,39 @@
600171165,600171165,GB
600171166,600243604,US
600243605,600243605,SG
-600243606,600342898,US
+600243606,600338115,US
+600338116,600338116,JP
+600338117,600342898,US
600342899,600342899,IN
600342900,600356283,US
600356284,600356284,IN
-600356285,600374233,US
+600356285,600371328,US
+600371329,600371329,IN
+600371330,600374233,US
600374234,600374234,IN
-600374235,600376938,US
+600374235,600375075,US
+600375076,600375076,IN
+600375077,600376938,US
600376939,600376939,AU
600376940,600406997,US
600406998,600406998,BE
600406999,600506957,US
600506958,600506958,CA
-600506959,602150057,US
+600506959,600637695,US
+600637696,600637951,BE
+600637952,602150057,US
602150058,602150058,FI
-602150059,602574473,US
+602150059,602337535,US
+602337536,602337663,JP
+602337664,602574473,US
602574474,602574474,GB
-602574475,602992238,US
+602574475,602595455,US
+602595456,602595583,AU
+602595584,602603647,US
+602603648,602603775,BR
+602603776,602615935,US
+602615936,602616063,GB
+602616064,602992238,US
602992239,602992239,SG
602992240,603979775,US
603979776,603980799,CN
@@ -8660,8 +8634,11 @@
620715008,620716031,AU
620716032,620716287,TW
620716288,620716543,PH
-620716544,620716799,BE
-620716800,620718079,PK
+620716544,620716799,SG
+620716800,620717000,IN
+620717001,620717001,PK
+620717002,620717055,IN
+620717056,620718079,PK
620718080,620718591,MV
620718592,620719103,PH
620719104,620720127,IN
@@ -8691,7 +8668,7 @@
620745728,620745983,SG
620745984,620746751,PK
620746752,620747775,JP
-620747776,620748799,CN
+620747776,620748799,HK
620748800,620751871,IN
620751872,620752895,JP
620752896,620753919,IN
@@ -8781,7 +8758,8 @@
621417472,621417727,DE
621417728,621418495,NL
621418496,621419007,US
-621419008,621419519,CN
+621419008,621419263,CN
+621419264,621419519,SG
621419520,621421055,NL
621421056,621421567,US
621421568,621422591,NL
@@ -8831,7 +8809,9 @@
621938688,621939458,GE
621939459,621939459,RU
621939460,621939711,GE
-621939712,621969407,RU
+621939712,621953023,RU
+621953024,621955071,NL
+621955072,621969407,RU
621969408,621970431,GB
621970432,621971455,ES
621971456,621973503,IM
@@ -8909,7 +8889,7 @@
622518784,622519039,DE
622519040,622519295,GB
622519296,622519551,FR
-622519552,622520319,GB
+622519552,622520319,NL
622520320,622522367,RU
622522368,622524415,FR
622524416,622526463,ES
@@ -8974,8 +8954,12 @@
623097739,623116287,ES
623116288,623191332,KW
623191333,623191333,SA
-623191334,623378431,KW
-623378432,623509503,OM
+623191334,623339519,KW
+623339520,623339775,IT
+623339776,623378431,KW
+623378432,623386623,OM
+623386624,623388671,GB
+623388672,623509503,OM
623509504,623575807,SA
623575808,623576063,RO
623576064,623640575,SA
@@ -8988,7 +8972,22 @@
623654912,623656959,IR
623656960,623673343,BY
623673344,623689727,NO
-623689728,623693823,RU
+623689728,623690751,RU
+623690752,623691263,PL
+623691264,623693823,RU
+623693824,623694847,CZ
+623694848,623695871,LT
+623695872,623696895,JP
+623696896,623697919,AT
+623697920,623698943,MC
+623698944,623699967,TR
+623699968,623700991,UA
+623700992,623702015,FR
+623702016,623703039,BE
+623703040,623704063,DE
+623704064,623705087,DK
+623705088,623705599,NL
+623705600,623706111,US
623706112,623771647,BY
623771648,623773695,GB
623773696,623774719,DE
@@ -9023,7 +9022,9 @@
623826944,623827967,UA
623827968,623828991,BG
623828992,623837183,UA
-623837184,623902719,PL
+623837184,623885999,PL
+623886000,623886015,GB
+623886016,623902719,PL
623902720,623919103,CZ
623919104,623935487,NL
623935488,623960063,SY
@@ -9054,11 +9055,15 @@
624625849,624625849,CA
624625850,624640071,FR
624640072,624640075,PL
-624640076,624640119,FR
+624640076,624640091,FR
+624640092,624640095,PL
+624640096,624640119,FR
624640120,624640127,DE
624640128,624640147,FR
624640148,624640159,DE
-624640160,624640187,FR
+624640160,624640175,FR
+624640176,624640183,PL
+624640184,624640187,FR
624640188,624640191,GB
624640192,624640255,FR
624640256,624640259,GB
@@ -9077,7 +9082,9 @@
624640828,624640831,DE
624640832,624640931,FR
624640932,624640935,ES
-624640936,624641183,FR
+624640936,624641067,FR
+624641068,624641071,PL
+624641072,624641183,FR
624641184,624641187,CZ
624641188,624641191,ES
624641192,624641375,FR
@@ -9086,7 +9093,9 @@
624641536,624641551,IE
624641552,624641855,FR
624641856,624641887,GB
-624641888,624642035,FR
+624641888,624642019,FR
+624642020,624642023,PL
+624642024,624642035,FR
624642036,624642039,ES
624642040,624642299,FR
624642300,624642303,ES
@@ -9096,9 +9105,13 @@
624642480,624642483,GB
624642484,624642527,FR
624642528,624642559,DE
-624642560,624642711,FR
+624642560,624642639,FR
+624642640,624642651,PL
+624642652,624642711,FR
624642712,624642719,PL
-624642720,624642815,FR
+624642720,624642727,FR
+624642728,624642735,PL
+624642736,624642815,FR
624642816,624642831,LT
624642832,624642911,FR
624642912,624642943,IE
@@ -9116,7 +9129,9 @@
624643344,624643351,ES
624643352,624643423,FR
624643424,624643459,ES
-624643460,624643791,FR
+624643460,624643487,FR
+624643488,624643503,PL
+624643504,624643791,FR
624643792,624643807,DE
624643808,624643811,FR
624643812,624643815,CH
@@ -9132,13 +9147,18 @@
624644304,624644307,IE
624644308,624644667,FR
624644668,624644671,DK
-624644672,624644939,FR
+624644672,624644687,FR
+624644688,624644695,PL
+624644696,624644735,FR
+624644736,624644767,PL
+624644768,624644939,FR
624644940,624644943,ES
624644944,624645183,FR
624645184,624645215,ES
624645216,624645479,FR
624645480,624645487,CZ
-624645488,624645583,FR
+624645488,624645579,FR
+624645580,624645583,PL
624645584,624645591,GB
624645592,624645663,FR
624645664,624645695,PT
@@ -9164,14 +9184,19 @@
624646776,624646847,FR
624646848,624646911,DE
624646912,624646927,LT
-624646928,624647171,FR
+624646928,624646987,FR
+624646988,624646991,PL
+624646992,624647127,FR
+624647128,624647135,PL
+624647136,624647171,FR
624647172,624647183,ES
624647184,624647459,FR
624647460,624647463,GB
624647464,624647675,FR
624647676,624647679,ES
624647680,624647935,DE
-624647936,624648139,FR
+624647936,624648135,FR
+624648136,624648139,PL
624648140,624648143,ES
624648144,624656727,FR
624656728,624656731,PT
@@ -9194,7 +9219,9 @@
624657472,624657475,DE
624657476,624657543,FR
624657544,624657547,ES
-624657548,624657615,FR
+624657548,624657567,FR
+624657568,624657583,PL
+624657584,624657615,FR
624657616,624657631,GB
624657632,624657711,FR
624657712,624657715,ES
@@ -9215,28 +9242,41 @@
624658272,624658279,PT
624658280,624658323,FR
624658324,624658327,IE
-624658328,624658479,FR
+624658328,624658391,FR
+624658392,624658395,PL
+624658396,624658479,FR
624658480,624658483,DE
624658484,624658487,ES
624658488,624658535,FR
624658536,624658539,ES
-624658540,624658559,FR
+624658540,624658543,PL
+624658544,624658559,FR
624658560,624658591,LT
-624658592,624658803,FR
+624658592,624658639,FR
+624658640,624658655,PL
+624658656,624658803,FR
624658804,624658807,CZ
624658808,624658863,FR
624658864,624658879,ES
624658880,624658967,FR
624658968,624658971,DE
-624658972,624659071,FR
+624658972,624658983,FR
+624658984,624658987,PL
+624658988,624659071,FR
624659072,624659135,ES
-624659136,624659599,FR
+624659136,624659319,FR
+624659320,624659323,PL
+624659324,624659407,FR
+624659408,624659415,PL
+624659416,624659599,FR
624659600,624659607,ES
624659608,624659611,FR
624659612,624659615,PL
624659616,624659975,FR
624659976,624659983,LT
-624659984,624660103,FR
+624659984,624659987,FR
+624659988,624659991,PL
+624659992,624660103,FR
624660104,624660107,PT
624660108,624660127,FR
624660128,624660131,IE
@@ -9244,7 +9284,9 @@
624660608,624660639,IE
624660640,624660703,FR
624660704,624660719,PL
-624660720,624660827,FR
+624660720,624660803,FR
+624660804,624660807,PL
+624660808,624660827,FR
624660828,624660839,ES
624660840,624660927,FR
624660928,624660991,GB
@@ -9252,7 +9294,9 @@
624661176,624661183,ES
624661184,624661247,FR
624661248,624661251,ES
-624661252,624661787,FR
+624661252,624661503,FR
+624661504,624661759,IT
+624661760,624661787,FR
624661788,624661788,RO
624661789,624661863,FR
624661864,624661871,ES
@@ -9264,7 +9308,11 @@
624662316,624662319,ES
624662320,624662327,FR
624662328,624662331,PT
-624662332,624662815,FR
+624662332,624662639,FR
+624662640,624662647,PL
+624662648,624662783,FR
+624662784,624662799,PL
+624662800,624662815,FR
624662816,624662847,DE
624662848,624662895,FR
624662896,624662911,ES
@@ -9274,9 +9322,9 @@
624663504,624663519,ES
624663520,624663567,FR
624663568,624663583,ES
-624663584,624663687,FR
-624663688,624663695,GB
-624663696,624663759,FR
+624663584,624663591,FR
+624663592,624663595,NL
+624663596,624663759,FR
624663760,624663767,ES
624663768,624663787,FR
624663788,624663791,ES
@@ -9290,7 +9338,9 @@
624664048,624664063,IE
624664064,624664067,FR
624664068,624664071,ES
-624664072,624664351,FR
+624664072,624664107,FR
+624664108,624664111,PL
+624664112,624664351,FR
624664352,624664367,ES
624664368,624664527,FR
624664528,624664531,ES
@@ -9314,7 +9364,9 @@
624665612,624665615,ES
624665616,624665663,FR
624665664,624665695,ES
-624665696,624665887,FR
+624665696,624665799,FR
+624665800,624665803,PL
+624665804,624665887,FR
624665888,624665903,PL
624665904,624665919,FI
624665920,624665999,FR
@@ -9339,11 +9391,14 @@
624666880,624666883,DE
624666884,624666975,FR
624666976,624666991,ES
-624666992,624667111,FR
+624666992,624666995,PL
+624666996,624667111,FR
624667112,624667115,ES
624667116,624667263,FR
624667264,624667279,IE
-624667280,624667711,FR
+624667280,624667519,FR
+624667520,624667595,PL
+624667596,624667711,FR
624667712,624667775,ES
624667776,624667951,FR
624667952,624667967,GB
@@ -9357,11 +9412,11 @@
624668208,624668211,CZ
624668212,624668239,FR
624668240,624668255,NL
-624668256,624668643,FR
-624668644,624668647,IE
-624668648,624668667,FR
+624668256,624668667,FR
624668668,624668671,PT
-624668672,624668927,FR
+624668672,624668703,FR
+624668704,624668707,PL
+624668708,624668927,FR
624668928,624668931,GB
624668932,624669011,FR
624669012,624669015,DE
@@ -9369,7 +9424,9 @@
624669128,624669131,DE
624669132,624669459,FR
624669460,624669463,FI
-624669464,624669567,FR
+624669464,624669511,FR
+624669512,624669515,PL
+624669516,624669567,FR
624669568,624669571,DE
624669572,624669699,FR
624669700,624669703,DE
@@ -9377,11 +9434,17 @@
624669796,624669799,ES
624669800,624669959,FR
624669960,624669963,ES
-624669964,624669987,FR
-624669988,624669991,ES
-624669992,624670171,FR
+624669964,624670007,FR
+624670008,624670011,PL
+624670012,624670139,FR
+624670140,624670143,PL
+624670144,624670159,FR
+624670160,624670167,PL
+624670168,624670171,FR
624670172,624670175,ES
-624670176,624670315,FR
+624670176,624670271,FR
+624670272,624670303,PL
+624670304,624670315,FR
624670316,624670319,ES
624670320,624670415,FR
624670416,624670431,DE
@@ -9393,14 +9456,17 @@
624670916,624670919,ES
624670920,624670935,FR
624670936,624670939,GB
-624670940,624671287,FR
+624670940,624670959,FR
+624670960,624670975,PL
+624670976,624671287,FR
624671288,624671291,ES
624671292,624671295,PL
624671296,624671455,FR
624671456,624671471,ES
624671472,624671775,FR
624671776,624671807,DE
-624671808,624671839,FR
+624671808,624671823,PL
+624671824,624671839,FR
624671840,624671871,DE
624671872,624672019,FR
624672020,624672023,DE
@@ -9412,7 +9478,9 @@
624672952,624672959,ES
624672960,624673287,FR
624673288,624673295,DE
-624673296,624673451,FR
+624673296,624673407,FR
+624673408,624673423,PL
+624673424,624673451,FR
624673452,624673455,ES
624673456,624673535,FR
624673536,624673631,ES
@@ -9420,7 +9488,9 @@
624673648,624673791,ES
624673792,624673803,FR
624673804,624673807,NL
-624673808,624673903,FR
+624673808,624673839,FR
+624673840,624673855,PL
+624673856,624673903,FR
624673904,624673919,ES
624673920,624673927,FR
624673928,624673931,DE
@@ -9436,7 +9506,9 @@
624674448,624674451,GB
624674452,624674463,FR
624674464,624674479,ES
-624674480,624675023,FR
+624674480,624674719,FR
+624674720,624674735,PL
+624674736,624675023,FR
624675024,624675027,BE
624675028,624675031,DE
624675032,624675047,FR
@@ -9452,7 +9524,9 @@
624675692,624675695,ES
624675696,624675775,FR
624675776,624675779,ES
-624675780,624676003,FR
+624675780,624675903,FR
+624675904,624675919,PL
+624675920,624676003,FR
624676004,624676007,DE
624676008,624676015,FR
624676016,624676019,GB
@@ -9462,7 +9536,9 @@
624676088,624676091,DE
624676092,624676115,FR
624676116,624676119,IT
-624676120,624676179,FR
+624676120,624676143,FR
+624676144,624676159,PL
+624676160,624676179,FR
624676180,624676183,DE
624676184,624676627,FR
624676628,624676631,GB
@@ -9488,7 +9564,9 @@
624678016,624678023,ES
624678024,624678199,FR
624678200,624678239,ES
-624678240,624678263,FR
+624678240,624678255,FR
+624678256,624678259,PL
+624678260,624678263,FR
624678264,624678279,ES
624678280,624678463,FR
624678464,624678479,IE
@@ -9498,23 +9576,32 @@
624678564,624678567,DE
624678568,624678671,FR
624678672,624678679,ES
-624678680,624678847,FR
+624678680,624678723,FR
+624678724,624678727,PL
+624678728,624678847,FR
624678848,624678855,GB
624678856,624678863,FR
624678864,624678879,PT
-624678880,624678899,FR
+624678880,624678887,PL
+624678888,624678899,FR
624678900,624678903,GB
-624678904,624679199,FR
+624678904,624679167,FR
+624679168,624679175,PL
+624679176,624679199,FR
624679200,624679203,ES
624679204,624679259,FR
624679260,624679263,ES
624679264,624679327,FR
624679328,624679335,ES
-624679336,624679423,FR
+624679336,624679407,FR
+624679408,624679411,PL
+624679412,624679423,FR
624679424,624679679,DE
624679680,624679743,FR
624679744,624679747,CZ
-624679748,624679843,FR
+624679748,624679759,FR
+624679760,624679767,PL
+624679768,624679843,FR
624679844,624679847,ES
624679848,624680063,FR
624680064,624680191,ES
@@ -9522,14 +9609,16 @@
624680456,624680463,ES
624680464,624680747,FR
624680748,624680751,NL
-624680752,624680767,FR
+624680752,624680767,PL
624680768,624680783,CZ
624680784,624680799,GB
624680800,624680927,FR
624680928,624680931,DE
624680932,624681023,FR
624681024,624681055,ES
-624681056,624681083,FR
+624681056,624681071,FR
+624681072,624681079,PL
+624681080,624681083,FR
624681084,624681087,ES
624681088,624681095,FR
624681096,624681103,NL
@@ -9537,9 +9626,13 @@
624681364,624681367,CZ
624681368,624681447,FR
624681448,624681451,DE
-624681452,624681535,FR
+624681452,624681463,FR
+624681464,624681467,PL
+624681468,624681535,FR
624681536,624681599,ES
-624681600,624681807,FR
+624681600,624681791,FR
+624681792,624681795,PL
+624681796,624681807,FR
624681808,624681823,BE
624681824,624682263,FR
624682264,624682267,ES
@@ -9551,7 +9644,9 @@
624682496,624682527,ES
624682528,624682623,FR
624682624,624682639,ES
-624682640,624683007,FR
+624682640,624682951,FR
+624682952,624682959,PL
+624682960,624683007,FR
624683008,624683011,GB
624683012,624683015,FR
624683016,624683023,ES
@@ -9567,7 +9662,10 @@
624683340,624683343,ES
624683344,624683631,FR
624683632,624683647,ES
-624683648,624683775,FR
+624683648,624683691,FR
+624683692,624683695,PL
+624683696,624683759,FR
+624683760,624683775,PL
624683776,624683779,DE
624683780,624683783,FR
624683784,624683787,DE
@@ -9587,9 +9685,13 @@
624684192,624684195,CH
624684196,624684339,FR
624684340,624684343,NL
-624684344,624684479,FR
+624684344,624684351,FR
+624684352,624684359,PL
+624684360,624684479,FR
624684480,624684511,FI
-624684512,624684639,FR
+624684512,624684583,FR
+624684584,624684587,PL
+624684588,624684639,FR
624684640,624684655,ES
624684656,624684799,FR
624684800,624684803,DE
@@ -9597,17 +9699,25 @@
624684872,624684879,DE
624684880,624684907,FR
624684908,624684911,ES
-624684912,624685035,FR
+624684912,624684915,PL
+624684916,624685023,FR
+624685024,624685027,PL
+624685028,624685035,FR
624685036,624685039,IT
-624685040,624685375,FR
+624685040,624685087,FR
+624685088,624685095,PL
+624685096,624685375,FR
624685376,624685439,ES
624685440,624685535,FR
624685536,624685539,PT
-624685540,624685683,FR
+624685540,624685679,FR
+624685680,624685683,PL
624685684,624685687,FI
624685688,624685711,FR
624685712,624685715,ES
-624685716,624685799,FR
+624685716,624685791,FR
+624685792,624685795,PL
+624685796,624685799,FR
624685800,624685803,ES
624685804,624685815,FR
624685816,624685823,GB
@@ -9616,7 +9726,8 @@
624685924,624686623,FR
624686624,624686627,DE
624686628,624686631,ES
-624686632,624686667,FR
+624686632,624686663,FR
+624686664,624686667,PL
624686668,624686671,ES
624686672,624686711,FR
624686712,624686719,ES
@@ -9626,19 +9737,25 @@
624686896,624686911,IE
624686912,624687343,FR
624687344,624687346,CZ
-624687347,624687347,ES
-624687348,624687619,FR
+624687347,624687359,FR
+624687360,624687615,ES
+624687616,624687619,FR
624687620,624687623,DE
624687624,624687783,FR
624687784,624687791,PT
624687792,624687827,FR
624687828,624687831,ES
-624687832,624688007,FR
+624687832,624687919,FR
+624687920,624687923,PL
+624687924,624688007,FR
624688008,624688015,ES
624688016,624688031,GB
-624688032,624688307,FR
+624688032,624688039,FR
+624688040,624688047,PL
+624688048,624688303,FR
+624688304,624688307,PL
624688308,624688311,ES
-624688312,624688315,FR
+624688312,624688315,PL
624688316,624688319,GB
624688320,624688435,FR
624688436,624688439,IE
@@ -9660,9 +9777,7 @@
624688792,624688795,ES
624688796,624688831,FR
624688832,624688835,ES
-624688836,624689071,FR
-624689072,624689075,ES
-624689076,624689076,FR
+624688836,624689076,FR
624689077,624689078,BE
624689079,624689151,FR
624689152,624691199,DE
@@ -9742,7 +9857,9 @@
625688576,625704959,MD
625704960,625707007,GE
625707008,625709055,AT
-625709056,625711103,JO
+625709056,625709823,JO
+625709824,625710079,AE
+625710080,625711103,JO
625711104,625713151,NL
625713152,625721343,DK
625721344,625725439,RU
@@ -9769,12 +9886,14 @@
625827840,625829887,IT
625829888,625831935,RU
625831936,625836031,IT
-625836032,625838079,RU
+625836032,625836287,KZ
+625836288,625838079,RU
625838080,625840127,IT
625840128,625842175,RU
625842176,625844223,PL
625844224,625846271,IT
-625846272,625848319,RS
+625846272,625847295,RS
+625847296,625848319,MT
625848320,625854463,GB
625854464,625856511,DE
625856512,625860607,IT
@@ -9833,7 +9952,36 @@
628293632,628359167,UA
628359168,628621311,IT
628621312,628654079,DE
-628654080,628662271,RO
+628654080,628654335,GB
+628654336,628654591,DE
+628654592,628654847,CA
+628654848,628655103,DK
+628655104,628655359,US
+628655360,628655871,GB
+628655872,628656127,IT
+628656128,628656383,FR
+628656384,628656639,CH
+628656640,628657151,US
+628657152,628657407,RO
+628657408,628657663,NL
+628657664,628657919,ES
+628657920,628658175,BE
+628658176,628658431,HU
+628658432,628658687,DK
+628658688,628658943,DE
+628658944,628659199,US
+628659200,628659455,ES
+628659456,628659711,NO
+628659712,628659967,US
+628659968,628660223,SG
+628660224,628660479,BG
+628660480,628660735,SE
+628660736,628660991,JP
+628660992,628661247,AT
+628661248,628661503,PL
+628661504,628661759,US
+628661760,628662015,FR
+628662016,628662271,GB
628662272,628670463,DE
628670464,628685823,RO
628685824,628686335,FO
@@ -10016,14 +10164,11 @@
630720512,630722559,NL
630722560,630726655,PL
630726656,630732799,GB
-630732800,630734079,SE
-630734080,630734847,US
+630732800,630734847,SE
630734848,630736895,IS
630736896,630737919,TR
630737920,630738943,NL
-630738944,630742015,ES
-630742016,630742271,DE
-630742272,630743039,ES
+630738944,630743039,ES
630743040,630751231,SK
630751232,630759423,ES
630759424,630767615,IR
@@ -10133,13 +10278,14 @@
631111680,631177215,ES
631177216,631408581,IT
631408582,631408582,RE
-631408583,631496703,IT
-631496704,631824425,FR
+631408583,631504895,IT
+631504896,631824425,FR
631824426,631824426,BE
631824427,632291327,FR
632291328,632815615,IT
632815616,632946687,BE
-632946688,632954879,AT
+632946688,632952831,AT
+632952832,632954879,SA
632954880,632963071,QA
632963072,632979455,AM
632979456,633012223,IT
@@ -10156,8 +10302,7 @@
633062528,633062847,FR
633062848,633062863,LT
633062864,633063679,FR
-633063680,633063935,PL
-633063936,633064191,FR
+633063680,633064191,PL
633064192,633064447,GB
633064448,633064471,FR
633064472,633064475,DE
@@ -10315,6 +10460,25 @@
635219968,635224063,RU
635224064,635240447,HU
635240448,635256831,IR
+635256832,635257855,RU
+635257856,635258879,CZ
+635258880,635259903,DE
+635259904,635260927,TR
+635260928,635261951,RU
+635261952,635262975,FR
+635262976,635263999,CZ
+635264000,635265023,US
+635265024,635266047,IT
+635266048,635267071,PL
+635267072,635268095,SE
+635268096,635269119,RU
+635269120,635269375,US
+635269376,635269631,GB
+635269632,635269887,DE
+635269888,635270143,US
+635270144,635271167,CZ
+635271168,635272191,DE
+635272192,635273215,LT
635273216,635281407,UA
635281408,635283455,RO
635283456,635283967,DE
@@ -10341,7 +10505,8 @@
635725824,635727871,US
635727872,635729919,RU
635729920,635730431,DE
-635730432,635731967,IE
+635730432,635730943,GB
+635730944,635731967,DE
635731968,635732479,SC
635732480,635732735,DE
635732736,635732991,IR
@@ -10372,8 +10537,9 @@
635865856,635866111,US
635866112,635871487,RU
635871488,635871743,UA
-635871744,635873279,RU
-635873280,635873535,LU
+635871744,635872255,RU
+635872256,635873279,GL
+635873280,635873535,CA
635873536,635874047,US
635874048,635874303,AR
635874304,635874815,SG
@@ -10393,10 +10559,20 @@
635878656,635878911,US
635878912,635879167,FI
635879168,635879423,US
-635879424,635894527,RU
+635879424,635882495,RU
+635882496,635882751,GE
+635882752,635894527,RU
635894528,635894783,KZ
635894784,635895807,RU
-635895808,635961343,KW
+635895808,635922943,KW
+635922944,635923199,IT
+635923200,635942655,KW
+635942656,635942911,IT
+635942912,635951871,KW
+635951872,635952095,IT
+635952096,635952639,KW
+635952640,635952895,IT
+635952896,635961343,KW
635961344,635994111,GE
635994112,636026879,RU
636026880,636043263,MD
@@ -10455,11 +10631,8 @@
636965888,636966655,DE
636966656,636966911,IT
636966912,636967167,DE
-636967168,636967907,FR
-636967908,636967909,GB
-636967910,636967935,FR
-636967936,636968191,DE
-636968192,636968447,ES
+636967168,636967935,FR
+636967936,636968447,ES
636968448,636968455,DE
636968456,636968456,BE
636968457,636968959,DE
@@ -10468,7 +10641,9 @@
636974592,636975103,TR
636975104,636977151,ES
636977152,637140991,PL
-637140992,637206527,SE
+637140992,637164543,SE
+637164544,637165055,DK
+637165056,637206527,SE
637206528,637239295,NL
637239296,637251583,RO
637251584,637251839,US
@@ -10482,9 +10657,9 @@
637258240,637259775,US
637259776,637263871,RO
637263872,637267967,DE
-637267968,637268735,GB
+637267968,637268735,US
637268736,637268991,AU
-637268992,637270015,GB
+637268992,637270015,US
637270016,637272063,RO
637272064,637272831,RU
637272832,637273599,DE
@@ -10541,9 +10716,7 @@
637337088,637337599,RU
637337600,637403135,NO
637403136,637534207,IR
-637534208,637861887,US
-637861888,637870079,NL
-637870080,638662655,US
+637534208,638662655,US
638662656,638664703,CA
638664704,638730239,US
638730240,638738431,CA
@@ -10560,11 +10733,13 @@
639444992,639446015,US
639446016,639446271,CA
639446272,639467519,US
-639467520,639468031,CA
-639468032,639468287,US
-639468288,639471615,CA
-639471616,641738239,US
-641738240,641738495,CA
+639467520,639471615,CA
+639471616,639510527,US
+639510528,639512575,CA
+639512576,639632391,US
+639632392,639632399,MX
+639632400,641737727,US
+641737728,641738495,CA
641738496,641761535,US
641761536,641761791,CA
641761792,641764863,US
@@ -10572,15 +10747,19 @@
641765888,641766399,US
641766400,641767423,CA
641767424,641769471,US
-641769472,641769727,CA
-641769728,641771519,US
-641771520,641772543,CA
-641772544,641773055,US
+641769472,641769983,CA
+641769984,641770495,US
+641770496,641772031,CA
+641772032,641773055,US
641773056,641774641,CA
641774642,641774642,US
641774643,641777919,CA
-641777920,641778687,US
-641778688,641781759,CA
+641777920,641779199,US
+641779200,641779327,CA
+641779328,641779711,US
+641779712,641780735,CA
+641780736,641781503,US
+641781504,641781759,CA
641781760,641789951,US
641789952,641790975,CA
641790976,641791999,US
@@ -10588,30 +10767,44 @@
641794048,641826815,US
641826816,641827327,MX
641827328,641828351,US
-641828352,641828863,MX
-641828864,641829057,US
+641828352,641828991,MX
+641828992,641829057,US
641829058,641829058,MX
-641829059,641829887,US
-641829888,641837055,MX
-641837056,642089215,US
+641829059,641829119,US
+641829120,641829887,MX
+641829888,641830143,US
+641830144,641830399,MX
+641830400,641830911,US
+641830912,641839103,MX
+641839104,642089215,US
642089216,642089727,CA
-642089728,642092543,US
-642092544,642092799,CA
+642089728,642092031,US
+642092032,642092799,CA
642092800,642096127,US
642096128,642096639,CA
-642096640,642113535,US
+642096640,642101247,US
+642101248,642102271,CA
+642102272,642103295,US
+642103296,642105343,CA
+642105344,642113535,US
642113536,642115583,AU
642115584,642385919,US
-642385920,642400255,CA
+642385920,642392063,CA
+642392064,642396159,US
+642396160,642400255,CA
642400256,642793471,US
642793472,642794495,CA
642794496,642797567,US
-642797568,642797823,CA
-642797824,642806015,US
+642797568,642798079,CA
+642798080,642806015,US
642806016,642806271,CA
642806272,643055103,US
643055104,643055615,CA
-643055616,643216639,US
+643055616,643075071,US
+643075072,643075583,AU
+643075584,643211263,US
+643211264,643212287,GP
+643212288,643216639,US
643216640,643216895,GD
643216896,643219519,US
643219520,643219523,CA
@@ -10639,9 +10832,9 @@
643346432,643346943,CA
643346944,643362815,US
643362816,643363327,CA
-643363328,643691519,US
-643691520,643691775,VI
-643691776,644051967,US
+643363328,643595263,US
+643595264,643595775,GB
+643595776,644051967,US
644051968,644052479,MF
644052480,644052735,GP
644052736,644052991,MF
@@ -10650,44 +10843,40 @@
644057600,644058111,US
644058112,644059647,CA
644059648,644060159,US
-644060160,644061183,CA
-644061184,644061439,US
-644061440,644061631,CA
+644060160,644061631,CA
644061632,644061663,US
644061664,644065023,CA
644065024,644065055,US
644065056,644065279,CA
644065280,644066303,US
644066304,644066815,CA
-644066816,644067072,US
-644067073,644067073,CA
-644067074,644067327,US
-644067328,644071935,CA
-644071936,644072805,US
+644066816,644067071,US
+644067072,644067199,CA
+644067200,644067327,US
+644067328,644071423,CA
+644071424,644072805,US
644072806,644072806,CA
-644072807,644083711,US
-644083712,644084735,GU
+644072807,644084223,US
+644084224,644084735,GU
644084736,644207359,US
644207360,644207391,NL
644207392,644210431,US
644210432,644210687,MX
-644210688,644238847,US
-644238848,644239103,CA
-644239104,644239359,US
-644239360,644239871,CA
-644239872,644241407,US
-644241408,644241919,CA
-644241920,644247551,US
+644210688,644239615,US
+644239616,644239871,CA
+644239872,644247551,US
644247552,644249599,CA
-644249600,644268031,US
+644249600,644250623,US
+644250624,644251647,CA
+644251648,644268031,US
644268032,644268569,CA
644268570,644268570,US
644268571,644268613,CA
644268614,644268614,US
644268615,644268891,CA
644268892,644268895,US
-644268896,644276223,CA
-644276224,644323327,US
+644268896,644269055,CA
+644269056,644323327,US
644323328,644325375,CA
644325376,644388863,US
644388864,644390911,CA
@@ -10697,27 +10886,31 @@
644403200,644403695,CA
644403696,644403703,US
644403704,644403711,CA
-644403712,644413439,US
+644403712,644412415,US
+644412416,644412927,MX
+644412928,644413439,US
644413440,644413951,MX
644413952,644414463,CA
644414464,644419327,US
-644419328,644419359,GB
-644419360,644419391,US
-644419392,644419583,GB
+644419328,644419583,GB
644419584,644422911,US
644422912,644423423,JP
-644423424,644569087,US
-644569088,644571135,PR
-644571136,644582399,US
-644582400,644582655,CA
-644582656,644582911,US
-644582912,644583167,CA
+644423424,644569599,US
+644569600,644571135,PR
+644571136,644581375,US
+644581376,644581887,CA
+644581888,644582399,US
+644582400,644583167,CA
644583168,644628735,US
644628736,644628991,CA
644628992,644629759,US
644629760,644630015,CA
-644630016,644634623,US
-644634624,644636671,CA
+644630016,644630271,US
+644630272,644630527,CA
+644630528,644633087,US
+644633088,644633599,CA
+644633600,644634367,US
+644634368,644636671,CA
644636672,644718719,US
644718720,644718783,CA
644718784,644718847,US
@@ -10730,20 +10923,20 @@
644759552,644759807,CA
644759808,644760575,US
644760576,644761599,CA
-644761600,644763647,US
-644763648,644764671,CA
-644764672,644765439,US
-644765440,644772351,CA
+644761600,644763391,US
+644763392,644772351,CA
644772352,644773887,US
644773888,644775935,CA
644775936,644833279,US
-644833280,644834943,CA
-644834944,644835071,US
+644833280,644834815,CA
+644834816,644835071,US
644835072,644835327,CA
644835328,644836351,US
644836352,644837375,CA
644837376,644837887,US
-644837888,644841471,CA
+644837888,644838399,CA
+644838400,644838911,US
+644838912,644841471,CA
644841472,644845839,US
644845840,644845840,RU
644845841,644845841,US
@@ -10757,34 +10950,38 @@
644877440,644877567,US
644877568,644877823,CA
644877824,644896767,US
-644896768,644907007,CA
-644907008,644981759,US
-644981760,644982271,CA
-644982272,644982527,US
+644896768,644902911,CA
+644902912,644903423,US
+644903424,644903935,CA
+644903936,644904959,US
+644904960,644907007,CA
+644907008,644982271,US
+644982272,644982399,CA
+644982400,644982527,US
644982528,644984831,CA
644984832,644986111,US
644986112,644986367,CA
644986368,644987135,US
-644987136,644987903,CA
-644987904,645185535,US
+644987136,644987647,CA
+644987648,645185535,US
645185536,645185791,CA
645185792,645186559,US
645186560,645187583,CA
-645187584,645219327,US
-645219328,645219839,CA
-645219840,645221375,US
-645221376,645222399,CA
-645222400,645222655,US
-645222656,645222911,CA
-645222912,645225471,US
+645187584,645221183,US
+645221184,645223423,CA
+645223424,645225471,US
645225472,645225983,CA
-645225984,645227519,US
+645225984,645226239,US
+645226240,645226495,CA
+645226496,645227519,US
645227520,645228287,CA
645228288,645228543,US
-645228544,645228799,CA
-645228800,645233663,US
+645228544,645229567,CA
+645229568,645233663,US
645233664,645233919,CA
-645233920,645480447,US
+645233920,645234431,US
+645234432,645234687,CA
+645234688,645480447,US
645480448,645482495,CA
645482496,645483775,US
645483776,645484031,CA
@@ -10820,12 +11017,10 @@
645648384,645703679,US
645703680,645705727,MX
645705728,645709823,US
-645709824,645718015,MX
-645718016,645744639,US
-645744640,645746687,IT
-645746688,645873663,US
-645873664,645877759,CA
-645877760,645980159,US
+645709824,645713919,MX
+645713920,645873663,US
+645873664,645875711,CA
+645875712,645980159,US
645980160,645982207,CA
645982208,645982719,US
645982720,645983231,CA
@@ -10845,9 +11040,7 @@
646160384,646164479,CA
646164480,646165503,US
646165504,646168575,CA
-646168576,646193663,US
-646193664,646194175,CA
-646194176,646194612,US
+646168576,646194612,US
646194613,646194613,CA
646194614,646194687,US
646194688,646194943,CA
@@ -10865,25 +11058,31 @@
646254592,646258687,CA
646258688,646262783,US
646262784,646264831,CA
-646264832,646440959,US
-646440960,646441471,GB
-646441472,646711807,US
+646264832,646409215,US
+646409216,646410239,GB
+646410240,646711807,US
646711808,646712319,CA
646712320,646721023,US
646721024,646721535,CA
646721536,646734847,US
646734848,646735359,CA
646735360,646765567,US
-646765568,646765951,CA
-646765952,646766015,US
-646766016,646766591,CA
+646765568,646765985,CA
+646765986,646765986,US
+646765987,646766591,CA
646766592,646840319,US
646840320,646841343,CA
-646841344,646855679,US
+646841344,646852607,US
+646852608,646853631,CA
+646853632,646855679,US
646855680,646856703,CA
646856704,646862847,US
646862848,646863871,CA
-646863872,654311423,US
+646863872,647036927,US
+647036928,647045119,CA
+647045120,647069695,US
+647069696,647073791,CA
+647073792,654311423,US
654311424,654311679,CN
654311680,654311935,AU
654311936,654376959,CN
@@ -10936,62 +11135,20 @@
675435008,675435519,ZA
675435520,675436031,SG
675436032,675436543,IE
-675436544,675447167,US
-675447168,675447295,HK
-675447296,675447423,US
-675447424,675447551,BR
-675447552,675448575,US
-675448576,675449087,GB
-675449088,675449151,US
-675449152,675449215,BR
-675449216,675449471,US
-675449472,675449599,IE
-675449600,675449727,AT
-675449728,675449855,FI
-675449856,675449983,US
-675449984,675450495,FR
-675450496,675450623,NL
-675450624,675450751,MY
-675450752,675450879,US
-675450880,675451007,JP
-675451008,675451391,FR
-675451392,675451519,US
-675451520,675451647,AU
-675451648,675451775,NL
-675451776,675451903,US
-675451904,675452159,HK
-675452160,675452927,US
-675452928,675453055,IE
-675453056,675453439,US
-675453440,675453503,BR
-675453504,675453567,IN
-675453568,675453695,AU
-675453696,675453759,KR
-675453760,675453951,GB
-675453952,675454015,JP
-675454016,675454079,CA
-675454080,675454207,IE
-675454208,675454271,SG
-675454272,675454335,MY
-675454336,675454399,KR
-675454400,675454463,AU
-675454464,675454719,NL
-675454720,675454847,AT
-675454848,675455359,US
-675455360,675455487,JP
-675455488,675455615,GB
-675455616,675455743,AT
-675455744,675455871,NL
-675455872,675455999,FI
-675456000,675456255,ZA
-675456256,675456383,AE
-675456384,675456511,ZA
-675456512,675456895,AE
-675456896,675463167,US
-675463168,675463295,KR
-675463296,675463423,US
-675463424,675463807,KR
-675463808,675528703,US
+675436544,675437055,US
+675437056,675437567,GB
+675437568,675438079,KR
+675438080,675438591,GB
+675438592,675439103,ZA
+675439104,675441151,AU
+675441152,675441663,US
+675441664,675442175,GB
+675442176,675442687,NL
+675442688,675443199,US
+675443200,675443711,GB
+675443712,675444223,NL
+675444224,675444735,SG
+675444736,675528703,US
675528704,675536895,NL
675536896,675545087,IE
675545088,675610623,NL
@@ -11048,7 +11205,9 @@
676199424,676199935,HK
676199936,676199999,US
676200000,676200031,CN
-676200032,676249599,US
+676200032,676200191,US
+676200192,676200319,IE
+676200320,676249599,US
676249600,676251647,IN
676251648,676254207,US
676254208,676254463,NL
@@ -11111,7 +11270,12 @@
676471808,676474879,US
676474880,676475903,JP
676475904,676477951,AE
-676477952,676495359,US
+676477952,676479999,US
+676480000,676482047,DE
+676482048,676484095,US
+676484096,676485119,NO
+676485120,676486143,GB
+676486144,676495359,US
676495360,676503551,KR
676503552,676511743,CA
676511744,676519935,AU
@@ -11146,12 +11310,17 @@
676991040,676991103,AE
676991104,676991135,US
676991136,676991167,JP
-676991168,677019647,US
+676991168,676991263,US
+676991264,676991295,GB
+676991296,676991327,NL
+676991328,677019647,US
677019648,677019663,CA
677019664,677019695,US
677019696,677019727,AE
677019728,677019743,JP
-677019744,677020095,US
+677019744,677019759,US
+677019760,677019775,GB
+677019776,677020095,US
677020096,677020127,IE
677020128,677020159,US
677020160,677020191,NL
@@ -11263,7 +11432,11 @@
677025920,677025951,AE
677025952,677025983,US
677025984,677026015,JP
-677026016,677027839,US
+677026016,677026111,US
+677026112,677026143,GB
+677026144,677026175,US
+677026176,677026303,IE
+677026304,677027839,US
677027840,677036031,SG
677036032,677057535,US
677057536,677058559,IE
@@ -11860,9 +12033,17 @@
678104064,678104319,FR
678104320,678104575,FI
678104576,678104831,AT
-678104832,678117887,US
+678104832,678105087,IE
+678105088,678117887,US
678117888,678118399,CA
-678118400,678150143,US
+678118400,678133759,US
+678133760,678134271,KR
+678134272,678134783,US
+678134784,678135039,KR
+678135040,678135295,HK
+678135296,678136319,US
+678136320,678136831,IN
+678136832,678150143,US
678150144,678150399,FI
678150400,678150655,IE
678150656,678150911,FI
@@ -11870,7 +12051,7 @@
678151168,678151423,NL
678151424,678151679,FI
678151680,678151935,FR
-678151936,678152191,US
+678151936,678152191,NL
678152192,678152447,FI
678152448,678152703,AT
678152704,678153215,NL
@@ -12009,7 +12190,11 @@
678854656,678905855,US
678905856,678907903,AE
678907904,678909951,CH
-678909952,678920191,US
+678909952,678910975,US
+678910976,678913023,DE
+678913024,678914047,US
+678914048,678915071,NO
+678915072,678920191,US
678920192,678928383,NL
678928384,678930431,US
678930432,678936575,AE
@@ -12042,7 +12227,11 @@
679378944,679395327,AU
679395328,679395839,AE
679395840,679396351,CH
-679396352,679403519,US
+679396352,679396607,US
+679396608,679397119,DE
+679397120,679397375,US
+679397376,679397631,NO
+679397632,679403519,US
679403520,679411711,AU
679411712,679413759,ZA
679413760,679428095,US
@@ -12112,8 +12301,8 @@
692617216,692625407,ZA
692625408,692626687,KE
692626688,692626943,AO
-692626944,692634111,KE
-692634112,692635135,MU
+692626944,692633599,KE
+692633600,692635135,MU
692635136,692635647,KE
692635648,692637135,MU
692637136,692637139,KE
@@ -12162,7 +12351,9 @@
692852736,692854783,GH
692854784,692856831,ZA
692856832,692858879,MU
-692858880,692860927,UG
+692858880,692859391,UG
+692859392,692859647,NL
+692859648,692860927,UG
692860928,692862975,ZA
692862976,692869119,NG
692869120,692871167,TZ
@@ -12328,7 +12519,9 @@
693485568,693493759,ZW
693493760,693501951,ZA
693501952,693510143,LR
-693510144,693518335,SC
+693510144,693512991,SC
+693512992,693513215,GB
+693513216,693518335,SC
693518336,693534719,ZA
693534720,693542911,NG
693542912,693551103,TZ
@@ -12417,7 +12610,9 @@
700342272,700350463,NA
700350464,700351487,MU
700351488,700352511,UG
-700352512,700358655,MU
+700352512,700353535,MU
+700353536,700354559,UG
+700354560,700358655,MU
700358656,700366847,MZ
700366848,700375039,UG
700375040,700376063,CM
@@ -12452,9 +12647,7 @@
700444672,700446719,GH
700446720,700447743,SL
700447744,700448767,DZ
-700448768,700584959,ZA
-700584960,700585983,FR
-700585984,700587007,ZA
+700448768,700587007,ZA
700587008,700587263,ZM
700587264,700588287,ZA
700588288,700588543,KM
@@ -12554,11 +12747,7 @@
701726720,701743103,GA
701755392,701759487,NG
701759488,701792255,KE
-701792256,701806335,MU
-701806336,701806591,GB
-701806592,701820927,MU
-701820928,701821439,GB
-701821440,701825023,MU
+701792256,701825023,MU
701825024,701857791,ZA
701857792,701890559,RE
701890560,701923327,SN
@@ -12670,7 +12859,9 @@
702451712,702453759,NG
702453760,702455871,ZA
702455872,702455999,KE
-702456000,702457087,ZA
+702456000,702456959,ZA
+702456960,702457023,KE
+702457024,702457087,ZA
702457088,702457407,KE
702457408,702457471,ZA
702457472,702457599,KE
@@ -12716,14 +12907,10 @@
702504960,702505983,MR
702505984,702507007,AO
702507008,702508031,CD
-702508032,702508287,SO
-702508288,702508543,ZA
-702508544,702509055,SO
+702508032,702509055,SO
702509056,702509423,KE
702509424,702509431,AO
-702509432,702509471,KE
-702509472,702509479,CD
-702509480,702509911,KE
+702509432,702509911,KE
702509912,702509919,AO
702509920,702509935,KE
702509936,702509943,AO
@@ -12761,9 +12948,7 @@
702542848,702543871,ZA
702543872,702544895,BJ
702544896,702545919,ZA
-702545920,703026175,TN
-703026176,703026687,GB
-703026688,703070207,TN
+702545920,703070207,TN
703070208,703071999,EG
703072000,703072255,CD
703072256,703594495,EG
@@ -12915,7 +13100,7 @@
736145408,736146431,CN
736146432,736147455,IN
736147456,736148479,CN
-736148480,736149503,HK
+736148480,736149503,NZ
736149504,736150527,NC
736150528,736151551,HK
736151552,736156671,CN
@@ -13035,7 +13220,11 @@
736398336,736399359,IN
736399360,736400383,SG
736400384,736402431,CN
-736402432,736402687,NZ
+736402432,736402585,NZ
+736402586,736402587,GS
+736402588,736402603,NZ
+736402604,736402604,GS
+736402605,736402687,NZ
736402688,736402943,SG
736402944,736403199,MY
736403200,736403327,AU
@@ -13124,13 +13313,11 @@
736515072,736516095,CN
736516096,736517119,HK
736517120,736518143,PK
-736518144,736519167,MY
+736518144,736519167,SG
736519168,736520191,AU
736520192,736521215,IN
736521216,736521471,US
-736521472,736521573,PH
-736521574,736521574,MY
-736521575,736521727,PH
+736521472,736521727,PH
736521728,736521747,AU
736521748,736521748,US
736521749,736522239,AU
@@ -13510,7 +13697,7 @@
737618944,737620991,CN
737620992,737622015,IN
737622016,737623039,TH
-737623040,737624063,GU
+737623040,737624063,MP
737624064,737625087,AU
737625088,737626111,CN
737626112,737627135,CA
@@ -13560,7 +13747,8 @@
737735680,737736703,CN
737736704,737737727,HK
737737728,737738751,IN
-737738752,737741823,CN
+737738752,737739775,HK
+737739776,737741823,CN
737741824,737742847,SG
737742848,737744895,HK
737744896,737745919,CN
@@ -13682,10 +13870,11 @@
737894400,737895423,ID
737895424,737896447,CN
737896448,737897471,HK
-737897472,737898495,AU
-737898496,737899263,MY
+737897472,737898751,AU
+737898752,737899007,MY
+737899008,737899263,AU
737899264,737899518,HK
-737899519,737899519,MY
+737899519,737899519,AU
737899520,737900543,CN
737900544,737901567,KR
737901568,737902591,IN
@@ -13694,7 +13883,8 @@
737904640,737905663,MY
737905664,737906687,HK
737906688,737908735,IN
-737908736,737909759,AU
+737908736,737909503,AU
+737909504,737909759,NZ
737909760,737910783,HK
737910784,737911807,DE
737911808,737912319,SG
@@ -13716,6 +13906,7 @@
737931264,737932287,AU
737932288,737933311,CN
737933312,737934335,HK
+737934336,737935359,PK
737935360,737936383,AU
737936384,737937407,IN
737937408,737938431,ID
@@ -13747,8 +13938,7 @@
737970176,737971199,ID
737971200,737972223,IN
737972224,737973247,ID
-737973248,737974015,HK
-737974016,737974271,FR
+737973248,737974271,HK
737974272,737975295,MY
737975296,737976319,ID
737976320,737981439,HK
@@ -13886,7 +14076,11 @@
747634688,747671807,BE
747671808,747672063,GB
747672064,747700223,BE
-747700224,750649855,US
+747700224,749087743,US
+749087744,749088767,BR
+749088768,750138367,US
+750138368,750139391,RO
+750139392,750649855,US
750649856,750650111,AT
750650112,750651391,US
750651392,750651647,AU
@@ -13905,17 +14099,16 @@
755261952,755262463,BO
755262464,755263487,AR
755263488,755269631,BR
-755269632,755270143,HN
-755270144,755270655,US
+755269632,755269887,HN
+755269888,755270655,US
755270656,755271679,BR
-755271680,755272703,HN
+755271680,755272703,US
755272704,755277823,BR
755277824,755279871,AR
755279872,755280895,CL
755280896,755281919,US
755281920,755287039,BR
-755287040,755287551,US
-755287552,755288063,HN
+755287040,755288063,US
755288064,755289087,EC
755289088,755290111,HN
755290112,755292159,BR
@@ -14093,9 +14286,7 @@
757716736,757716991,NZ
757716992,757721599,US
757721600,757721855,PH
-757721856,757727231,US
-757727232,757728255,VI
-757728256,757729279,US
+757721856,757729279,US
757729280,757731327,CA
757731328,757733375,US
757733376,757734399,CA
@@ -14190,14 +14381,7 @@
757804032,757805055,IN
757805056,757805567,JP
757805568,757806079,PH
-757806080,757806591,US
-757806592,757806847,HK
-757806848,757807871,US
-757807872,757808127,RU
-757808128,757808383,JP
-757808384,757808639,US
-757808640,757808895,DE
-757808896,757809151,SG
+757806080,757809151,HK
757809152,757809407,CA
757809408,757809663,RO
757809664,757809919,GB
@@ -14249,15 +14433,15 @@
758710272,758743039,US
758743040,758744575,CA
758744576,758745727,US
-758745728,758745743,CA
-758745744,758745759,US
-758745760,758745791,CA
+758745728,758745791,CA
758745792,758745823,US
758745824,758745831,CA
758745832,758745855,US
758745856,758747135,CA
-758747136,758747263,US
-758747264,758747327,CA
+758747136,758747199,US
+758747200,758747215,CA
+758747216,758747231,US
+758747232,758747327,CA
758747328,758747375,US
758747376,758747647,CA
758747648,758747935,US
@@ -14266,22 +14450,28 @@
758748000,758748031,CA
758748032,758748159,US
758748160,758748415,CA
-758748416,758749519,US
+758748416,758749183,US
+758749184,758749439,CA
+758749440,758749519,US
758749520,758749535,CA
758749536,758749567,US
758749568,758749695,CA
-758749696,758750975,US
+758749696,758750463,US
+758750464,758750719,CA
+758750720,758750975,US
758750976,758751039,CA
-758751040,758751167,US
+758751040,758751055,US
+758751056,758751071,CA
+758751072,758751167,US
758751168,758751231,CA
758751232,758751999,US
-758752000,758752031,CA
-758752032,758752063,US
-758752064,758752095,CA
-758752096,758752191,US
+758752000,758752127,CA
+758752128,758752191,US
758752192,758752199,CA
758752200,758752207,FI
-758752208,758752671,US
+758752208,758752223,US
+758752224,758752239,CA
+758752240,758752671,US
758752672,758752687,CA
758752688,758752735,US
758752736,758752831,CA
@@ -14290,22 +14480,22 @@
758752928,758752959,US
758752960,758753023,CA
758753024,758753535,US
-758753536,758753663,CA
-758753664,758753791,US
-758753792,758754047,CA
+758753536,758754047,CA
758754048,758754431,US
-758754432,758754559,CA
-758754560,758755071,US
-758755072,758755327,CA
+758754432,758755327,CA
758755328,758756095,US
-758756096,758756351,CA
+758756096,758756239,CA
+758756240,758756247,US
+758756248,758756351,CA
758756352,758756863,US
758756864,758756927,CA
758756928,758757055,US
758757056,758757183,CA
758757184,758757311,US
758757312,758757375,CA
-758757376,758758143,US
+758757376,758757631,US
+758757632,758757887,CA
+758757888,758758143,US
758758144,758758399,CA
758758400,758759423,US
758759424,758759487,CA
@@ -14313,8 +14503,8 @@
758759616,758759679,CA
758759680,758759807,US
758759808,758759839,CA
-758759840,758759903,US
-758759904,758759935,CA
+758759840,758759871,US
+758759872,758759935,CA
758759936,758760191,US
758760192,758760447,CA
758760448,758760703,US
@@ -14327,54 +14517,56 @@
758762752,758764031,CA
758764032,758764287,US
758764288,758764679,CA
-758764680,758764759,US
+758764680,758764703,US
+758764704,758764719,CA
+758764720,758764759,US
758764760,758764767,CA
758764768,758764799,US
758764800,758764863,CA
758764864,758764927,US
758764928,758765183,CA
-758765184,758765311,US
-758765312,758765375,CA
-758765376,758765471,US
-758765472,758765503,CA
-758765504,758765583,US
-758765584,758765631,CA
+758765184,758765247,US
+758765248,758765375,CA
+758765376,758765439,US
+758765440,758765503,CA
+758765504,758765567,US
+758765568,758765631,CA
758765632,758765647,US
-758765648,758765655,CA
-758765656,758765695,US
+758765648,758765663,CA
+758765664,758765695,US
758765696,758765951,CA
-758765952,758766015,US
-758766016,758766031,CA
-758766032,758766063,US
-758766064,758766103,CA
+758765952,758765975,US
+758765976,758765983,CA
+758765984,758766015,US
+758766016,758766103,CA
758766104,758766111,US
-758766112,758766127,CA
-758766128,758766303,US
-758766304,758766311,CA
-758766312,758766335,US
-758766336,758766351,CA
-758766352,758766383,US
-758766384,758766431,CA
+758766112,758766143,CA
+758766144,758766303,US
+758766304,758766319,CA
+758766320,758766335,US
+758766336,758766431,CA
758766432,758766495,US
758766496,758766527,CA
758766528,758766575,US
758766576,758766583,CA
-758766584,758767103,US
-758767104,758767615,CA
-758767616,758768127,US
+758766584,758766847,US
+758766848,758767871,CA
+758767872,758768127,US
758768128,758769279,CA
-758769280,758769375,US
-758769376,758769391,CA
-758769392,758769407,US
-758769408,758769663,CA
+758769280,758769359,US
+758769360,758769367,CA
+758769368,758769375,US
+758769376,758769663,CA
758769664,758769751,US
-758769752,758769759,CA
-758769760,758770175,US
+758769752,758769791,CA
+758769792,758769855,US
+758769856,758769919,CA
+758769920,758770175,US
758770176,758770271,CA
-758770272,758770367,US
-758770368,758770431,CA
-758770432,758770719,US
-758770720,758770751,CA
+758770272,758770303,US
+758770304,758770431,CA
+758770432,758770687,US
+758770688,758770751,CA
758770752,758770847,US
758770848,758770863,CA
758770864,758771199,US
@@ -14481,7 +14673,9 @@
758983808,758983935,VA
758983936,758984063,ZW
758984064,758984191,SO
-758984192,758994943,US
+758984192,758990335,US
+758990336,758990847,PK
+758990848,758994943,US
758994944,758996991,IN
758996992,759001087,US
759001088,759005183,CN
@@ -14599,6 +14793,21 @@
759246848,759249407,IN
759249408,759249919,AF
759249920,759250943,AU
+759250944,759251967,ES
+759251968,759252991,BG
+759252992,759254015,SA
+759254016,759255039,FR
+759255040,759256063,SM
+759256064,759257087,GB
+759257088,759258111,DK
+759258112,759259135,NL
+759259136,759260159,GB
+759260160,759261183,IL
+759261184,759263231,FR
+759263232,759264255,GB
+759264256,759265279,SK
+759265280,759266303,MD
+759266304,759267327,LV
759267328,759269375,BR
759269376,759270399,CO
759270400,759272447,BR
@@ -14624,7 +14833,7 @@
759299072,759299327,AR
759299328,759299583,BR
759299584,759300095,PA
-759496704,759504895,GB
+759496704,759498751,GB
759562240,759564287,BR
759564288,759565311,AR
759565312,759566335,EC
@@ -14686,34 +14895,34 @@
759693312,759693439,CA
759693440,759693455,US
759693456,759693471,CA
-759693472,759694079,US
+759693472,759693519,US
+759693520,759693527,CA
+759693528,759694079,US
759694080,759694207,CA
759694208,759694303,US
759694304,759694319,CA
759694320,759695231,US
759695232,759695359,CA
759695360,759695615,US
-759695616,759696143,CA
-759696144,759696159,US
-759696160,759696191,CA
-759696192,759696255,US
-759696256,759696263,CA
+759695616,759696263,CA
759696264,759696335,US
759696336,759696351,CA
-759696352,759696471,US
-759696472,759696479,CA
-759696480,759696591,US
-759696592,759696599,CA
+759696352,759696463,US
+759696464,759696479,CA
+759696480,759696575,US
+759696576,759696599,CA
759696600,759696607,US
759696608,759696639,CA
759696640,759696895,US
759696896,759698943,CA
759698944,759699199,US
759699200,759699263,CA
-759699264,759699423,US
+759699264,759699279,US
+759699280,759699287,CA
+759699288,759699423,US
759699424,759699439,CA
-759699440,759699711,US
-759699712,759699967,CA
+759699440,759699455,US
+759699456,759699967,CA
759699968,759699983,US
759699984,759699991,CA
759699992,759700047,US
@@ -14721,30 +14930,26 @@
759700064,759700223,US
759700224,759700479,CA
759700480,759700607,US
-759700608,759700623,CA
-759700624,759700639,US
-759700640,759700735,CA
+759700608,759700735,CA
759700736,759700863,US
759700864,759701759,CA
759701760,759702015,US
759702016,759702399,CA
759702400,759702431,US
759702432,759702447,CA
-759702448,759702487,US
-759702488,759702495,CA
-759702496,759703039,US
-759703040,759703295,CA
-759703296,759703551,US
-759703552,759705087,CA
-759705088,759705215,US
-759705216,759705471,CA
-759705472,759705599,US
-759705600,759708159,CA
-759708160,759708671,US
-759708672,759708927,CA
+759702448,759702479,US
+759702480,759702495,CA
+759702496,759702527,US
+759702528,759702783,CA
+759702784,759703039,US
+759703040,759708159,CA
+759708160,759708415,US
+759708416,759708927,CA
759708928,759709183,US
759709184,759709951,CA
-759709952,759710495,US
+759709952,759710207,US
+759710208,759710463,CA
+759710464,759710495,US
759710496,759710511,CA
759710512,759710559,US
759710560,759710591,CA
@@ -14756,10 +14961,10 @@
759711360,759711615,CA
759711616,759711647,US
759711648,759711655,CA
-759711656,759711711,US
-759711712,759711743,CA
-759711744,759711807,US
-759711808,759711839,CA
+759711656,759711679,US
+759711680,759711695,CA
+759711696,759711711,US
+759711712,759711839,CA
759711840,759711855,US
759711856,759711871,CA
759711872,759712095,US
@@ -14773,25 +14978,19 @@
759712768,759713023,US
759713024,759713791,CA
759713792,759714047,US
-759714048,759716095,CA
-759716096,759716479,US
-759716480,759716735,CA
-759716736,759716863,US
-759716864,759721215,CA
-759721216,759721239,US
-759721240,759721263,CA
-759721264,759721727,US
-759721728,759721983,CA
-759721984,759722239,US
-759722240,759723263,CA
+759714048,759721215,CA
+759721216,759721231,US
+759721232,759721279,CA
+759721280,759721343,US
+759721344,759721407,CA
+759721408,759721727,US
+759721728,759723263,CA
759723264,759723519,US
759723520,759725055,CA
759725056,759725311,US
-759725312,759725823,CA
-759725824,759725855,US
-759725856,759725887,CA
-759725888,759726079,US
-759726080,759791615,CA
+759725312,759725887,CA
+759725888,759725951,US
+759725952,759791615,CA
759791616,759802367,US
759802368,759803391,CA
759803392,759803903,US
@@ -15068,8 +15267,7 @@
762524672,762527743,IN
762527744,762528767,ID
762528768,762529791,AU
-762529792,762530303,ID
-762530304,762530815,TL
+762529792,762530815,TL
762530816,762532863,IN
762532864,762533887,PK
762533888,762536959,IN
@@ -15356,7 +15554,7 @@
763000832,763003903,IN
763003904,763005951,HK
763005952,763010047,IN
-763010048,763011071,HK
+763010048,763011071,SG
763011072,763026431,CN
763026432,763027455,VN
763027456,763028479,JP
@@ -15394,11 +15592,13 @@
763102208,763103231,IN
763103232,763104255,HK
763104256,763105279,BD
-763105280,763106303,PH
+763105280,763106303,US
763106304,763107327,CN
763107328,763108351,HK
763108352,763111423,CN
-763111424,763112447,AU
+763111424,763111679,AU
+763111680,763111935,IN
+763111936,763112447,AU
763112448,763113471,CN
763113472,763114495,IN
763114496,763115519,AU
@@ -15475,7 +15675,7 @@
763227136,763228159,VN
763228160,763229183,JP
763229184,763229439,NZ
-763229440,763229695,AU
+763229440,763229695,JP
763229696,763229951,IN
763229952,763230207,AU
763230208,763231231,PH
@@ -15599,8 +15799,8 @@
765501440,765508607,BR
765508608,765509631,CL
765509632,765510655,BR
-765510656,765512703,AR
-765512704,765514751,BR
+765510656,765511679,AR
+765511680,765514751,BR
765514752,765515775,CL
765515776,765517823,BR
765517824,765518847,VE
@@ -15621,9 +15821,7 @@
765569024,765571071,AR
765571072,765572095,BR
765572096,765573119,AR
-765573120,765574143,BR
-765574144,765575167,CL
-765575168,765586431,BR
+765573120,765586431,BR
765586432,765587455,PY
765587456,765591551,BR
765591552,765592575,CO
@@ -15633,58 +15831,162 @@
765606912,765607935,AR
765607936,765609983,BR
765609984,765611007,EC
-765611008,765614079,CO
+765611008,765612031,CO
+765612032,765612543,BR
+765612544,765613567,CO
+765613568,765613823,HN
+765613824,765614079,SV
765614080,765615103,AR
765615104,765617151,BR
765617152,765618175,AR
765618176,765619199,BR
765619200,765620223,AR
-765620224,765623551,BR
-765623552,765623807,AR
-765623808,765624063,CO
-765624320,765627391,BR
+765620224,765627391,BR
765627392,765628415,AR
-765628416,765634559,BR
-765634560,765635583,AR
-765635584,765637631,BR
+765628416,765637631,BR
+765637632,765638655,PY
+765638656,765639679,CL
+765639680,765640703,BR
765640704,765641727,CL
-765641728,765643263,BR
+765641728,765643775,BR
765643776,765644799,CR
-765644800,765645823,CL
-765645824,765656063,BR
+765644800,765657087,BR
765657088,765658111,CO
-765658112,765661183,BR
+765658112,765661695,BR
765661696,765662207,BO
765662208,765663231,AR
+765663232,765664255,BR
+765664256,765665023,CO
765665024,765665279,AR
+765665280,765666303,BR
765666304,765667327,AR
-765667328,765677567,BR
-765677568,765678591,AR
-765678592,765687807,BR
-765687808,765688831,MX
+765667328,765669375,BR
+765669376,765670399,MX
+765670400,765687807,BR
+765687808,765689855,MX
765689856,765690879,AR
+765690880,765691903,BR
765691904,765692927,CR
765692928,765693951,AR
-765693952,765709311,BR
+765693952,765705215,BR
+765705216,765706239,PY
+765706240,765709311,BR
765709312,765710335,EC
-765711360,765712383,BR
-765713408,765726719,BR
+765710336,765720575,BR
+765720576,765721599,AR
+765721600,765725695,BR
+765725696,765726719,DO
765726720,765727743,AR
765727744,765728767,MX
+765728768,765739007,BR
765739008,765740031,EC
+765740032,765750271,BR
+765750272,765751295,MX
+765751296,765757439,BR
+765757440,765758463,MX
+765758464,765760511,BR
+765760512,765761535,GT
+765761536,765765631,BR
+765765632,765766655,MX
+765766656,765767679,DO
+765767680,765774847,BR
+765774848,765775359,AR
+765775616,765775871,SV
+765775872,765780991,BR
+765780992,765782015,AR
+765782016,765783039,BR
+765783040,765784063,MX
+765784064,765797375,BR
+765797376,765798399,AR
+765798400,765799423,CL
+765799424,765800447,AR
+765800448,765801471,BR
+765801472,765801983,PY
+765801984,765816831,BR
+765816832,765817855,AR
+765817856,765827071,BR
+765827072,765827327,GT
+765827328,765827583,BR
+765827584,765828095,AR
+765828096,765831167,BR
+765831168,765832191,CL
+765832192,765856767,BR
+765857792,765858815,VE
+765858816,765872127,BR
+765872128,765873151,CL
+765873152,765873919,AR
+765873920,765874175,BR
+765874176,765875199,AR
+765875200,765877247,BR
+765877248,765878271,HN
+765878272,765879295,BR
+765879296,765880319,MX
+765880320,765881343,BR
+765881344,765882367,MX
+765882368,765890559,BR
+765890560,765891583,CL
+765891584,765898751,BR
+765898752,765899775,AR
+765899776,765908991,BR
+765908992,765910015,MX
+765910016,765911039,BR
+765911040,765911551,SV
+765911552,765918207,BR
+765919232,765920255,SV
+765920256,765922303,BR
+765922304,765923327,MX
+765923328,765923583,BR
+765924352,765925375,AR
+765925376,765926399,CL
+765926400,765934591,BR
+765935616,765941759,BR
+765941760,765942783,AR
+765942784,765943807,MX
+765943808,765945855,BR
+765946880,765947903,BR
+765947904,765948927,MX
+765949952,765950207,AR
+765950976,765951743,CO
+765951744,765951999,AR
+765952000,765953023,BR
+765955072,765959167,BR
+765959168,765960191,MX
+765960192,765968383,BR
+765968384,765969407,CL
+765971456,765973503,BR
+765973504,765974527,AR
+765974528,765975551,BR
+765975552,765976575,AR
+765983744,765984767,MX
+765984768,765985791,BR
+765986816,766001151,BR
+766002176,766003199,CL
+766004224,766005247,BR
+766008320,766009343,BR
767557632,767623167,ZA
767623168,767688703,HK
-767688704,767754239,ZA
+767688704,767723329,ZA
+767723330,767723330,HK
+767723331,767723389,ZA
+767723390,767723390,HK
+767723391,767754239,ZA
767754240,767754751,HK
767754752,767755263,KR
-767755264,767756287,NG
+767755264,767755519,ZA
+767755520,767756031,NG
+767756032,767756287,KE
767756288,767774207,HK
-767774208,767774463,JP
-767774464,767806975,HK
+767774208,767774719,JP
+767774720,767806975,HK
767806976,767807487,KR
767807488,767819775,HK
767819776,768016383,ZA
-768016384,768062207,US
+768016384,768047041,US
+768047042,768047042,HK
+768047043,768047101,US
+768047102,768047102,HK
+768047103,768061695,US
+768061696,768062207,AU
768062208,768063231,HK
768063232,768081919,US
768081920,768606207,ZA
@@ -16126,9 +16428,7 @@
770471936,770472191,VE
770472192,770472959,BR
770472960,770475007,CL
-770475008,770479103,BR
-770479104,770480127,EC
-770480128,770483199,BR
+770475008,770483199,BR
770483200,770484223,CL
770484224,770485247,EC
770485248,770485759,PE
@@ -16159,9 +16459,7 @@
770551808,770552831,AR
770552832,770553855,BR
770553856,770554879,PA
-770554880,770563071,BR
-770563072,770564095,AR
-770564096,770574335,BR
+770554880,770574335,BR
770574336,770577407,AR
770577408,770578431,CL
770578432,770579455,BR
@@ -16172,8 +16470,7 @@
770587648,770588671,CL
770588672,770598911,BR
770598912,770599935,AR
-770599936,770608127,BR
-770608128,770609151,HN
+770599936,770609151,BR
770609152,770610175,CO
770610176,770611199,BR
770611200,770612223,CL
@@ -16211,8 +16508,7 @@
770659328,770660351,AR
770660352,770661375,CO
770661376,770662399,AR
-770662400,770663423,CL
-770663424,770665215,BR
+770662400,770665215,BR
770665216,770665471,AR
770665472,770666751,CL
770666752,770667007,BR
@@ -16223,7 +16519,9 @@
770669568,770671615,AR
770671616,770678783,BR
770678784,770679807,EC
-770679808,770703359,BR
+770679808,770691071,BR
+770691072,770692095,CL
+770692096,770703359,BR
770703360,771227647,EG
771227648,771229695,IN
771229696,771230719,CN
@@ -16231,7 +16529,8 @@
771237376,771237887,MY
771237888,771238911,IN
771238912,771239935,US
-771239936,771241471,AU
+771239936,771241215,AU
+771241216,771241471,MY
771241472,771241727,IN
771241728,771241983,SG
771241984,771245055,IN
@@ -16269,8 +16568,7 @@
771320320,771320831,AU
771320832,771321855,IN
771321856,771322879,CN
-771322880,771323135,TW
-771323136,771323903,AU
+771322880,771323903,AU
771323904,771334143,IN
771334144,771335167,KR
771335168,771339263,IN
@@ -16445,7 +16743,9 @@
772831232,772833279,CZ
772833280,772834303,EE
772834304,772835327,ES
-772835328,772837375,CY
+772835328,772836351,IL
+772836352,772836607,CY
+772836608,772837375,IL
772837376,772839423,KZ
772839424,772841471,CH
772841472,772843519,GB
@@ -16464,8 +16764,7 @@
772870144,772872191,NO
772872192,772874239,NL
772874240,772876287,IE
-772876288,772876799,UA
-772876800,772880383,RU
+772876288,772880383,RU
772880384,772882431,GB
772882432,772884479,FR
772884480,772886527,LB
@@ -16507,8 +16806,8 @@
772945920,772947967,DE
772947968,772950015,AZ
772950016,772952063,ES
-772952064,772952319,US
-772952320,772954111,CA
+772952064,772953087,US
+772953088,772954111,GB
772954112,772958207,FR
772958208,772962303,GB
772962304,772966399,FR
@@ -16567,8 +16866,7 @@
773079040,773083135,RU
773083136,773087231,IT
773087232,773091327,LB
-773091328,773093375,GB
-773093376,773095423,CA
+773091328,773095423,GB
773095424,773099519,RO
773099520,773103615,TR
773103616,773107711,FR
@@ -16778,9 +17076,7 @@
773818368,773820415,HR
773820416,773822463,TR
773822464,773824511,RU
-773824512,773824556,DE
-773824557,773824557,FR
-773824558,773824767,DE
+773824512,773824767,DE
773824768,773826559,FR
773826560,773828607,GB
773828608,773830655,HU
@@ -16831,9 +17127,7 @@
773980160,773988351,GB
773988352,773996543,ES
773996544,773996799,TR
-773996800,773997567,ES
-773997568,773998591,NL
-773998592,774000671,ES
+773996800,774000671,ES
774000672,774000687,NL
774000688,774000823,ES
774000824,774000824,GB
@@ -16862,7 +17156,10 @@
774111232,774119423,RU
774119424,774127615,CZ
774127616,774135807,LT
-774135808,774143999,IR
+774135808,774140159,IR
+774140160,774140927,AM
+774140928,774141439,IR
+774141440,774143999,AM
774144000,774152191,KZ
774152192,774160383,BA
774160384,774162431,GB
@@ -17008,7 +17305,9 @@
774242304,774258687,RU
774258688,774266879,SA
774266880,774275071,RU
-774275072,774283263,IR
+774275072,774280191,IR
+774280192,774281215,GB
+774281216,774283263,IR
774283264,774291455,GB
774291456,774299647,NL
774299648,774307839,DE
@@ -17019,12 +17318,10 @@
774348800,774356991,CZ
774356992,774365183,ES
774365184,774373375,RU
-774373376,774383103,RS
-774383104,774383615,XK
+774373376,774383487,RS
+774383488,774383615,XK
774383616,774389759,RS
-774389760,774405375,BG
-774405376,774405631,DK
-774405632,774406143,BG
+774389760,774406143,BG
774406144,774422527,SY
774422528,774438911,OM
774438912,774455295,DE
@@ -17037,9 +17334,7 @@
774553600,774569983,KZ
774569984,774586367,GB
774586368,774602751,PS
-774602752,774618367,GB
-774618368,774618623,BE
-774618624,774619135,GB
+774602752,774619135,GB
774619136,774651903,RU
774651904,774668287,SA
774668288,774684671,NL
@@ -17202,10 +17497,14 @@
778657472,778657535,GB
778657536,778662028,FR
778662029,778662029,ES
-778662030,778666063,FR
+778662030,778666031,FR
+778666032,778666047,PL
+778666048,778666063,FR
778666064,778666079,IE
778666080,778666095,ES
-778666096,778666259,FR
+778666096,778666191,FR
+778666192,778666239,PL
+778666240,778666259,FR
778666260,778666263,ES
778666264,778666303,FR
778666304,778666367,ES
@@ -17231,7 +17530,9 @@
778667328,778667331,DE
778667332,778667347,FR
778667348,778667351,GB
-778667352,778667499,FR
+778667352,778667395,FR
+778667396,778667399,PL
+778667400,778667499,FR
778667500,778667503,GB
778667504,778667931,FR
778667932,778667935,CZ
@@ -17244,11 +17545,17 @@
778668396,778668399,ES
778668400,778668479,FR
778668480,778668495,ES
-778668496,778668607,FR
+778668496,778668511,FR
+778668512,778668515,PL
+778668516,778668571,FR
+778668572,778668575,PL
+778668576,778668607,FR
778668608,778668615,IE
778668616,778668627,FR
778668628,778668631,ES
-778668632,778668719,FR
+778668632,778668703,FR
+778668704,778668707,PL
+778668708,778668719,FR
778668720,778668723,PT
778668724,778668731,FR
778668732,778668735,GB
@@ -17326,9 +17633,13 @@
778673856,778673879,FR
778673880,778673883,CZ
778673884,778673887,ES
-778673888,778674303,FR
+778673888,778673919,FR
+778673920,778674175,PT
+778674176,778674303,FR
778674304,778674367,DE
-778674368,778674768,FR
+778674368,778674451,FR
+778674452,778674455,PL
+778674456,778674768,FR
778674769,778674769,BE
778674770,778674783,FR
778674784,778674799,GB
@@ -17337,15 +17648,18 @@
778674984,778674999,FR
778675000,778675003,FI
778675004,778675007,PL
-778675008,778675079,FR
-778675080,778675083,GB
-778675084,778675199,FR
+778675008,778675199,FR
778675200,778675207,ES
778675208,778675243,FR
778675244,778675247,DE
778675248,778675495,FR
778675496,778675499,DE
-778675500,778675631,FR
+778675500,778675503,PL
+778675504,778675511,FR
+778675512,778675519,PL
+778675520,778675615,FR
+778675616,778675619,PL
+778675620,778675631,FR
778675632,778675639,ES
778675640,778675695,FR
778675696,778675711,BE
@@ -17362,15 +17676,21 @@
778675916,778675919,DE
778675920,778676127,FR
778676128,778676131,ES
-778676132,778676143,FR
-778676144,778676159,ES
-778676160,778676207,FR
+778676132,778676139,FR
+778676140,778676143,PL
+778676144,778676183,FR
+778676184,778676191,PL
+778676192,778676207,FR
778676208,778676215,DE
778676216,778676367,FR
778676368,778676383,GB
-778676384,778676555,FR
+778676384,778676439,FR
+778676440,778676443,PL
+778676444,778676555,FR
778676556,778676559,ES
-778676560,778676623,FR
+778676560,778676607,FR
+778676608,778676611,PL
+778676612,778676623,FR
778676624,778676627,GB
778676628,778676631,ES
778676632,778676635,FR
@@ -17378,7 +17698,11 @@
778676640,778676655,ES
778676656,778676719,FR
778676720,778676723,GB
-778676724,778677083,FR
+778676724,778676767,FR
+778676768,778676771,PL
+778676772,778676775,FR
+778676776,778676779,PL
+778676780,778677083,FR
778677084,778677087,DE
778677088,778677095,FR
778677096,778677099,PL
@@ -17394,24 +17718,43 @@
778677400,778677403,PT
778677404,778677427,FR
778677428,778677431,DE
-778677432,778677475,FR
+778677432,778677439,FR
+778677440,778677455,PL
+778677456,778677475,FR
778677476,778677479,CZ
-778677480,778677503,FR
+778677480,778677487,FR
+778677488,778677503,PL
778677504,778677505,GB
778677506,778677506,ES
778677507,778677507,GB
778677508,778677759,ES
-778677760,778678271,FR
+778677760,778678003,FR
+778678004,778678007,PL
+778678008,778678015,FR
+778678016,778678019,PL
+778678020,778678159,FR
+778678160,778678163,PL
+778678164,778678207,FR
+778678208,778678271,PL
778678272,778678783,DE
778678784,778678859,FR
778678860,778678863,GB
-778678864,778679212,FR
+778678864,778678871,PL
+778678872,778678903,FR
+778678904,778678911,PL
+778678912,778678967,FR
+778678968,778678975,PL
+778678976,778679047,FR
+778679048,778679055,PL
+778679056,778679212,FR
778679213,778679214,FI
778679215,778679279,FR
778679280,778679295,ES
778679296,778679491,FR
778679492,778679495,ES
-778679496,778679599,FR
+778679496,778679503,FR
+778679504,778679519,PL
+778679520,778679599,FR
778679600,778679607,IE
778679608,778679843,FR
778679844,778679847,DE
@@ -17440,7 +17783,9 @@
778681424,778681431,FI
778681432,778681463,FR
778681464,778681471,ES
-778681472,778681503,FR
+778681472,778681483,FR
+778681484,778681487,PL
+778681488,778681503,FR
778681504,778681507,DE
778681508,778681519,FR
778681520,778681523,ES
@@ -17457,7 +17802,10 @@
778681832,778681835,IT
778681836,778681983,FR
778681984,778681999,PT
-778682000,778682079,FR
+778682000,778682015,FR
+778682016,778682031,PL
+778682032,778682063,FR
+778682064,778682079,PL
778682080,778682095,PT
778682096,778682103,FR
778682104,778682111,DE
@@ -17481,7 +17829,9 @@
778690736,778690751,PT
778690752,778691459,FR
778691460,778691463,BE
-778691464,778691543,FR
+778691464,778691471,FR
+778691472,778691479,PL
+778691480,778691543,FR
778691544,778691551,GB
778691552,778691763,FR
778691764,778691767,DE
@@ -17493,7 +17843,9 @@
778691976,778691983,ES
778691984,778692031,FR
778692032,778692039,DE
-778692040,778692143,FR
+778692040,778692059,FR
+778692060,778692063,PL
+778692064,778692143,FR
778692144,778692159,DE
778692160,778692191,FR
778692192,778692195,ES
@@ -17509,13 +17861,16 @@
778692528,778692535,BE
778692536,778692619,FR
778692620,778692623,ES
-778692624,778692743,FR
+778692624,778692719,FR
+778692720,778692723,PL
+778692724,778692743,FR
778692744,778692747,ES
778692748,778692811,FR
778692812,778692815,DE
778692816,778692827,FR
778692828,778692831,GB
-778692832,778692847,FR
+778692832,778692843,FR
+778692844,778692847,PL
778692848,778692863,DE
778692864,778692891,FR
778692892,778692895,GB
@@ -17527,7 +17882,8 @@
778693176,778693179,ES
778693180,778693231,FR
778693232,778693235,DE
-778693236,778693427,FR
+778693236,778693239,PL
+778693240,778693427,FR
778693428,778693431,ES
778693432,778693439,FR
778693440,778693455,GB
@@ -17543,9 +17899,15 @@
778693856,778693887,BE
778693888,778693967,FR
778693968,778693971,ES
-778693972,778694543,FR
+778693972,778694163,FR
+778694164,778694167,PL
+778694168,778694543,FR
778694544,778694555,DE
-778694556,778695087,FR
+778694556,778694559,FR
+778694560,778694563,PL
+778694564,778694639,FR
+778694640,778694643,PL
+778694644,778695087,FR
778695088,778695103,PT
778695104,778695119,FR
778695120,778695135,LT
@@ -17575,7 +17937,10 @@
778696272,778696287,ES
778696288,778696319,FR
778696320,778696335,DE
-778696336,778696435,FR
+778696336,778696339,PL
+778696340,778696347,FR
+778696348,778696351,PL
+778696352,778696435,FR
778696436,778696439,GB
778696440,778696495,FR
778696496,778696499,ES
@@ -17589,7 +17954,8 @@
778696984,778696987,ES
778696988,778696991,FR
778696992,778696995,ES
-778696996,778697055,FR
+778696996,778696999,PL
+778697000,778697055,FR
778697056,778697063,ES
778697064,778697067,FR
778697068,778697071,ES
@@ -17599,7 +17965,8 @@
778697280,778697287,IE
778697288,778697311,FR
778697312,778697343,ES
-778697344,778697435,FR
+778697344,778697431,FR
+778697432,778697435,PL
778697436,778697439,GB
778697440,778697471,FR
778697472,778697479,CZ
@@ -17625,22 +17992,20 @@
778698628,778698631,ES
778698632,778698643,FR
778698644,778698647,ES
-778698648,778698703,FR
+778698648,778698675,FR
+778698676,778698679,PL
+778698680,778698703,FR
778698704,778698707,ES
778698708,778698715,FR
778698716,778698719,CZ
778698720,778698751,FR
778698752,778764287,TR
778764288,778822655,HU
-778822656,778823679,UA
-778823680,778829823,HU
+778822656,778823167,UA
+778823168,778829823,HU
778829824,778839856,DE
778839857,778839857,RO
-778839858,778846207,DE
-778846208,778862591,RO
-778862592,778866687,DE
-778866688,778868735,GB
-778868736,778883071,DE
+778839858,778883071,DE
778883072,778885119,GB
778885120,778895359,DE
778895360,778960895,LV
@@ -17653,9 +18018,7 @@
779616256,779747327,IL
779747328,779878399,SI
779878400,780009471,AT
-780009472,780050303,CH
-780050304,780050431,DE
-780050432,780140543,CH
+780009472,780140543,CH
780140544,780206079,DE
780206080,780271615,NL
780271616,780337151,AM
@@ -17684,14 +18047,13 @@
781479936,781480191,UA
781480192,781480447,RO
781480448,781480703,BE
-781480704,781481471,UA
+781480704,781481215,UA
+781481216,781481471,CZ
781481472,781481727,GB
781481728,781484031,UA
781484032,781488127,RU
781488128,781496319,PL
-781496320,781496575,UA
-781496576,781496831,RU
-781496832,781496867,UA
+781496320,781496867,UA
781496868,781496868,RU
781496869,781500415,UA
781500416,781516799,RU
@@ -17704,6 +18066,11 @@
781545472,781549567,CZ
781549568,781553663,RU
781553664,781557759,PL
+781557760,781558783,TR
+781558784,781559807,RU
+781559808,781560831,IT
+781560832,781561599,RU
+781561600,781561855,GB
781561856,781565951,UA
781565952,781570047,IT
781570048,781574143,PL
@@ -17777,8 +18144,8 @@
782385152,782401535,SE
782401536,782417919,FR
782417920,782434303,AM
-782434304,782438399,HR
-782438400,782446591,SI
+782434304,782436351,HR
+782436352,782446591,SI
782446592,782447359,BA
782447360,782447615,HR
782447616,782447871,SI
@@ -17854,7 +18221,7 @@
783204352,783206399,RU
783206400,783208447,RO
783208448,783210495,PL
-783210496,783212543,UA
+783210496,783212543,RU
783212544,783216639,PL
783216640,783218687,UA
783218688,783220735,RU
@@ -17965,14 +18332,7 @@
784105472,784138239,HR
784138240,784145617,DE
784145618,784145618,BE
-784145619,784155483,DE
-784155484,784155487,CH
-784155488,784155491,NL
-784155492,784155495,DE
-784155496,784155503,AT
-784155504,784155511,GB
-784155512,784155519,CZ
-784155520,784155611,DE
+784145619,784155611,DE
784155612,784155615,CH
784155616,784155623,DE
784155624,784155631,AT
@@ -17989,11 +18349,7 @@
784268288,784269311,GB
784269312,784302079,BY
784302080,784334847,RU
-784334848,784419071,FR
-784419072,784419327,GB
-784419328,784438623,FR
-784438624,784438655,GB
-784438656,784457727,FR
+784334848,784457727,FR
784457728,784461823,GB
784461824,784465919,FR
784465920,784596991,SE
@@ -18016,15 +18372,7 @@
785842176,785907711,PL
785907712,785973247,BY
785973248,786038783,MK
-786038784,786044607,FR
-786044608,786044671,US
-786044672,786053631,FR
-786053632,786053759,US
-786053760,786053823,FR
-786053824,786053887,US
-786053888,786085311,FR
-786085312,786085375,US
-786085376,786104319,FR
+786038784,786104319,FR
786104320,786169855,UA
786169856,786235391,AT
786235392,786300927,TR
@@ -18205,7 +18553,8 @@
787095680,787095711,CH
787096576,787097855,CH
787098112,787098879,CH
-787099392,787103743,CH
+787099392,787100671,CH
+787101696,787103743,CH
787103744,787111935,HR
787111936,787116287,CZ
787116288,787116543,US
@@ -18235,8 +18584,8 @@
787189760,787191807,CH
787191808,787192063,GB
787192064,787192319,FR
-787192576,787192607,DK
-787192656,787192703,SE
+787192320,787192575,DE
+787192576,787192831,SE
787192832,787193087,AE
787193088,787193343,FI
787193344,787193599,DE
@@ -18276,11 +18625,7 @@
787464192,787480575,IS
787480576,787513343,SA
787513344,787546111,RS
-787546112,787566591,RU
-787566592,787567615,BE
-787567616,787568127,RU
-787568128,787570687,BE
-787570688,787578879,RU
+787546112,787578879,RU
787578880,787611647,AM
787611648,787644415,RU
787644416,787677183,PL
@@ -18319,22 +18664,26 @@
787716096,787718143,NL
787718144,787718911,RU
787718912,787719167,NL
-787719168,787722239,RU
+787719168,787719935,RU
+787719936,787720191,NL
+787720192,787721471,RU
+787721472,787721599,NL
+787721600,787722239,RU
787722240,787722751,NL
787722752,787725311,RU
-787725312,787728639,NL
-787728640,787728895,RU
-787728896,787729407,NL
+787725312,787729407,NL
787729408,787730431,US
-787730432,787731199,SE
+787730432,787730687,FR
+787730688,787731199,SE
787731200,787731967,CA
-787731968,787732479,LU
+787731968,787732223,US
+787732224,787732479,LU
787732480,787732735,CH
787732736,787733247,BE
787733248,787733759,RU
787733760,787734015,AT
787734016,787734271,IE
-787734272,787734527,RO
+787734272,787734527,FR
787734528,787736575,US
787736576,787737599,GB
787737600,787738367,DE
@@ -18343,7 +18692,7 @@
787738880,787739135,MT
787739136,787739903,CA
787739904,787740671,AU
-787740672,787740927,BE
+787740672,787740927,NL
787740928,787741183,GB
787741184,787741439,HK
787741440,787741695,US
@@ -18390,11 +18739,7 @@
787849216,787851263,TR
787851264,787853311,RU
787853312,787855359,DE
-787855360,787856895,CH
-787856896,787857083,DE
-787857084,787857084,CH
-787857085,787857279,DE
-787857280,787857407,CH
+787855360,787857407,CH
787857408,787859455,PL
787859456,787861503,AT
787861504,787863551,IE
@@ -18441,9 +18786,10 @@
788086784,788094975,BG
788094976,788095231,AU
788095232,788095487,DE
-788095488,788095743,AU
-788095744,788095999,IR
-788096000,788101119,AU
+788095488,788095743,IR
+788095744,788095999,AU
+788096000,788099071,DE
+788099072,788101119,AU
788101120,788103167,IR
788103168,788111359,HU
788111360,788119551,LT
@@ -18498,8 +18844,7 @@
788361216,788365311,DE
788365312,788369407,IQ
788369408,788373503,DE
-788373504,788374527,FR
-788374528,788377599,BE
+788373504,788377599,BE
788377600,788381695,CH
788381696,788385791,SE
788385792,788389887,PL
@@ -18562,9 +18907,9 @@
788508672,788509711,FR
788509712,788509951,AT
788509952,788509983,FR
-788509984,788510168,AT
-788510169,788510169,FR
-788510170,788510191,AT
+788509984,788510159,AT
+788510160,788510175,FR
+788510176,788510191,AT
788510192,788510719,FR
788510720,788512320,ES
788512321,788512383,NO
@@ -18590,7 +18935,17 @@
792002560,792068095,IT
792068096,792199167,CA
792199168,792330239,US
-792330240,792723455,ES
+792330240,792372223,ES
+792372224,792373247,US
+792373248,792389631,ES
+792389632,792390655,US
+792390656,792391679,ES
+792391680,792395775,US
+792395776,792430591,ES
+792430592,792434687,US
+792434688,792436735,ES
+792436736,792444927,US
+792444928,792723455,ES
792723456,793247743,DE
793247744,793313279,NZ
793313280,793378815,DE
@@ -18734,9 +19089,7 @@
832312320,832313343,ID
832313344,832315391,AU
832315392,832319487,KH
-832319488,832319999,NU
-832320000,832320255,NZ
-832320256,832320511,NU
+832319488,832320511,NU
832320512,832321535,VN
832321536,832323583,ID
832323584,832348159,IN
@@ -18800,7 +19153,9 @@
839016960,839017087,US
839017088,839026687,DE
839026688,839027711,US
-839027712,839040599,DE
+839027712,839039231,DE
+839039232,839039487,US
+839039488,839040599,DE
839040600,839040607,US
839040608,839041023,DE
839041024,839042047,US
@@ -18814,7 +19169,9 @@
839116544,839116799,US
839116800,839117823,DE
839117824,839118847,US
-839118848,839119871,DE
+839118848,839119359,DE
+839119360,839119615,US
+839119616,839119871,DE
839119872,839120895,US
839120896,839122943,DE
839122944,839340031,US
@@ -18826,7 +19183,8 @@
839348480,839348735,AT
839348736,839348991,GB
839348992,839349247,AT
-839349248,839349759,DE
+839349248,839349503,DE
+839349504,839349759,FR
839349760,839350271,US
839350272,839351295,NL
839351296,839352063,DE
@@ -18851,7 +19209,13 @@
839370752,839371263,FR
839371264,839371775,GB
839371776,839372287,NL
-839372288,839385087,CZ
+839372288,839373311,ES
+839373312,839373823,NL
+839373824,839374335,GB
+839374336,839376895,NL
+839376896,839378431,CZ
+839378432,839379455,NL
+839379456,839385087,CZ
839385088,840269823,US
840269824,840273919,CA
840273920,840278015,US
@@ -18874,7 +19238,9 @@
844462880,844462880,CL
844462881,844890111,US
844890112,844988415,CA
-844988416,845222689,US
+844988416,844996607,US
+844996608,845000703,CA
+845000704,845222689,US
845222690,845222690,HK
845222691,845283327,US
845283328,845545471,CA
@@ -18926,7 +19292,9 @@
858128704,858128735,CZ
858128736,858128895,FR
858128896,858129023,BE
-858129024,858131343,FR
+858129024,858129599,FR
+858129600,858129607,NL
+858129608,858131343,FR
858131344,858131359,ES
858131360,858132831,FR
858132832,858132863,CZ
@@ -18941,9 +19309,15 @@
858136352,858136383,GB
858136384,858144767,FR
858144768,858145279,GB
-858145280,858145695,FR
+858145280,858145407,FR
+858145408,858145471,GB
+858145472,858145615,FR
+858145616,858145631,GB
+858145632,858145695,FR
858145696,858145727,GB
-858145728,858145791,FR
+858145728,858145759,FR
+858145760,858145775,GB
+858145776,858145791,FR
858145792,858146879,GB
858146880,858147135,FR
858147136,858147199,GB
@@ -18971,19 +19345,27 @@
858150272,858150335,GB
858150336,858150391,FR
858150392,858150463,GB
-858150464,858150591,FR
+858150464,858150479,FR
+858150480,858150487,DE
+858150488,858150559,FR
+858150560,858150567,GB
+858150568,858150591,FR
858150592,858150655,GB
-858150656,858150783,FR
-858150784,858150911,GB
+858150656,858150687,FR
+858150688,858150911,GB
858150912,858151295,FR
858151296,858151327,GB
858151328,858151455,FR
858151456,858151471,GB
858151472,858151615,FR
858151616,858151679,GB
-858151680,858151999,FR
+858151680,858151807,FR
+858151808,858151823,GB
+858151824,858151999,FR
858152000,858152063,GB
-858152064,858152447,FR
+858152064,858152379,FR
+858152380,858152383,GB
+858152384,858152447,FR
858152448,858152527,GB
858152528,858152639,FR
858152640,858152703,GB
@@ -19009,9 +19391,13 @@
858155888,858155919,LT
858155920,858155951,FR
858155952,858155967,BE
-858155968,858156095,FR
+858155968,858156007,FR
+858156008,858156015,DE
+858156016,858156095,FR
858156096,858156159,DE
-858156160,858156303,FR
+858156160,858156223,FR
+858156224,858156287,DE
+858156288,858156303,FR
858156304,858156319,PL
858156320,858156495,FR
858156496,858156511,NL
@@ -19023,18 +19409,15 @@
858156672,858156767,FR
858156768,858156783,CZ
858156784,858156863,FR
-858156864,858157007,DE
-858157008,858157019,FR
+858156864,858156991,DE
+858156992,858157019,FR
858157020,858157023,DE
858157024,858157047,FR
858157048,858157051,DE
858157052,858157055,FR
-858157056,858157311,DE
-858157312,858158079,UA
+858157056,858158079,DE
858158080,858158095,FR
-858158096,858158399,DE
-858158400,858158463,FR
-858158464,858158655,DE
+858158096,858158655,DE
858158656,858158671,FI
858158672,858158687,GB
858158688,858158695,FR
@@ -19048,7 +19431,9 @@
858158976,858159039,DE
858159040,858159167,FR
858159168,858159231,DE
-858159232,858159295,FR
+858159232,858159247,FR
+858159248,858159263,BE
+858159264,858159295,FR
858159296,858159359,DE
858159360,858159627,FR
858159628,858159628,ES
@@ -19068,7 +19453,9 @@
858159764,858159767,DE
858159768,858159807,FR
858159808,858159871,DE
-858159872,858159983,FR
+858159872,858159943,FR
+858159944,858159951,DE
+858159952,858159983,FR
858159984,858159999,DE
858160000,858160015,IE
858160016,858160031,FR
@@ -19079,29 +19466,41 @@
858160072,858160127,FR
858160128,858161151,DE
858161152,858163199,PL
-858163200,858164351,FR
+858163200,858163487,FR
+858163488,858163519,PL
+858163520,858163727,FR
+858163728,858163743,PL
+858163744,858163823,FR
+858163824,858163839,PL
+858163840,858163935,FR
+858163936,858163951,PL
+858163952,858164351,FR
858164352,858164415,PL
858164416,858164735,FR
858164736,858164863,PL
858164864,858165119,FR
858165120,858165183,PL
858165184,858165247,FR
-858165248,858165311,PL
-858165312,858165375,FR
+858165248,858165327,PL
+858165328,858165375,FR
858165376,858165439,PL
858165440,858165823,FR
858165824,858165855,PL
858165856,858165887,FR
858165888,858165951,PL
-858165952,858166207,FR
-858166208,858166271,PL
-858166272,858166975,FR
+858165952,858166095,FR
+858166096,858166111,PL
+858166112,858166207,FR
+858166208,858166783,PL
+858166784,858166975,FR
858166976,858167039,PL
858167040,858167295,FR
858167296,858167359,PL
858167360,858167487,FR
858167488,858167551,PL
-858167552,858167679,FR
+858167552,858167615,FR
+858167616,858167647,PL
+858167648,858167679,FR
858167680,858167807,PL
858167808,858168063,FR
858168064,858168127,PL
@@ -19113,19 +19512,25 @@
858169280,858169343,PL
858169344,858169855,FR
858169856,858169983,ES
-858169984,858170199,FR
+858169984,858170159,FR
+858170160,858170175,PL
+858170176,858170199,FR
858170200,858170207,DE
858170208,858170623,FR
858170624,858170639,DE
858170640,858170751,FR
858170752,858170879,IT
-858170880,858171023,FR
+858170880,858170999,FR
+858171000,858171003,DE
+858171004,858171023,FR
858171024,858171039,GB
858171040,858171263,FR
858171264,858171279,IE
858171280,858171359,FR
858171360,858171391,NL
-858171392,858173055,FR
+858171392,858171775,FR
+858171776,858171839,PL
+858171840,858173055,FR
858173056,858173071,BE
858173072,858173207,FR
858173208,858173215,FI
@@ -19133,9 +19538,7 @@
858173228,858173231,BE
858173232,858178239,FR
858178240,858178271,GB
-858178272,858178511,FR
-858178512,858178519,GB
-858178520,858179583,FR
+858178272,858179583,FR
858179584,858179711,ES
858179712,858179727,FR
858179728,858179743,FI
@@ -19144,7 +19547,9 @@
858181248,858182399,FR
858182400,858182527,IT
858182528,858182655,ES
-858182656,858183935,FR
+858182656,858182911,FR
+858182912,858182927,ES
+858182928,858183935,FR
858183936,858183967,FI
858183968,858185087,FR
858185088,858185215,ES
@@ -19169,7 +19574,11 @@
860099328,860099455,IT
860099456,860100607,FR
860100608,860100735,ES
-860100736,860108543,FR
+860100736,860101543,FR
+860101544,860101551,GB
+860101552,860101611,FR
+860101612,860101615,PL
+860101616,860108543,FR
860108544,860108671,NL
860108672,860109695,FR
860109696,860109823,NL
@@ -19177,7 +19586,8 @@
860110208,860110215,DE
860110216,860110287,FR
860110288,860110295,DE
-860110296,860110355,FR
+860110296,860110299,PL
+860110300,860110355,FR
860110356,860110359,DE
860110360,860110519,FR
860110520,860110523,GB
@@ -19214,15 +19624,25 @@
860128000,860128063,PL
860128064,860128127,FR
860128128,860128191,PL
-860128192,860128383,FR
-860128384,860128447,PL
-860128448,860128639,FR
+860128192,860128215,FR
+860128216,860128219,PL
+860128220,860128319,FR
+860128320,860128327,PL
+860128328,860128383,FR
+860128384,860128479,PL
+860128480,860128639,FR
860128640,860128703,PL
860128704,860128711,FR
860128712,860128715,PL
-860128716,860128831,FR
-860128832,860128895,PL
-860128896,860129087,FR
+860128716,860128719,FR
+860128720,860128735,PL
+860128736,860128747,FR
+860128748,860128751,PL
+860128752,860128767,FR
+860128768,860128959,PL
+860128960,860129055,FR
+860129056,860129071,PL
+860129072,860129087,FR
860129088,860129215,PL
860129216,860129279,FR
860129280,860135423,PL
@@ -19234,13 +19654,15 @@
860135552,860135615,DE
860135616,860135631,FR
860135632,860135647,GB
-860135648,860135663,FR
+860135648,860135663,PL
860135664,860135671,DE
860135672,860135679,FR
860135680,860135695,PT
860135696,860135967,FR
860135968,860135983,DE
-860135984,860136095,FR
+860135984,860135999,FR
+860136000,860136015,IT
+860136016,860136095,FR
860136096,860136111,FI
860136112,860136127,FR
860136128,860136255,DE
@@ -19248,9 +19670,7 @@
860136272,860136319,DE
860136320,860136351,FR
860136352,860136367,CZ
-860136368,860136383,FR
-860136384,860136399,DE
-860136400,860136431,FR
+860136368,860136431,FR
860136432,860136447,GB
860136448,860137727,DE
860137728,860137999,FR
@@ -19273,8 +19693,8 @@
860139520,860139663,FR
860139664,860139667,GB
860139668,860139711,FR
-860139712,860139839,DE
-860139840,860140031,FR
+860139712,860139871,DE
+860139872,860140031,FR
860140032,860140111,DE
860140112,860140159,FR
860140160,860140239,DE
@@ -19314,8 +19734,7 @@
860142096,860142111,ES
860142112,860142127,DE
860142128,860142143,NL
-860142144,860142159,DE
-860142160,860142207,FR
+860142144,860142207,FR
860142208,860142271,DE
860142272,860142335,FR
860142336,860142351,GB
@@ -19327,22 +19746,36 @@
860143680,860143743,GB
860143744,860143871,FR
860143872,860143999,GB
-860144000,860144319,FR
-860144320,860144383,GB
-860144384,860144639,FR
-860144640,860145663,GB
-860145664,860147711,FR
-860147712,860147775,GB
+860144000,860144063,FR
+860144064,860144127,GB
+860144128,860144319,FR
+860144320,860144447,GB
+860144448,860144511,FR
+860144512,860144575,GB
+860144576,860144639,FR
+860144640,860145855,GB
+860145856,860145871,FR
+860145872,860145903,GB
+860145904,860145919,FR
+860145920,860145983,GB
+860145984,860145999,FR
+860146000,860146015,GB
+860146016,860146031,FR
+860146032,860146063,GB
+860146064,860146447,FR
+860146448,860146463,GB
+860146464,860146591,FR
+860146592,860146607,GB
+860146608,860146623,FR
+860146624,860147775,GB
860147776,860147903,FR
-860147904,860147967,GB
-860147968,860148287,FR
-860148288,860148351,GB
+860147904,860148031,GB
+860148032,860148223,FR
+860148224,860148351,GB
860148352,860148415,FR
860148416,860148479,GB
860148480,860148735,FR
-860148736,860149759,GB
-860149760,860149887,FR
-860149888,860149951,GB
+860148736,860149951,GB
860149952,860149999,FR
860150000,860150015,GB
860150016,860150631,FR
@@ -19359,31 +19792,67 @@
860561472,860561535,PL
860561536,860561599,FR
860561600,860561663,PL
-860561664,860565823,FR
+860561664,860561807,FR
+860561808,860561811,PL
+860561812,860561919,FR
+860561920,860562111,PL
+860562112,860562239,FR
+860562240,860562303,PL
+860562304,860562431,FR
+860562432,860562559,PL
+860562560,860562687,FR
+860562688,860562751,PL
+860562752,860562815,FR
+860562816,860562831,PL
+860562832,860562879,FR
+860562880,860562943,PL
+860562944,860563263,FR
+860563264,860563327,PL
+860563328,860563919,FR
+860563920,860563935,PL
+860563936,860563967,FR
+860563968,860564031,PL
+860564032,860564095,FR
+860564096,860564159,PL
+860564160,860564223,FR
+860564224,860564287,PL
+860564288,860564411,FR
+860564412,860564415,PL
+860564416,860565823,FR
860565824,860565951,PL
-860565952,860566079,FR
-860566080,860566143,PL
-860566144,860566527,FR
+860565952,860566071,FR
+860566072,860566207,PL
+860566208,860566527,FR
860566528,860567551,PL
860567552,860567615,FR
860567616,860567679,PL
-860567680,860567807,FR
-860567808,860567999,PL
+860567680,860567711,FR
+860567712,860567743,PL
+860567744,860567803,FR
+860567804,860567999,PL
860568000,860568051,FR
860568052,860568052,PL
860568053,860568063,FR
860568064,860568127,PL
-860568128,860568383,FR
+860568128,860568143,FR
+860568144,860568223,PL
+860568224,860568383,FR
860568384,860568447,PL
860568448,860568511,FR
-860568512,860568575,PL
-860568576,860569599,FR
+860568512,860568831,PL
+860568832,860569087,FR
+860569088,860569599,PL
860569600,860573951,DE
-860573952,860574367,FR
+860573952,860574207,FR
+860574208,860574271,DE
+860574272,860574367,FR
860574368,860574383,ES
860574384,860574463,FR
860574464,860574527,DE
-860574528,860574783,FR
+860574528,860574559,FR
+860574560,860574575,CZ
+860574576,860574591,GB
+860574592,860574783,FR
860574784,860574799,CZ
860574800,860574831,FR
860574832,860574847,BE
@@ -19395,13 +19864,142 @@
860575088,860575103,PL
860575104,860575183,FR
860575184,860575199,NL
-860575200,860575743,FR
+860575200,860575231,FR
+860575232,860575263,DE
+860575264,860575295,FR
+860575296,860575311,BE
+860575312,860575343,GB
+860575344,860575359,IT
+860575360,860575375,GB
+860575376,860575391,ES
+860575392,860575423,FR
+860575424,860575551,DE
+860575552,860575567,FR
+860575568,860575583,BE
+860575584,860575727,FR
+860575728,860575743,BE
860575744,860577791,DE
-860577792,860579455,FR
+860577792,860578175,FR
+860578176,860578239,GB
+860578240,860579455,FR
860579456,860579583,BE
-860579584,860618751,FR
+860579584,860580191,FR
+860580192,860580223,GB
+860580224,860580351,FR
+860580352,860580607,DE
+860580608,860580735,ES
+860580736,860581087,FR
+860581088,860581103,LT
+860581104,860590079,FR
+860590080,860591103,DE
+860591104,860591423,FR
+860591424,860591439,NL
+860591440,860591519,FR
+860591520,860591535,ES
+860591536,860591935,FR
+860591936,860591999,DE
+860592000,860592015,BE
+860592016,860592031,NL
+860592032,860592079,FR
+860592080,860592095,DE
+860592096,860592127,FR
+860592128,860592383,DE
+860592384,860592399,FR
+860592400,860592415,FI
+860592416,860592511,DE
+860592512,860592527,FR
+860592528,860592543,CZ
+860592544,860592703,FR
+860592704,860592767,DE
+860592768,860592831,FR
+860592832,860592847,GB
+860592848,860592863,DE
+860592864,860592927,FR
+860592928,860592943,DE
+860592944,860593007,FR
+860593008,860593023,IT
+860593024,860593263,FR
+860593264,860593279,ES
+860593280,860593311,DE
+860593312,860593343,FR
+860593344,860593471,DE
+860593472,860593535,FR
+860593536,860593663,DE
+860593664,860593919,FR
+860593920,860593935,NL
+860593936,860594015,FR
+860594016,860594031,DE
+860594032,860594175,FR
+860594176,860595263,GB
+860595264,860595519,FR
+860595520,860595679,GB
+860595680,860595839,FR
+860595840,860595919,GB
+860595920,860595967,FR
+860595968,860596015,GB
+860596016,860596127,FR
+860596128,860596159,GB
+860596160,860596223,FR
+860596224,860597247,GB
+860597248,860597503,FR
+860597504,860597567,GB
+860597568,860597711,FR
+860597712,860597715,GB
+860597716,860597759,FR
+860597760,860597855,GB
+860597856,860597951,FR
+860597952,860598015,GB
+860598016,860601279,FR
+860601280,860601295,GB
+860601296,860601663,FR
+860601664,860601679,ES
+860601680,860609039,FR
+860609040,860609055,NL
+860609056,860609607,FR
+860609608,860609615,NL
+860609616,860610415,FR
+860610416,860610431,GB
+860610432,860611279,FR
+860611280,860611295,FI
+860611296,860611807,FR
+860611808,860611839,FI
+860611840,860612815,FR
+860612816,860612831,ES
+860612832,860613551,FR
+860613552,860613567,LT
+860613568,860614191,FR
+860614192,860614207,ES
+860614208,860618751,FR
860618752,860684287,GB
-860684288,860749823,FR
+860684288,860685919,FR
+860685920,860685951,FI
+860685952,860687215,FR
+860687216,860687231,LT
+860687232,860704767,FR
+860704768,860705023,DE
+860705024,860705199,FR
+860705200,860705215,IT
+860705216,860705791,FR
+860705792,860706047,DE
+860706048,860706303,FR
+860706304,860706815,DE
+860706816,860713167,FR
+860713168,860713215,GB
+860713216,860713263,FR
+860713264,860713279,GB
+860713280,860713663,FR
+860713664,860713679,GB
+860713680,860713695,FR
+860713696,860714495,GB
+860714496,860715007,FR
+860715008,860715071,GB
+860715072,860715183,FR
+860715184,860715191,GB
+860715192,860715247,FR
+860715248,860715263,GB
+860715264,860715519,FR
+860715520,860715647,GB
+860715648,860749823,FR
860749824,860815359,GB
860815360,860880895,FR
860880896,860905167,GB
@@ -19557,7 +20155,8 @@
872303008,872303039,IT
872303040,872303055,FR
872303056,872303071,CZ
-872303072,872303103,FR
+872303072,872303087,PL
+872303088,872303103,FR
872303104,872303359,GB
872303360,872303679,FR
872303680,872303743,IT
@@ -19735,7 +20334,8 @@
872341872,872341879,GB
872341880,872341887,FR
872341888,872341903,ES
-872341904,872342255,FR
+872341904,872341919,PL
+872341920,872342255,FR
872342256,872342271,IT
872342272,872342335,FR
872342336,872342367,ES
@@ -19838,7 +20438,9 @@
872356416,872356479,DE
872356480,872356671,FR
872356672,872356735,IT
-872356736,872357423,FR
+872356736,872357199,FR
+872357200,872357215,PL
+872357216,872357423,FR
872357424,872357439,PT
872357440,872357503,ES
872357504,872357671,FR
@@ -19879,9 +20481,13 @@
872374592,872374655,ES
872374656,872374683,FR
872374684,872374687,ES
-872374688,872375007,FR
+872374688,872374919,FR
+872374920,872374923,ES
+872374924,872375007,FR
872375008,872375039,PT
-872375040,872375295,FR
+872375040,872375167,FR
+872375168,872375183,PL
+872375184,872375295,FR
872375296,872375423,NL
872375424,872376191,FR
872376192,872376319,GB
@@ -19894,7 +20500,9 @@
872377344,872377919,FR
872377920,872377983,BE
872377984,872378047,IE
-872378048,872378207,FR
+872378048,872378083,FR
+872378084,872378087,PL
+872378088,872378207,FR
872378208,872378239,IT
872378240,872378447,FR
872378448,872378463,CZ
@@ -19908,7 +20516,8 @@
872379776,872379903,IT
872379904,872379967,FR
872379968,872380031,NL
-872380032,872380143,FR
+872380032,872380047,PL
+872380048,872380143,FR
872380144,872380147,DE
872380148,872380247,FR
872380248,872380248,ES
@@ -19924,7 +20533,9 @@
872381344,872381375,PL
872381376,872381583,FR
872381584,872381599,DE
-872381600,872382143,FR
+872381600,872381647,FR
+872381648,872381651,DE
+872381652,872382143,FR
872382144,872382207,ES
872382208,872382335,FR
872382336,872382463,GB
@@ -19933,9 +20544,12 @@
872382720,872382779,FR
872382780,872382783,ES
872382784,872382847,DE
-872382848,872383327,FR
+872382848,872383055,FR
+872383056,872383071,LT
+872383072,872383327,FR
872383328,872383359,PL
-872383360,872383519,FR
+872383360,872383503,FR
+872383504,872383519,PL
872383520,872383551,ES
872383552,872383583,GB
872383584,872383743,FR
@@ -20082,7 +20696,9 @@
872408912,872409151,FR
872409152,872409215,DE
872409216,872409343,GB
-872409344,872409631,FR
+872409344,872409359,FR
+872409360,872409375,PL
+872409376,872409631,FR
872409632,872409663,IT
872409664,872409679,FR
872409680,872409683,ES
@@ -20170,9 +20786,13 @@
878515180,878515181,SG
878515182,878515469,US
878515470,878515471,IE
-878515472,878522389,US
+878515472,878522367,US
+878522368,878522389,IE
878522390,878522391,DE
-878522392,878538785,US
+878522392,878522623,IE
+878522624,878534655,US
+878534656,878534911,IE
+878534912,878538785,US
878538786,878538787,IE
878538788,878545659,US
878545660,878545661,GB
@@ -20289,7 +20909,8 @@
878699008,878699263,US
878699264,878699519,SE
878699520,878699775,BH
-878699776,878702591,US
+878699776,878702335,US
+878702336,878702591,GB
878702592,878702847,BR
878702848,878703103,AU
878703104,878703359,SG
@@ -20313,15 +20934,19 @@
878706576,878706591,CN
878706592,878706703,US
878706704,878706719,BR
-878706720,878772223,US
+878706720,878719551,US
+878719552,878719631,CA
+878719632,878719743,US
+878719744,878720255,CA
+878720256,878772223,US
878772224,878772239,BR
878772240,878772255,US
878772256,878772287,CL
878772288,878772735,BR
878772736,878788623,US
-878788624,878788671,BR
-878788672,878788863,US
-878788864,878791935,BR
+878788624,878788703,BR
+878788704,878788735,US
+878788736,878791935,BR
878791936,878804991,US
878804992,878805247,AT
878805248,878806015,GB
@@ -20364,11 +20989,22 @@
878815104,878815167,AT
878815168,878815191,IE
878815192,878815271,NL
-878815272,878815295,US
+878815272,878815279,IE
+878815280,878815295,NL
878815296,878815423,AT
878815424,878815519,NL
-878815520,878815615,IE
-878815616,878821375,US
+878815520,878815775,IE
+878815776,878815839,NL
+878815840,878815855,IE
+878815856,878815871,AT
+878815872,878816127,NL
+878816128,878816191,IE
+878816192,878816231,NL
+878816232,878816255,US
+878816256,878816383,AT
+878816384,878816511,NL
+878816512,878816543,FR
+878816544,878821375,US
878821376,878821695,NL
878821696,878821759,US
878821760,878822655,NL
@@ -20377,18 +21013,20 @@
878837776,878837887,US
878837888,878839039,AU
878839040,878841855,US
-878841856,878841951,ZA
-878841952,878845951,US
+878841856,878842431,ZA
+878842432,878845951,US
878845952,878845983,AE
878845984,878845991,JP
-878845992,878845999,US
+878845992,878845999,SG
878846000,878846015,AE
878846016,878846079,KR
878846080,878846143,HK
878846144,878846159,AE
-878846160,878846175,US
+878846160,878846175,SG
878846176,878846239,AE
-878846240,878854143,US
+878846240,878846591,SG
+878846592,878846623,AE
+878846624,878854143,US
878854144,878854207,JP
878854208,878854399,HK
878854400,878854783,SG
@@ -20425,11 +21063,53 @@
878862976,878863103,SG
878863104,878863359,HK
878863360,878863999,SG
-878864000,879053823,US
+878864000,878973183,US
+878973184,878973695,CA
+878973696,879005951,US
+879005952,879006463,CA
+879006464,879050751,US
+879050752,879051007,IE
+879051008,879051263,FI
+879051264,879051519,AT
+879051520,879051775,NL
+879051776,879052031,FI
+879052032,879052287,AT
+879052288,879052543,NL
+879052544,879052799,IE
+879052800,879053055,AT
+879053056,879053311,FI
+879053312,879053567,IE
+879053568,879053823,AT
879053824,879054335,FR
-879054336,879070207,US
+879054336,879054847,GB
+879054848,879067135,US
+879067136,879067391,IE
+879067392,879067647,FI
+879067648,879067903,AT
+879067904,879068159,NL
+879068160,879068415,FI
+879068416,879068671,AT
+879068672,879068927,NL
+879068928,879069183,IE
+879069184,879069439,AT
+879069440,879069695,FI
+879069696,879069951,IE
+879069952,879070207,AT
879070208,879070719,FR
-879070720,879230975,US
+879070720,879071231,GB
+879071232,879198463,US
+879198464,879198719,KR
+879198720,879200255,US
+879200256,879200767,IN
+879200768,879201279,US
+879201280,879201791,KR
+879201792,879214847,US
+879214848,879215103,KR
+879215104,879216639,US
+879216640,879217151,IN
+879217152,879217663,US
+879217664,879218175,KR
+879218176,879230975,US
879230976,879231231,CA
879231232,879231743,US
879231744,879231999,CA
@@ -20523,8 +21203,7 @@
879808768,879808895,IE
879808896,879808959,NL
879808960,879809023,IE
-879809024,879820799,US
-879820800,879820927,KR
+879809024,879820927,US
879820928,879821055,HK
879821056,879821311,SG
879821312,879821439,KR
@@ -20547,8 +21226,7 @@
879829760,879829887,AU
879829888,879830015,IN
879830016,879830271,KR
-879830272,879837183,US
-879837184,879837247,KR
+879830272,879837247,US
879837248,879837311,HK
879837312,879837439,SG
879837440,879837503,KR
@@ -20596,7 +21274,7 @@
879955968,879959039,IE
879959040,879960063,US
879960064,879961599,SG
-879961600,879962111,US
+879961600,879962111,JP
879962112,879963647,HK
879963648,880216831,US
880216832,880217087,CA
@@ -20653,9 +21331,10 @@
881334272,881334527,IN
881334528,881334783,AU
881334784,881335039,SG
-881335040,881335295,US
+881335040,881335295,CA
881335296,881335551,FR
-881335552,881336319,US
+881335552,881336063,US
+881336064,881336319,JP
881336320,881344511,IN
881344512,881360895,US
881360896,881377279,FR
@@ -20710,7 +21389,11 @@
881906368,881906495,DE
881906496,881906559,US
881906560,881906635,GB
-881906636,881909823,US
+881906636,881907647,US
+881907648,881907659,SE
+881907660,881907711,US
+881907712,881907723,SE
+881907724,881909823,US
881909824,881909887,AU
881909888,881909951,SG
881909952,881910079,US
@@ -20795,7 +21478,8 @@
886833152,886964223,SG
886964224,887078911,US
887078912,887083007,NL
-887083008,887357439,US
+887083008,887085055,BR
+887085056,887357439,US
887357440,887390207,CA
887390208,887439359,US
887439360,887455743,CA
@@ -20872,8 +21556,10 @@
888136448,888136703,SG
888136704,888137471,US
888137472,888137727,GB
-888137728,888137791,ZA
-888137792,888137983,US
+888137728,888137823,ZA
+888137824,888137855,US
+888137856,888137887,ZA
+888137888,888137983,US
888137984,888138239,AE
888138240,888139775,US
888139776,888140031,GB
@@ -20921,7 +21607,9 @@
888758272,889016319,US
889016320,889020415,SG
889020416,889028607,JP
-889028608,889135103,US
+889028608,889037055,US
+889037056,889037311,JP
+889037312,889135103,US
889135104,889143295,AU
889143296,889192447,US
889192448,905969663,DE
@@ -20990,7 +21678,9 @@
908339976,908339983,ES
908339984,908340015,FR
908340016,908340031,DE
-908340032,908340079,FR
+908340032,908340039,FR
+908340040,908340047,PL
+908340048,908340079,FR
908340080,908340095,LT
908340096,908340223,GB
908340224,908340479,FR
@@ -21001,7 +21691,9 @@
908341208,908341215,ES
908341216,908345343,FR
908345344,908345359,ES
-908345360,908345447,FR
+908345360,908345407,FR
+908345408,908345439,PL
+908345440,908345447,FR
908345448,908345455,ES
908345456,908345527,FR
908345528,908345535,ES
@@ -21154,7 +21846,9 @@
908371968,908374015,PL
908374016,908376127,FR
908376128,908376255,PL
-908376256,908376591,FR
+908376256,908376543,FR
+908376544,908376575,PL
+908376576,908376591,FR
908376592,908376599,PL
908376600,908376767,FR
908376768,908376895,PL
@@ -21240,10 +21934,14 @@
908386992,908387023,FR
908387024,908387027,GB
908387028,908387071,FR
-908387072,908387135,GB
-908387136,908387151,FR
-908387152,908387167,GB
-908387168,908387775,FR
+908387072,908387167,GB
+908387168,908387231,FR
+908387232,908387263,GB
+908387264,908387275,FR
+908387276,908387279,GB
+908387280,908387391,FR
+908387392,908387407,GB
+908387408,908387775,FR
908387776,908387855,GB
908387856,908387903,FR
908387904,908387967,GB
@@ -21253,7 +21951,8 @@
908388432,908388447,DE
908388448,908388559,FR
908388560,908388575,CZ
-908388576,908388879,FR
+908388576,908388607,DE
+908388608,908388879,FR
908388880,908388887,DE
908388888,908389055,FR
908389056,908389375,DE
@@ -21346,11 +22045,13 @@
908417712,908417727,DE
908417728,908417791,FR
908417792,908417919,DE
-908417920,908418175,FR
+908417920,908417991,FR
+908417992,908417999,DE
+908418000,908418175,FR
908418176,908418239,DE
908418240,908418751,FR
-908418752,908418815,DE
-908418816,908419327,FR
+908418752,908418943,DE
+908418944,908419327,FR
908419328,908419455,ES
908419456,908419495,FR
908419496,908419503,ES
@@ -21430,7 +22131,8 @@
908427152,908427231,FR
908427232,908427247,DE
908427248,908427263,ES
-908427264,908428351,FR
+908427264,908428287,PL
+908428288,908428351,FR
908428352,908428415,PL
908428416,908428671,FR
908428672,908428735,PL
@@ -21438,7 +22140,9 @@
908428800,908428863,PL
908428864,908429311,FR
908429312,908430335,PL
-908430336,908430847,FR
+908430336,908430787,FR
+908430788,908430791,PL
+908430792,908430847,FR
908430848,908430911,PL
908430912,908431167,FR
908431168,908431231,PL
@@ -21498,7 +22202,11 @@
908441312,908441343,CZ
908441344,908443263,FR
908443264,908443391,BE
-908443392,908444127,FR
+908443392,908443567,FR
+908443568,908443583,IT
+908443584,908443775,FR
+908443776,908443783,DE
+908443784,908444127,FR
908444128,908444135,DE
908444136,908444159,FR
908444160,908444223,DE
@@ -21508,8 +22216,7 @@
908444688,908444703,NL
908444704,908444719,FR
908444720,908444735,CZ
-908444736,908444799,FR
-908444800,908444863,DE
+908444736,908444863,DE
908444864,908444927,FR
908444928,908444991,DE
908444992,908445375,FR
@@ -21520,7 +22227,9 @@
908445632,908445647,LT
908445648,908445695,FR
908445696,908445823,DE
-908445824,908445887,FR
+908445824,908445839,FR
+908445840,908445855,BE
+908445856,908445887,FR
908445888,908445951,DE
908445952,908446335,FR
908446336,908446399,DE
@@ -21532,7 +22241,11 @@
908447344,908447351,DE
908447352,908447423,FR
908447424,908447503,DE
-908447504,908447647,FR
+908447504,908447519,FR
+908447520,908447535,GB
+908447536,908447551,NL
+908447552,908447583,IT
+908447584,908447647,FR
908447648,908447743,DE
908447744,908447903,FR
908447904,908447919,GB
@@ -21546,9 +22259,13 @@
908455168,908455231,PL
908455232,908455487,FR
908455488,908455551,PL
-908455552,908456351,FR
-908456352,908456447,GB
-908456448,908456831,FR
+908455552,908455871,FR
+908455872,908455935,PL
+908455936,908456127,FR
+908456128,908456143,GB
+908456144,908456351,FR
+908456352,908456463,GB
+908456464,908456831,FR
908456832,908457535,GB
908457536,908461143,FR
908461144,908461147,ES
@@ -21568,21 +22285,27 @@
908472704,908472767,PL
908472768,908472831,FR
908472832,908472991,PL
-908472992,908473023,FR
+908472992,908473011,FR
+908473012,908473015,PL
+908473016,908473023,FR
908473024,908473087,PL
-908473088,908473215,FR
-908473216,908473231,PL
-908473232,908473343,FR
+908473088,908473343,FR
908473344,908474367,PL
908474368,908474431,FR
908474432,908474495,PL
-908474496,908474815,FR
+908474496,908474783,FR
+908474784,908474787,PL
+908474788,908474815,FR
908474816,908475007,PL
908475008,908475071,FR
908475072,908475135,PL
-908475136,908475455,FR
+908475136,908475151,FR
+908475152,908475155,PL
+908475156,908475455,FR
908475456,908475583,PL
-908475584,908475711,FR
+908475584,908475599,FR
+908475600,908475603,PL
+908475604,908475711,FR
908475712,908476223,PL
908476224,908478527,FR
908478528,908478655,GB
@@ -21608,7 +22331,9 @@
908485648,908485663,DE
908485664,908488959,FR
908488960,908489215,ES
-908489216,908491167,FR
+908489216,908490223,FR
+908490224,908490239,IE
+908490240,908491167,FR
908491168,908491199,CZ
908491200,908491391,FR
908491392,908491519,ES
@@ -21618,25 +22343,35 @@
908492032,908492159,BE
908492160,908492575,FR
908492576,908492607,CZ
-908492608,908493567,FR
+908492608,908492799,FR
+908492800,908493311,PL
+908493312,908493567,FR
908493568,908493631,PL
908493632,908493695,FR
908493696,908493759,PL
-908493760,908493823,FR
-908493824,908494015,PL
+908493760,908493791,FR
+908493792,908494015,PL
908494016,908494143,FR
908494144,908494207,PL
908494208,908494335,FR
908494336,908494399,PL
-908494400,908494527,FR
+908494400,908494431,FR
+908494432,908494463,PL
+908494464,908494527,FR
908494528,908494655,PL
-908494656,908494847,FR
+908494656,908494751,FR
+908494752,908494767,PL
+908494768,908494783,FR
+908494784,908494799,PL
+908494800,908494847,FR
908494848,908495935,PL
908495936,908496511,FR
908496512,908496575,PL
-908496576,908496703,FR
-908496704,908496767,PL
-908496768,908496895,FR
+908496576,908496607,FR
+908496608,908496639,PL
+908496640,908496703,FR
+908496704,908496783,PL
+908496784,908496895,FR
908496896,908496959,GB
908496960,908497023,FR
908497024,908497151,GB
@@ -21670,9 +22405,11 @@
908509184,908510207,PL
908510208,908510783,FR
908510784,908510847,PL
-908510848,908510911,FR
-908510912,908510975,PL
-908510976,908511487,FR
+908510848,908510879,FR
+908510880,908510975,PL
+908510976,908511039,FR
+908511040,908511199,PL
+908511200,908511487,FR
908511488,908511551,PL
908511552,908511615,FR
908511616,908511679,PL
@@ -21688,7 +22425,9 @@
908512832,908512895,PL
908512896,908513023,FR
908513024,908513087,PL
-908513088,908513343,FR
+908513088,908513183,FR
+908513184,908513199,PL
+908513200,908513343,FR
908513344,908513375,GB
908513376,908513535,FR
908513536,908513727,GB
@@ -21700,22 +22439,28 @@
908514240,908514367,GB
908514368,908514495,FR
908514496,908514591,GB
-908514592,908514687,FR
+908514592,908514655,FR
+908514656,908514659,GB
+908514660,908514687,FR
908514688,908515327,GB
908515328,908515455,DE
908515456,908515587,FR
908515588,908515588,DE
-908515589,908515711,FR
+908515589,908515679,FR
+908515680,908515695,BE
+908515696,908515711,FR
908515712,908515839,DE
908515840,908516255,FR
908516256,908516271,DE
908516272,908516303,FR
908516304,908516319,DE
-908516320,908516367,FR
+908516320,908516359,FR
+908516360,908516367,DE
908516368,908516383,IT
908516384,908516415,FR
908516416,908516607,DE
-908516608,908516671,FR
+908516608,908516623,IE
+908516624,908516671,FR
908516672,908516675,DE
908516676,908516735,FR
908516736,908516799,DE
@@ -21871,9 +22616,7 @@
959447040,959512575,US
959512576,960495615,BE
960495616,960626687,FR
-960626688,960658463,GB
-960658464,960658495,US
-960658496,960659455,GB
+960626688,960659455,GB
960659456,960662783,DE
960662784,960663039,FR
960663040,960676607,DE
@@ -21914,7 +22657,9 @@
961052672,961085439,JP
961085440,961092095,SG
961092096,961092351,IN
-961092352,961118207,SG
+961092352,961094719,SG
+961094720,961094783,ID
+961094784,961118207,SG
961118208,961126399,MY
961126400,961134591,TW
961134592,961142783,KR
@@ -21975,7 +22720,7 @@
961757184,961761279,GA
961761280,961765375,GH
961765376,961769471,GN
-961769472,961773567,GW
+961769472,961773567,FR
961773568,961777663,CI
961777664,961781759,KE
961781760,961785855,LS
@@ -22117,9 +22862,7 @@
962732032,962740223,DE
962740224,962744319,SE
962744320,962746367,FR
-962746368,962748233,NL
-962748234,962748235,BE
-962748236,962748415,NL
+962746368,962748415,NL
962748416,962752511,BH
962752512,962756607,ZA
962756608,962854911,FR
@@ -22134,20 +22877,21 @@
965150120,968638207,BE
968638208,968638463,IN
968638464,968753151,BE
-968753152,968757247,NL
+968753152,968753407,NL
+968753408,968753663,GB
+968753664,968757247,NL
968757248,968818687,CH
968818688,968819711,DE
968819712,968851455,BE
968851456,968852479,US
968852480,968884223,BE
-968884224,969226751,FR
-969226752,969227007,HK
-969227008,969227263,US
-969227264,969227519,GB
-969227520,969227775,FR
-969227776,969228031,SG
-969228032,969228287,NL
-969228288,970981375,FR
+968884224,970218032,FR
+970218033,970218034,HK
+970218035,970253544,FR
+970253545,970253546,AU
+970253547,970476045,FR
+970476046,970476046,JP
+970476047,970981375,FR
970981376,973078527,BE
973078528,973209599,JP
973209600,973275135,IN
@@ -22182,7 +22926,13 @@
978321408,978452479,JP
978452480,978485247,CN
978485248,978501631,TH
-978501632,978518015,HK
+978501632,978504447,HK
+978504448,978504959,JP
+978504960,978505983,HK
+978505984,978506495,PH
+978506496,978514431,HK
+978514432,978514943,PH
+978514944,978518015,HK
978518016,978583551,CN
978583552,978584575,VN
978584576,978585599,HK
@@ -22477,12 +23227,11 @@
1024332800,1024333823,AU
1024333824,1024334847,US
1024334848,1024335871,SG
-1024335872,1024336127,AU
+1024335872,1024336127,US
1024336128,1024336383,SG
-1024336384,1024337919,AU
-1024337920,1024338943,US
-1024338944,1024340991,ZA
-1024340992,1024344063,US
+1024336384,1024338943,US
+1024338944,1024342015,ZA
+1024342016,1024344063,US
1024344064,1024352255,SG
1024352256,1024360447,AU
1024360448,1024361135,JP
@@ -22493,16 +23242,14 @@
1024361808,1024361823,TW
1024361824,1024362495,JP
1024362496,1024363519,SG
-1024363520,1024364063,JP
-1024364064,1024364079,AU
-1024364080,1024365727,JP
+1024363520,1024365727,JP
1024365728,1024365759,SG
1024365760,1024368895,JP
1024368896,1024368896,HK
-1024368897,1024371199,JP
-1024371200,1024371455,PH
-1024371456,1024372479,JP
-1024372480,1024372735,HK
+1024368897,1024372479,JP
+1024372480,1024372543,SG
+1024372544,1024372639,HK
+1024372640,1024372735,SG
1024372736,1024373263,JP
1024373264,1024373279,HK
1024373280,1024376831,JP
@@ -22524,14 +23271,14 @@
1024786432,1025245183,JP
1025245184,1025277951,CN
1025277952,1025294335,PH
-1025294336,1025294591,AU
-1025294592,1025294847,SG
+1025294336,1025294847,SG
1025294848,1025295615,AU
1025295616,1025295871,PH
1025295872,1025296127,AU
1025296128,1025296639,FR
-1025296640,1025298943,AU
-1025298944,1025299199,AE
+1025296640,1025296895,AU
+1025296896,1025297407,SG
+1025297408,1025299199,AU
1025299200,1025299327,IN
1025299328,1025299455,AU
1025299456,1025299711,CN
@@ -22593,7 +23340,9 @@
1026523136,1026539519,CN
1026539520,1026555903,KR
1026555904,1027080191,CN
-1027080192,1027866623,TW
+1027080192,1027268607,TW
+1027268608,1027276799,CN
+1027276800,1027866623,TW
1027866624,1027997695,AU
1027997696,1028128767,TW
1028128768,1029046271,KR
@@ -22639,8 +23388,12 @@
1039654912,1039663103,IN
1039663104,1040187391,KR
1040187392,1040252927,IL
-1040252928,1040318463,GR
-1040318464,1040383999,CH
+1040252928,1040259583,GR
+1040259584,1040259839,NO
+1040259840,1040318463,GR
+1040318464,1040354815,CH
+1040354816,1040355327,DE
+1040355328,1040383999,CH
1040384000,1040392191,SA
1040392192,1040392447,GB
1040392448,1040397823,SA
@@ -22656,7 +23409,8 @@
1040433152,1040449535,GB
1040449536,1040457727,FR
1040457728,1040465919,ME
-1040465920,1040474111,DE
+1040465920,1040466175,DE
+1040473344,1040473599,DE
1040474112,1040477183,CZ
1040477184,1040477184,KG
1040477185,1040477951,CZ
@@ -22673,14 +23427,14 @@
1040525312,1040526335,SE
1040526336,1040527359,GB
1040527360,1040528383,SE
-1040528384,1040536575,GB
-1040536576,1040537599,SE
-1040537600,1040538623,GB
+1040528384,1040531455,GB
+1040531456,1040532479,SE
+1040532480,1040538623,GB
1040538624,1040539647,SE
-1040539648,1040540671,GB
-1040540672,1040542719,SE
-1040542720,1040543743,GB
-1040543744,1040546815,SE
+1040539648,1040541695,GB
+1040541696,1040542719,SE
+1040542720,1040545791,GB
+1040545792,1040546815,SE
1040546816,1040547839,GB
1040547840,1040580607,RU
1040580608,1040711679,GB
@@ -22721,15 +23475,15 @@
1041284096,1041294847,NO
1041294848,1041295103,SJ
1041295104,1041301503,NO
-1041301504,1041342463,IE
-1041342464,1041344511,FR
-1041344512,1041367039,IE
+1041301504,1041367039,IE
1041367040,1041498111,IT
1041498112,1041563647,SE
1041563648,1041596415,PL
1041596416,1041629183,NL
1041629184,1041694719,ES
-1041694720,1041730559,FR
+1041694720,1041727487,FR
+1041727488,1041727743,IE
+1041727744,1041730559,FR
1041730560,1041731071,IT
1041731072,1041739775,FR
1041739776,1041740031,IT
@@ -22739,14 +23493,15 @@
1041742336,1041742591,ES
1041742592,1041746431,FR
1041746432,1041746687,DE
-1041746688,1041747967,FR
+1041746688,1041747711,FR
+1041747712,1041747967,GB
1041747968,1041748479,DE
1041748480,1041748969,FR
1041748970,1041748970,DE
1041748971,1041752319,FR
1041752320,1041752575,AT
-1041752576,1041755903,FR
-1041755904,1041756159,DE
+1041752576,1041755135,FR
+1041755136,1041756159,DE
1041756160,1041758463,FR
1041758464,1041758719,ES
1041758720,1041760255,FR
@@ -22812,9 +23567,9 @@
1043349504,1043357695,DE
1043357696,1043365887,CH
1043365888,1043398655,PT
-1043398656,1043464191,GB
-1043464192,1043472383,NL
-1043472384,1043483391,GB
+1043398656,1043465839,GB
+1043465840,1043465847,NL
+1043465848,1043483391,GB
1043483392,1043483423,CH
1043483424,1043488767,GB
1043488768,1043496959,DE
@@ -22825,7 +23580,9 @@
1043595264,1043661567,DE
1043661568,1043661823,GB
1043661824,1043857407,DE
-1043857408,1043899391,GB
+1043857408,1043896319,GB
+1043896320,1043898367,FR
+1043898368,1043899391,GB
1043899392,1043899647,CG
1043899648,1043919442,GB
1043919443,1043919443,SS
@@ -22833,11 +23590,13 @@
1043920896,1043921919,UG
1043921920,1043922943,IL
1043922944,1043988479,ES
-1043988480,1044013055,NL
-1044013056,1044021247,BE
-1044021248,1044119551,NL
+1043988480,1044119551,NL
1044119552,1044152319,GB
-1044152320,1044185087,IR
+1044152320,1044158463,IR
+1044158464,1044168703,BG
+1044168704,1044170751,IR
+1044170752,1044176895,BG
+1044176896,1044185087,IR
1044185088,1044193279,RU
1044193280,1044201471,PL
1044201472,1044217855,FI
@@ -22848,7 +23607,9 @@
1044316160,1044332543,NO
1044332544,1044348927,RU
1044348928,1044365311,LV
-1044365312,1044381695,SE
+1044365312,1044373503,SE
+1044373504,1044373759,FI
+1044373760,1044381695,SE
1044381696,1044389887,RU
1044389888,1044398079,FR
1044398080,1044414463,UA
@@ -22866,18 +23627,16 @@
1044512768,1044578303,DK
1044578304,1044578623,GB
1044578624,1044578639,DE
-1044578640,1044580351,GB
-1044580352,1044581375,US
-1044581376,1044589055,GB
+1044578640,1044589055,GB
1044589056,1044589311,DE
1044589312,1044590591,GB
1044590592,1044590689,DE
1044590690,1044590690,FR
-1044590691,1044593151,DE
-1044593152,1044594303,GB
+1044590691,1044592895,DE
+1044592896,1044594303,GB
1044594304,1044594431,DE
-1044594432,1044619263,GB
-1044619264,1044627391,RS
+1044594432,1044625407,GB
+1044625408,1044627391,RS
1044627392,1044627455,ES
1044627456,1044636671,GB
1044636672,1044637695,DE
@@ -22914,31 +23673,27 @@
1044758528,1044774911,PL
1044774912,1044840447,NO
1044840448,1044905983,FI
-1044905984,1044908031,GB
-1044908032,1044909055,US
-1044909056,1044916735,GB
+1044905984,1044916735,GB
1044916736,1044920319,DE
1044920320,1044921343,GB
1044921344,1044922367,US
1044922368,1044930559,DE
-1044930560,1044931071,BE
-1044931072,1044931951,GB
+1044930560,1044931583,BE
+1044931584,1044931951,GB
1044931952,1044931959,BE
1044931960,1044932303,GB
1044932304,1044932311,BE
1044932312,1044933499,GB
1044933500,1044933503,BE
-1044933504,1044933887,GB
-1044933888,1044934143,BE
-1044934144,1044935119,GB
+1044933504,1044935119,GB
1044935120,1044935135,BE
-1044935136,1044936735,GB
+1044935136,1044935167,GB
+1044935168,1044936703,BE
+1044936704,1044936735,GB
1044936736,1044936743,BE
1044936744,1044937247,GB
1044937248,1044937255,BE
-1044937256,1044937471,GB
-1044937472,1044937727,BE
-1044937728,1044938679,GB
+1044937256,1044938679,GB
1044938680,1044938687,LU
1044938688,1044946943,GB
1044946944,1044955135,UA
@@ -22954,18 +23709,16 @@
1045014848,1045014863,GB
1045014864,1045014871,SG
1045014872,1045020671,GB
-1045020672,1045025343,NO
-1045025344,1045025362,GB
-1045025363,1045025363,NO
-1045025364,1045025407,GB
-1045025408,1045037055,NO
+1045020672,1045037055,NO
1045037056,1045119231,GR
1045119232,1045119743,AL
1045119744,1045135359,GR
1045135360,1045162147,FR
1045162148,1045162151,DE
1045162152,1045168127,FR
-1045168128,1045233663,RU
+1045168128,1045171199,RU
+1045171200,1045171455,UA
+1045171456,1045233663,RU
1045233664,1045241855,GB
1045241856,1045250047,IT
1045250048,1045266431,CZ
@@ -22984,7 +23737,8 @@
1045323776,1045364735,FI
1045364736,1045430271,DK
1045430272,1045446655,DE
-1045446656,1045454847,HU
+1045446656,1045453823,HU
+1045453824,1045454847,SK
1045460992,1045461503,FR
1045461632,1045461695,FR
1045462016,1045463039,DE
@@ -22992,9 +23746,7 @@
1045471232,1045479423,UA
1045479424,1045487615,SE
1045487616,1045495807,LT
-1045495808,1045566463,ES
-1045566464,1045567487,FR
-1045567488,1045692415,ES
+1045495808,1045692415,ES
1045692416,1045700607,LV
1045700608,1045708799,KZ
1045708800,1045716991,LB
@@ -23037,8 +23789,7 @@
1046315008,1046315519,FR
1046315520,1046316031,IT
1046316032,1046316543,FR
-1046316544,1046317055,DK
-1046317056,1046317567,GB
+1046316544,1046317567,GB
1046317568,1046318079,NL
1046318080,1046319103,GB
1046319104,1046320127,NL
@@ -23050,9 +23801,9 @@
1046446080,1046482943,DE
1046482944,1046482951,GB
1046482952,1046482952,DE
-1046482953,1046482999,GB
-1046483000,1046483007,DE
-1046483008,1046484545,GB
+1046482953,1046483759,GB
+1046483760,1046483767,DE
+1046483768,1046484545,GB
1046484546,1046484546,DE
1046484547,1046484607,GB
1046484608,1046484615,DE
@@ -23063,18 +23814,18 @@
1046487291,1046488913,GB
1046488914,1046488914,DE
1046488915,1046489087,GB
-1046489088,1046489218,DE
-1046489219,1046489219,GB
-1046489220,1046489311,DE
+1046489088,1046489119,DE
+1046489120,1046489311,GB
1046489312,1046489327,ES
-1046489328,1046489391,DE
+1046489328,1046489391,GB
1046489392,1046489407,IT
-1046489408,1046489439,DE
+1046489408,1046489439,GB
1046489440,1046489447,SE
-1046489448,1046489471,DE
+1046489448,1046489471,GB
1046489472,1046489487,ES
-1046489488,1046489599,DE
-1046489600,1046489815,GB
+1046489488,1046489503,GB
+1046489504,1046489519,DE
+1046489520,1046489815,GB
1046489816,1046489823,DE
1046489824,1046489975,GB
1046489976,1046489983,DE
@@ -23091,11 +23842,7 @@
1046495728,1046498799,GB
1046498800,1046498807,DE
1046498808,1046498815,GB
-1046498816,1046499327,DE
-1046499328,1046499679,GB
-1046499680,1046499695,DE
-1046499696,1046501375,GB
-1046501376,1046502399,DE
+1046498816,1046502399,DE
1046502400,1046503095,GB
1046503096,1046503103,DE
1046503104,1046503338,GB
@@ -23111,12 +23858,10 @@
1046508544,1046512583,GB
1046512584,1046512591,DE
1046512592,1046514687,GB
-1046514688,1046517759,DE
-1046517760,1046518288,GB
-1046518289,1046518289,DE
-1046518290,1046518911,GB
-1046518912,1046518975,DE
-1046518976,1046519295,GB
+1046514688,1046518783,DE
+1046518784,1046518911,GB
+1046518912,1046519039,DE
+1046519040,1046519295,GB
1046519296,1046519807,DE
1046519808,1046524215,GB
1046524216,1046524223,DE
@@ -23131,8 +23876,8 @@
1046524656,1046525351,GB
1046525352,1046525359,DE
1046525360,1046525439,GB
-1046525440,1046525951,DE
-1046525952,1046528335,GB
+1046525440,1046525695,DE
+1046525696,1046528335,GB
1046528336,1046528351,DE
1046528352,1046528383,GB
1046528384,1046528391,DE
@@ -23141,11 +23886,7 @@
1046528512,1046528535,GB
1046528536,1046528543,DE
1046528544,1046529023,GB
-1046529024,1046532095,DE
-1046532096,1046533537,GB
-1046533538,1046533538,DE
-1046533539,1046533615,GB
-1046533616,1046534143,DE
+1046529024,1046534143,DE
1046534144,1046535447,GB
1046535448,1046535448,DE
1046535449,1046535623,GB
@@ -23172,9 +23913,13 @@
1046539888,1046539903,DE
1046539904,1046540527,GB
1046540528,1046540543,SE
-1046540544,1046542807,GB
+1046540544,1046541311,GB
+1046541312,1046542335,DE
+1046542336,1046542807,GB
1046542808,1046542815,DE
-1046542816,1046543209,GB
+1046542816,1046542847,GB
+1046542848,1046543103,DE
+1046543104,1046543209,GB
1046543210,1046543210,DE
1046543211,1046543343,GB
1046543344,1046543359,DE
@@ -23209,6 +23954,7 @@
1046839296,1046847487,BA
1046847488,1046855679,ES
1046855680,1046872063,NO
+1046872064,1046904831,GB
1046904832,1046908927,IR
1046908928,1046910975,SE
1046910976,1046913023,IT
@@ -23437,6 +24183,12 @@
1047735770,1047735770,DE
1047736552,1047736553,US
1047739838,1047739838,GB
+1047750144,1047750144,NL
+1047750160,1047750160,CZ
+1047750176,1047750176,HU
+1047750192,1047750192,DE
+1047750208,1047750208,FR
+1047750224,1047750224,PL
1047752902,1047752902,AT
1047758474,1047758474,GB
1047758911,1047758911,CZ
@@ -23459,15 +24211,7 @@
1047871488,1047887871,RU
1047887872,1047920639,ES
1047920640,1047986175,RU
-1047986176,1047998019,SE
-1047998020,1047998020,NO
-1047998021,1048006655,SE
-1048006656,1048006744,DK
-1048006745,1048006745,SE
-1048006746,1048006751,DK
-1048006752,1048006783,SE
-1048006784,1048006911,DK
-1048006912,1048051711,SE
+1047986176,1048051711,SE
1048051712,1048117247,SA
1048117248,1048125439,GB
1048125440,1048133631,FI
@@ -23531,7 +24275,9 @@
1048619008,1048621055,GB
1048621056,1048621056,DE
1048621057,1048625151,US
-1048625152,1048633343,GB
+1048625152,1048631632,GB
+1048631633,1048631633,IE
+1048631634,1048633343,GB
1048633344,1048641535,NO
1048641536,1048649727,FR
1048649728,1048657919,CZ
@@ -23542,7 +24288,8 @@
1048707072,1048772607,GB
1048772608,1048903679,NL
1048903680,1048911871,GB
-1048911872,1048912895,NL
+1048911872,1048912383,NL
+1048912384,1048912895,JP
1048912896,1048913919,ES
1048913920,1048914943,NL
1048914944,1048915967,TR
@@ -23554,28 +24301,47 @@
1048936448,1048944639,PL
1048944640,1048952831,RU
1048952832,1048969215,NL
+1048969216,1048979711,GB
1048979712,1048980223,DE
+1048980224,1048980479,GB
1048980736,1048980991,GB
-1048981248,1048981503,GB
-1048982888,1048982943,DE
+1048981248,1048982527,GB
+1048982784,1048983039,DE
+1048983040,1048985695,GB
1048985696,1048985711,DE
+1048985712,1048985727,GB
1048985728,1048985735,DE
+1048985736,1048985791,GB
1048985792,1048985799,DE
+1048985800,1048985847,GB
1048985848,1048985855,DE
+1048985856,1048987479,GB
1048987480,1048987487,DE
+1048987488,1048991959,GB
1048991960,1048991967,DE
+1048991968,1048992527,GB
1048992528,1048992535,DE
+1048992536,1048992607,GB
1048992608,1048992623,DE
+1048992624,1048992639,GB
1048992640,1048992703,DE
+1048992704,1048992743,GB
1048992744,1048992751,DE
+1048992752,1049008127,GB
1049008128,1049009151,DE
+1049009152,1049017903,GB
1049017904,1049017911,DE
-1049018368,1049021439,DE
-1049021440,1049021695,GB
-1049021696,1049022463,DE
+1049017912,1049018367,GB
+1049018368,1049020415,DE
+1049020416,1049020927,GB
+1049020928,1049022463,DE
+1049022464,1049026815,GB
1049026816,1049029375,DE
+1049029376,1049030655,GB
1049030656,1049031679,DE
+1049031680,1049032093,GB
1049032094,1049032094,DE
+1049032095,1049034751,GB
1049034752,1049067519,EG
1049067520,1049100287,DK
1049100288,1049231359,GB
@@ -23589,11 +24355,11 @@
1049296896,1049362431,EG
1049362432,1049366527,GB
1049366528,1049368575,DE
-1049368576,1049368656,GB
+1049368576,1049368656,RO
1049368657,1049368657,DE
-1049368658,1049369983,GB
+1049368658,1049369983,RO
1049369984,1049370047,DE
-1049370048,1049370623,GB
+1049370048,1049370623,RO
1049370624,1049378815,AT
1049378816,1049395199,EG
1049395200,1049411583,NL
@@ -23650,19 +24416,20 @@
1050471032,1050471039,DE
1050471040,1050471167,GB
1050471168,1050673151,DE
-1050673152,1050804223,FR
+1050673152,1050730495,FR
+1050730496,1050732543,GP
+1050732544,1050804223,FR
1050804224,1050869759,MK
1050869760,1050935295,NL
-1050938112,1050938623,ES
-1050938880,1050939135,ES
+1050938112,1050939135,ES
1050939136,1050939647,BR
1050939648,1050940159,MX
1050940160,1050940671,GB
1050940672,1050940927,HK
+1050941184,1050941439,ES
1050941440,1050941695,GB
1050941696,1050941951,DE
-1050941952,1050942207,US
-1050942464,1050942719,US
+1050941952,1050942719,US
1050942720,1050942975,BR
1050943232,1050943487,ES
1050945536,1050945791,ES
@@ -23709,9 +24476,7 @@
1051729920,1051738111,FI
1051738112,1051746303,BG
1051746304,1051746815,RU
-1051746816,1051747327,BG
-1051747328,1051748351,RU
-1051748352,1051754495,BG
+1051746816,1051754495,BG
1051754496,1051762687,DE
1051762688,1051770879,SK
1051770880,1051779071,NO
@@ -23726,16 +24491,21 @@
1051924480,1051948031,NL
1051948032,1051949055,CH
1051949056,1051983871,NL
+1051983872,1051984663,GB
1051984664,1051984671,DE
+1051984672,1051984751,GB
1051984752,1051984767,DE
-1051987968,1051992063,GB
+1051984768,1051994879,GB
1051994880,1051995135,DE
-1052001280,1052002303,DE
+1051995136,1052011263,GB
1052011264,1052012287,DE
+1052012288,1052017535,GB
1052017536,1052017567,DE
+1052017568,1052041215,GB
1052041216,1052041471,DE
+1052041472,1052043215,GB
1052043216,1052043231,DE
-1052045312,1052046079,DE
+1052043232,1052049407,GB
1052049408,1052057599,PL
1052057600,1052065791,RU
1052065792,1052082175,SE
@@ -24500,15 +25270,15 @@
1052504384,1052507583,GB
1052507648,1052507775,GB
1052507904,1052508415,GB
-1052516352,1052675071,GB
-1052675072,1052676095,IE
-1052676096,1052704767,GB
+1052516352,1052583935,GB
+1052583936,1052585983,IE
+1052585984,1052704767,GB
1052704768,1052712959,NL
1052712960,1052770303,GB
1052770304,1052778495,CH
1052778496,1052786687,RU
-1052786688,1052794879,GR
-1052794880,1052803071,NL
+1052786688,1052789759,GR
+1052789760,1052803071,NL
1052803072,1052803327,GB
1052803584,1052804095,GB
1052804096,1052805119,BG
@@ -24533,7 +25303,9 @@
1053130752,1053138943,NL
1053138944,1053147135,FI
1053147136,1053163519,SK
-1053163520,1053294591,DK
+1053163520,1053173503,DK
+1053173504,1053173631,SE
+1053173632,1053294591,DK
1053294616,1053294623,AT
1053294656,1053294679,AT
1053295104,1053296639,AT
@@ -24542,15 +25314,17 @@
1053302780,1053302783,FR
1053302784,1053303807,GB
1053307980,1053307983,GB
+1053308824,1053308827,GB
+1053308864,1053308867,GB
1053310144,1053310207,SK
1053312872,1053312887,DK
1053312912,1053312927,DK
1053313304,1053313307,GB
1053313496,1053313503,GB
+1053313764,1053313767,GB
1053318912,1053318943,FI
-1053319168,1053321215,GB
+1053321216,1053321471,ES
1053325824,1053326335,DE
-1053326398,1053326398,BE
1053326504,1053326527,BE
1053326544,1053326551,BE
1053326556,1053326559,BE
@@ -24558,6 +25332,7 @@
1053329516,1053329535,ES
1053332992,1053334015,BE
1053335552,1053336575,ZA
+1053344256,1053344767,GB
1053349952,1053349967,IE
1053350408,1053350415,BE
1053350492,1053350503,BE
@@ -24570,7 +25345,9 @@
1053376512,1053392895,HU
1053392896,1053401087,FR
1053401088,1053409279,DE
-1053409280,1053425663,IQ
+1053409280,1053414143,IQ
+1053414144,1053414399,IT
+1053414400,1053425663,IQ
1053425664,1053556735,CH
1053556736,1053564927,FI
1053564928,1053573119,GB
@@ -24588,93 +25365,73 @@
1053671424,1053687807,LV
1053687808,1053753343,DE
1053753344,1053818879,NL
-1053818880,1053819391,DE
-1053819424,1053819439,DE
-1053819520,1053819563,DE
-1053819584,1053819647,DE
-1053820160,1053820927,DE
-1053821440,1053821447,GB
-1053821568,1053821695,GB
-1053824000,1053824007,DE
+1053818880,1053820415,GB
+1053820416,1053820927,DE
+1053820928,1053824015,GB
1053824016,1053824023,DE
-1053824064,1053824095,DE
-1053824128,1053824255,NL
-1053825024,1053825791,ES
-1053825792,1053825919,GB
-1053825920,1053826047,ES
-1053826816,1053827327,DE
+1053824024,1053826815,GB
+1053826816,1053827071,DE
+1053827072,1053827327,GB
1053827328,1053827583,BE
-1053828096,1053829119,GB
+1053827584,1053831167,GB
1053831168,1053831423,DE
-1053834944,1053834975,DE
-1053835264,1053835775,DE
-1053837440,1053837455,GB
-1053837568,1053838335,GB
+1053831424,1053838335,GB
1053838336,1053838591,DE
-1053839360,1053840383,DE
-1053840400,1053840415,DE
+1053838592,1053840447,GB
1053840448,1053840511,DE
-1053843200,1053843215,GB
+1053840512,1053843215,GB
1053843216,1053843223,DK
-1053843224,1053843455,GB
+1053843224,1053843711,GB
1053843712,1053843967,DE
-1053843968,1053844223,GB
-1053844224,1053844479,DE
-1053844992,1053845503,DE
-1053845728,1053845735,DE
+1053843968,1053846015,GB
1053846016,1053846527,DE
-1053846784,1053847551,DE
-1053847552,1053849599,GB
-1053849600,1053850367,DE
-1053851136,1053851647,DE
+1053846528,1053846783,GB
+1053846784,1053847039,DE
+1053847040,1053851903,GB
1053851904,1053851919,FR
-1053852032,1053852047,IT
-1053852112,1053852127,GB
+1053851920,1053852127,GB
1053852128,1053852159,DE
-1053855744,1053859839,GB
-1053859840,1053860863,DE
-1053862848,1053862879,DE
-1053863424,1053864959,DE
-1053865216,1053865727,DE
+1053852160,1053864703,GB
+1053864704,1053864959,DE
+1053864960,1053865727,GB
1053865728,1053865759,US
-1053865984,1053866239,DE
-1053866496,1053866823,DE
-1053866832,1053866847,DE
-1053867520,1053867775,DE
-1053867976,1053867999,DE
-1053868008,1053868015,DE
-1053868288,1053868383,ES
+1053865760,1053866799,GB
+1053866800,1053866807,DE
+1053866808,1053866839,GB
+1053866840,1053866847,DE
+1053866848,1053868351,GB
+1053868352,1053868383,ES
+1053868384,1053868399,GB
1053868400,1053868407,ES
-1053868456,1053868479,ES
-1053868480,1053868543,FR
-1053868800,1053869567,DE
+1053868408,1053868463,GB
+1053868464,1053868479,ES
+1053868480,1053870079,GB
1053870080,1053870335,DE
-1053870336,1053870591,GB
-1053870848,1053871359,DE
-1053871616,1053871871,DE
-1053872384,1053872447,DE
-1053872512,1053872639,FR
-1053872896,1053873663,DE
+1053870336,1053873407,GB
+1053873408,1053873663,DE
+1053873664,1053876223,GB
1053876224,1053876479,DE
-1053876480,1053876735,GB
-1053876736,1053876991,DE
-1053877248,1053878271,DE
+1053876480,1053877759,GB
+1053877760,1053878271,DE
1053878272,1053878783,GB
-1053878784,1053879047,DE
-1053879056,1053879071,DE
-1053879104,1053879167,GB
-1053879296,1053882111,DE
+1053878784,1053879039,DE
+1053879040,1053880319,GB
+1053880320,1053881855,DE
+1053881856,1053882367,GB
1053882368,1053882879,DE
1053882880,1053883391,GB
-1053883392,1053884415,DE
-1053884416,1053891071,BH
-1053891072,1053891327,SA
-1053891328,1053892607,BH
+1053883392,1053883647,DE
+1053883648,1053884159,GB
+1053884160,1053884415,DE
+1053884416,1053892607,BH
1053892608,1053900799,DE
1053900800,1053917183,NO
1053917184,1053925375,UZ
-1053925376,1053925887,GB
-1053925888,1053927159,SE
+1053925376,1053926399,SE
+1053926400,1053926495,NO
+1053926496,1053926511,GB
+1053926512,1053926655,NO
+1053926656,1053927159,SE
1053927160,1053927199,FI
1053927200,1053933567,SE
1053933568,1053949951,CZ
@@ -24736,21 +25493,21 @@
1054646272,1054654463,SE
1054654464,1054662655,MK
1054662656,1054670847,FI
-1054670848,1054671103,GB
+1054670848,1054671371,GB
1054671372,1054671375,IE
-1054671416,1054671423,IE
-1054671432,1054671439,IE
-1054672320,1054672335,US
+1054671376,1054671415,GB
+1054671416,1054671419,IE
+1054671420,1054671431,GB
+1054671432,1054671435,IE
+1054671436,1054672351,GB
1054672352,1054672367,IE
-1054672384,1054672447,IE
+1054672368,1054672775,GB
1054672776,1054672783,IE
-1054672792,1054672799,IE
-1054674456,1054674471,IE
-1054674504,1054674511,IE
-1054674520,1054674527,GB
+1054672784,1054674687,GB
1054674688,1054675199,IE
-1054675456,1054675711,IE
+1054675200,1054675967,GB
1054675968,1054676223,US
+1054676224,1054679039,GB
1054679040,1054687231,UA
1054687232,1054703615,MD
1054703616,1054711807,BG
@@ -24802,7 +25559,9 @@
1056014336,1056022527,EG
1056022528,1056030719,GB
1056030720,1056047103,FI
-1056047104,1056178175,DK
+1056047104,1056047615,DK
+1056047616,1056048127,SE
+1056048128,1056178175,DK
1056178176,1056194559,UA
1056194560,1056210943,FR
1056210944,1056219135,PL
@@ -24862,15 +25621,21 @@
1063057433,1063057433,CA
1063057434,1063748863,US
1063748864,1063749119,GH
-1063749120,1063895039,US
+1063749120,1063817215,US
+1063817216,1063819263,CA
+1063819264,1063895039,US
1063895040,1063899135,KR
1063899136,1064124927,US
1064124928,1064125439,EC
1064125440,1064127487,US
1064127488,1064127999,EC
-1064128000,1064445183,US
+1064128000,1064204287,US
+1064204288,1064205311,MX
+1064205312,1064445183,US
1064445184,1064445439,PK
-1064445440,1065371647,US
+1064445440,1064785407,US
+1064785408,1064785919,GB
+1064785920,1065371647,US
1065371648,1065372959,PR
1065372960,1065372991,US
1065372992,1065373695,PR
@@ -24894,7 +25659,11 @@
1065539584,1065539839,GB
1065539840,1065547775,US
1065547776,1065548031,GB
-1065548032,1065611263,US
+1065548032,1065588735,US
+1065588736,1065590015,CA
+1065590016,1065590079,US
+1065590080,1065590783,CA
+1065590784,1065611263,US
1065611264,1065615359,PR
1065615360,1065811967,US
1065811968,1065820159,CA
@@ -24917,11 +25686,12 @@
1066311955,1066311955,US
1066311956,1066315775,CA
1066315776,1066352639,US
-1066352640,1066356223,BB
-1066356224,1066356735,VG
-1066356736,1066358271,JM
-1066358272,1066358527,AG
-1066358528,1066369023,JM
+1066352640,1066354687,JM
+1066354688,1066356735,BB
+1066356736,1066357759,AG
+1066357760,1066358271,JM
+1066358272,1066358783,AG
+1066358784,1066369023,JM
1066369024,1066830303,US
1066830304,1066830311,SG
1066830312,1066831071,US
@@ -24936,9 +25706,7 @@
1067237888,1067238399,JP
1067238400,1067294719,US
1067294720,1067294975,CA
-1067294976,1067384831,US
-1067384832,1067393023,JP
-1067393024,1067450879,US
+1067294976,1067450879,US
1067450880,1067450880,AL
1067450881,1067471689,US
1067471690,1067471690,SV
@@ -24964,9 +25732,7 @@
1067693056,1067693567,CO
1067693568,1067715631,US
1067715632,1067715632,SA
-1067715633,1067726847,US
-1067726848,1067727359,EC
-1067727360,1067736831,US
+1067715633,1067736831,US
1067736832,1067737087,PR
1067737088,1067740159,US
1067740160,1067741183,HN
@@ -24975,9 +25741,7 @@
1067810190,1067823171,US
1067823172,1067823172,TZ
1067823173,1067823173,AL
-1067823174,1067824895,US
-1067824896,1067825151,PR
-1067825152,1067826283,US
+1067823174,1067826283,US
1067826284,1067826284,SE
1067826285,1067831584,US
1067831585,1067831585,BE
@@ -25057,17 +25821,16 @@
1071201552,1071201567,TH
1071201568,1071206911,US
1071206912,1071207167,HK
-1071207168,1071217151,US
-1071217152,1071217407,AU
-1071217408,1071255525,US
+1071207168,1071216639,US
+1071216640,1071217151,AU
+1071217152,1071255525,US
1071255526,1071255526,DE
1071255527,1071255839,US
1071255840,1071255847,TW
-1071255848,1071276031,US
-1071276032,1071278959,PH
+1071255848,1071278959,US
1071278960,1071278963,SG
-1071278964,1071284223,PH
-1071284224,1071292415,AU
+1071278964,1071290367,US
+1071290368,1071292415,AU
1071292416,1071300607,US
1071300608,1071301631,FR
1071301632,1071318783,US
@@ -25146,8 +25909,8 @@
1072953600,1072953607,IE
1072953608,1073022975,US
1073022976,1073025535,HN
-1073025536,1073026559,US
-1073026560,1073027071,PR
+1073025536,1073026047,US
+1073026048,1073027071,PR
1073027072,1073028095,NI
1073028096,1073028607,US
1073028608,1073029119,GD
@@ -25163,8 +25926,7 @@
1073041408,1073042943,CO
1073042944,1073043455,US
1073043456,1073043967,PR
-1073043968,1073044479,US
-1073044480,1073044735,BB
+1073043968,1073044735,US
1073044736,1073045503,PR
1073045504,1073047551,CO
1073047552,1073048836,US
@@ -25175,17 +25937,13 @@
1073049088,1073049599,PR
1073049600,1073052671,BS
1073052672,1073075199,US
-1073075200,1073076223,CA
-1073076224,1073116159,US
+1073075200,1073075455,CA
+1073075456,1073116159,US
1073116160,1073117183,GB
1073117184,1073118207,US
1073118208,1073118719,NL
1073118720,1073119231,DE
-1073119232,1073124195,US
-1073124196,1073124205,BR
-1073124206,1073124295,US
-1073124296,1073124305,RU
-1073124306,1073373183,US
+1073119232,1073373183,US
1073373184,1073381375,CA
1073381376,1073446399,US
1073446400,1073446911,SG
@@ -25308,7 +26066,9 @@
1074419200,1074420479,US
1074420480,1074420735,CA
1074420736,1074421503,US
-1074421504,1074423551,CA
+1074421504,1074422271,CA
+1074422272,1074422527,US
+1074422528,1074423551,CA
1074423552,1074425599,US
1074425600,1074425855,CA
1074425856,1074428415,US
@@ -25338,7 +26098,9 @@
1074442752,1074445567,US
1074445568,1074445823,CA
1074445824,1074447103,US
-1074447104,1074448383,CA
+1074447104,1074447615,CA
+1074447616,1074447871,US
+1074447872,1074448383,CA
1074448384,1074448895,US
1074448896,1074449151,CA
1074449152,1074449407,US
@@ -25346,7 +26108,9 @@
1074449664,1074449919,US
1074449920,1074450431,CA
1074450432,1074450687,US
-1074450688,1074452223,CA
+1074450688,1074451455,CA
+1074451456,1074451711,US
+1074451712,1074452223,CA
1074452224,1074452991,US
1074452992,1074453247,CA
1074453248,1074453503,US
@@ -25368,74 +26132,82 @@
1074458112,1074458367,US
1074458368,1074458623,CA
1074458624,1074459903,US
-1074459904,1074460671,CA
-1074460672,1074460927,US
-1074460928,1074461951,CA
+1074459904,1074460415,CA
+1074460416,1074461183,US
+1074461184,1074461951,CA
1074461952,1074463743,US
-1074463744,1074465535,CA
+1074463744,1074464511,CA
+1074464512,1074464767,US
+1074464768,1074465535,CA
1074465536,1074465791,US
1074465792,1074466815,CA
1074466816,1074467071,US
1074467072,1074467839,CA
-1074467840,1074468095,US
-1074468096,1074468351,CA
-1074468352,1074468863,US
+1074467840,1074468863,US
1074468864,1074469119,CA
1074469120,1074469375,US
1074469376,1074469631,CA
1074469632,1074470399,US
-1074470400,1074472191,CA
-1074472192,1074472447,US
-1074472448,1074474751,CA
+1074470400,1074471935,CA
+1074471936,1074472447,US
+1074472448,1074473983,CA
+1074473984,1074474239,US
+1074474240,1074474751,CA
1074474752,1074475519,US
1074475520,1074476031,CA
1074476032,1074476287,US
1074476288,1074479871,CA
1074479872,1074480127,US
1074480128,1074480383,CA
-1074480384,1074480639,US
-1074480640,1074481151,CA
+1074480384,1074480895,US
+1074480896,1074481151,CA
1074481152,1074481407,US
-1074481408,1074482175,CA
-1074482176,1074482431,US
-1074482432,1074484479,CA
+1074481408,1074481919,CA
+1074481920,1074482431,US
+1074482432,1074482687,CA
+1074482688,1074482943,US
+1074482944,1074484479,CA
1074484480,1074484735,US
-1074484736,1074486783,CA
-1074486784,1074487039,US
-1074487040,1074488319,CA
+1074484736,1074486527,CA
+1074486528,1074487039,US
+1074487040,1074487551,CA
+1074487552,1074487807,US
+1074487808,1074488319,CA
1074488320,1074488831,US
1074488832,1074491391,CA
1074491392,1074491647,US
1074491648,1074493439,CA
1074493440,1074495743,US
-1074495744,1074497023,CA
-1074497024,1074497535,US
+1074495744,1074496511,CA
+1074496512,1074497535,US
1074497536,1074497791,CA
1074497792,1074498303,US
1074498304,1074498815,CA
-1074498816,1074499327,US
-1074499328,1074501375,CA
-1074501376,1074501887,US
-1074501888,1074503935,CA
-1074503936,1074504447,US
-1074504448,1074505215,CA
+1074498816,1074499583,US
+1074499584,1074500351,CA
+1074500352,1074500607,US
+1074500608,1074501375,CA
+1074501376,1074502143,US
+1074502144,1074503935,CA
+1074503936,1074504703,US
+1074504704,1074505215,CA
1074505216,1074505471,US
1074505472,1074506495,CA
1074506496,1074507007,US
-1074507008,1074508031,CA
-1074508032,1074508287,US
+1074507008,1074507775,CA
+1074507776,1074508287,US
1074508288,1074508799,CA
1074508800,1074509055,US
1074509056,1074509567,CA
1074509568,1074510079,US
-1074510080,1074513151,CA
+1074510080,1074512383,CA
+1074512384,1074512639,US
+1074512640,1074513151,CA
1074513152,1074703615,US
1074703616,1074703871,GB
1074703872,1074704383,US
1074704384,1074704639,GB
-1074704640,1074708991,US
-1074708992,1074709247,PH
-1074709248,1074733055,US
+1074704640,1074733055,US
1074733056,1074737151,AU
1074737152,1074745343,CA
1074745344,1074757631,US
@@ -25444,8 +26216,10 @@
1074763104,1074765823,CA
1074765824,1074777343,US
1074777344,1074777599,AU
-1074777600,1074868223,US
-1074868224,1074872319,CA
+1074777600,1074839551,US
+1074839552,1074847743,SA
+1074847744,1074870271,US
+1074870272,1074872319,CA
1074872320,1074937855,US
1074937856,1074946047,CA
1074946048,1074954239,US
@@ -25479,8 +26253,10 @@
1075970048,1075973375,CA
1075973376,1075973631,US
1075973632,1075980287,CA
-1075980288,1075982335,US
-1075982336,1075985151,CA
+1075980288,1075980543,US
+1075980544,1075981567,CA
+1075981568,1075982079,US
+1075982080,1075985151,CA
1075985152,1075985407,US
1075985408,1075990783,CA
1075990784,1075991039,US
@@ -25517,7 +26293,11 @@
1076026208,1076028927,CA
1076028928,1076029183,BZ
1076029184,1076032511,CA
-1076032512,1076033543,US
+1076032512,1076033023,US
+1076033024,1076033151,CA
+1076033152,1076033183,US
+1076033184,1076033279,CA
+1076033280,1076033543,US
1076033544,1076033679,CA
1076033680,1076033695,US
1076033696,1076033887,CA
@@ -25621,7 +26401,9 @@
1076851712,1076855044,US
1076855045,1076855045,MX
1076855046,1076857855,US
-1076857856,1076858111,PR
+1076857856,1076858057,PR
+1076858058,1076858059,US
+1076858060,1076858111,PR
1076858112,1076879505,US
1076879506,1076879507,CA
1076879508,1076880639,US
@@ -25643,7 +26425,9 @@
1077506048,1077510143,LS
1077510144,1077511167,US
1077511168,1077511423,UY
-1077511424,1077641215,US
+1077511424,1077551103,US
+1077551104,1077555199,CA
+1077555200,1077641215,US
1077641216,1077657599,CA
1077657600,1077841151,US
1077841152,1077841407,GB
@@ -25717,9 +26501,13 @@
1078280192,1078285008,CA
1078285009,1078285011,US
1078285012,1078288383,CA
-1078288384,1078433631,US
+1078288384,1078429695,US
+1078429696,1078429951,GR
+1078429952,1078433631,US
1078433632,1078433663,CN
-1078433664,1078438399,US
+1078433664,1078436607,US
+1078436608,1078436735,CA
+1078436736,1078438399,US
1078438400,1078438655,CA
1078438656,1078438911,US
1078438912,1078438929,CN
@@ -25795,7 +26583,9 @@
1078817792,1078819327,CA
1078819328,1078820095,US
1078820096,1078820863,CA
-1078820864,1079319295,US
+1078820864,1078864383,US
+1078864384,1078864895,CA
+1078864896,1079319295,US
1079319296,1079319551,CN
1079319552,1079320575,US
1079320576,1079322831,CA
@@ -25814,9 +26604,7 @@
1079385600,1079386623,CA
1079386624,1079388159,US
1079388160,1079389183,CA
-1079389184,1079389951,US
-1079389952,1079390207,CA
-1079390208,1079392255,US
+1079389184,1079392255,US
1079392256,1079393791,CA
1079393792,1079396351,US
1079396352,1079397375,MP
@@ -25844,12 +26632,8 @@
1079433216,1079435263,CR
1079435264,1079435775,CO
1079435776,1079439359,US
-1079439360,1079439407,CA
-1079439408,1079439615,US
-1079439616,1079439871,CA
-1079439872,1079440191,US
-1079440192,1079440207,CA
-1079440208,1079459839,US
+1079439360,1079441407,CA
+1079441408,1079459839,US
1079459840,1079508991,CA
1079508992,1079567359,US
1079567360,1079567615,AU
@@ -25940,8 +26724,7 @@
1081387520,1081387775,PA
1081387776,1081391103,US
1081391104,1081393151,PA
-1081393152,1081394687,US
-1081394688,1081397247,CL
+1081393152,1081397247,CL
1081397248,1081397759,US
1081397760,1081398783,CL
1081398784,1081399295,US
@@ -25958,8 +26741,8 @@
1081445376,1081446399,CL
1081446400,1081460735,US
1081460736,1081462783,PA
-1081462784,1081466879,BR
-1081466880,1081479167,US
+1081462784,1081464831,BR
+1081464832,1081479167,US
1081479168,1081483263,CA
1081483264,1081542579,US
1081542580,1081542591,CA
@@ -25975,9 +26758,13 @@
1081597952,1081634303,US
1081634304,1081634815,SG
1081634816,1081637375,HK
-1081637376,1081915007,US
-1081915008,1081915135,GB
-1081915136,1081978623,US
+1081637376,1081888391,US
+1081888392,1081888399,CA
+1081888400,1081896159,US
+1081896160,1081896167,CA
+1081896168,1081897071,US
+1081897072,1081897079,CA
+1081897080,1081978623,US
1081978624,1081978631,CH
1081978632,1082093679,US
1082093680,1082093695,AU
@@ -25987,16 +26774,20 @@
1082683392,1082687487,CA
1082687488,1082753023,US
1082753024,1082785791,CA
-1082785792,1082786591,SG
+1082785792,1082786591,US
1082786592,1082786607,HK
-1082786608,1082789887,SG
-1082789888,1082793983,AU
-1082793984,1082945535,US
+1082786608,1082787161,US
+1082787162,1082787162,SG
+1082787163,1082788655,US
+1082788656,1082788663,SG
+1082788664,1082789887,US
+1082789888,1082791935,AU
+1082791936,1082945535,US
1082945536,1082949631,CA
1082949632,1082982399,US
1082982400,1083015167,CA
-1083015168,1083142399,US
-1083142400,1083142655,IN
+1083015168,1083142143,US
+1083142144,1083142655,IN
1083142656,1083267583,US
1083267584,1083268095,JP
1083268096,1083396095,US
@@ -26016,7 +26807,9 @@
1085024320,1085439999,US
1085440000,1085448191,CA
1085448192,1085456383,US
-1085456384,1085464575,PR
+1085456384,1085457919,PR
+1085457920,1085458175,US
+1085458176,1085464575,PR
1085464576,1085526015,US
1085526016,1085530111,CA
1085530112,1085538303,US
@@ -26028,9 +26821,7 @@
1085923328,1085997055,US
1085997056,1086013439,CA
1086013440,1086042111,US
-1086042112,1086045407,CA
-1086045408,1086045439,US
-1086045440,1086046207,CA
+1086042112,1086046207,CA
1086046208,1086050815,US
1086050816,1086051327,CA
1086051328,1086070783,US
@@ -26038,7 +26829,7 @@
1086074880,1086267391,US
1086267392,1086271487,CA
1086271488,1086421503,US
-1086421504,1086422015,GU
+1086421504,1086422015,MP
1086422016,1086922751,US
1086922752,1086930943,CA
1086930944,1086955519,US
@@ -26057,15 +26848,11 @@
1087375204,1087375207,GB
1087375208,1087405407,US
1087405408,1087405423,MX
-1087405424,1087413247,US
-1087413248,1087413375,CA
-1087413376,1087413759,US
-1087413760,1087413879,GB
+1087405424,1087413879,US
1087413880,1087413883,ES
-1087413884,1087413895,GB
+1087413884,1087413895,US
1087413896,1087413903,DE
-1087413904,1087414015,GB
-1087414016,1087416767,US
+1087413904,1087416767,US
1087416768,1087416831,CA
1087416832,1087416985,US
1087416986,1087416986,GB
@@ -26073,18 +26860,20 @@
1087418368,1087419391,GB
1087419392,1087430191,US
1087430192,1087430195,FR
-1087430196,1087434751,US
-1087434752,1087438847,FR
+1087430196,1087436799,US
+1087436800,1087438847,FR
1087438848,1087442323,US
1087442324,1087442327,MX
1087442328,1087444223,US
1087444224,1087444479,GB
-1087444480,1087466495,US
-1087466496,1087466688,GB
+1087444480,1087465471,US
+1087465472,1087466688,CA
1087466689,1087466689,US
-1087466690,1087466709,GB
+1087466690,1087466709,CA
1087466710,1087466710,US
-1087466711,1087467519,GB
+1087466711,1087466883,CA
+1087466884,1087466887,GB
+1087466888,1087467519,CA
1087467520,1087501471,US
1087501472,1087501479,HK
1087501480,1087501535,US
@@ -26101,7 +26890,17 @@
1087514624,1087516671,BB
1087516672,1087522125,US
1087522126,1087522126,NL
-1087522127,1087575807,US
+1087522127,1087538943,US
+1087538944,1087539199,NL
+1087539200,1087539455,US
+1087539456,1087539711,NL
+1087539712,1087542015,US
+1087542016,1087542271,NL
+1087542272,1087544319,US
+1087544320,1087544575,NL
+1087544576,1087544831,US
+1087544832,1087545343,NL
+1087545344,1087575807,US
1087575808,1087575815,MX
1087575816,1087586967,US
1087586968,1087586971,NL
@@ -26111,45 +26910,45 @@
1087588352,1087590399,GB
1087590400,1087591237,US
1087591238,1087591238,FR
-1087591239,1087594495,US
-1087594496,1087598591,DK
-1087598592,1087613115,US
+1087591239,1087613115,US
1087613116,1087613119,FR
1087613120,1087686655,US
1087686656,1087686911,PR
1087686912,1087693151,US
1087693152,1087693155,GB
-1087693156,1087700991,US
-1087700992,1087706679,AU
-1087706680,1087706683,US
-1087706684,1087709183,AU
+1087693156,1087707135,US
+1087707136,1087709183,AU
1087709184,1087714335,US
1087714336,1087714367,NL
1087714368,1087715327,US
1087715328,1087717375,PA
1087717376,1087726015,US
1087726016,1087726047,FR
-1087726048,1087735743,US
-1087735744,1087735807,CA
-1087735808,1087741951,US
-1087741952,1087743487,GB
+1087726048,1087743487,US
1087743488,1087743569,FR
1087743570,1087743570,GB
1087743571,1087743597,FR
1087743598,1087743598,US
-1087743599,1087743743,FR
-1087743744,1087746047,GB
-1087746048,1087758335,US
+1087743599,1087743615,FR
+1087743616,1087743743,US
+1087743744,1087743999,GB
+1087744000,1087758335,US
1087758336,1087766527,PR
-1087766528,1087798943,US
+1087766528,1087781887,US
+1087781888,1087782143,GB
+1087782144,1087798943,US
1087798944,1087798975,CA
-1087798976,1087837359,US
+1087798976,1087821567,US
+1087821568,1087821823,GB
+1087821824,1087837359,US
1087837360,1087837367,BR
1087837368,1087837695,US
1087837696,1087837951,BR
1087837952,1087860735,US
1087860736,1087860991,GB
-1087860992,1087862783,US
+1087860992,1087861279,US
+1087861280,1087861311,GB
+1087861312,1087862783,US
1087862784,1087864831,PA
1087864832,1087873023,US
1087873024,1087873535,CA
@@ -26310,16 +27109,10 @@
1089266432,1089266943,GB
1089266944,1089306623,US
1089306624,1089339391,PR
-1089339392,1089394687,US
-1089394688,1089395711,CA
-1089395712,1089404927,US
+1089339392,1089404927,US
1089404928,1089437695,CA
1089437696,1089462271,US
-1089462272,1089462527,CA
-1089462528,1089462783,US
-1089462784,1089463039,CA
-1089463040,1089463295,US
-1089463296,1089465343,CA
+1089462272,1089465343,CA
1089465344,1089961983,US
1089961984,1089970175,CA
1089970176,1089974271,PR
@@ -26358,9 +27151,7 @@
1091809536,1091809791,CA
1091809792,1091812607,US
1091812608,1091812855,JP
-1091812856,1091960831,US
-1091960832,1092026367,CA
-1092026368,1092075519,US
+1091812856,1092075519,US
1092075520,1092091903,PR
1092091904,1093017599,US
1093017600,1093021695,CA
@@ -26378,7 +27169,9 @@
1093110841,1093110843,US
1093110844,1093113783,CA
1093113784,1093113791,US
-1093113792,1093120511,CA
+1093113792,1093118207,CA
+1093118208,1093118463,HK
+1093118464,1093120511,CA
1093120512,1093120767,GB
1093120768,1093127270,CA
1093127271,1093127271,US
@@ -26396,8 +27189,8 @@
1093701632,1093708287,BB
1093708288,1093709311,LC
1093709312,1093716479,BB
-1093716480,1093718015,GD
-1093718016,1093719807,BB
+1093716480,1093717759,GD
+1093717760,1093719807,BB
1093719808,1093720575,LC
1093720576,1093721343,VG
1093721344,1093723391,BB
@@ -26472,7 +27265,9 @@
1094178304,1094178559,SG
1094178560,1094178815,US
1094178816,1094179071,IE
-1094179072,1094565887,US
+1094179072,1094531071,US
+1094531072,1094531839,CA
+1094531840,1094565887,US
1094565888,1094582271,CA
1094582272,1095450623,US
1095450624,1095467007,BS
@@ -26500,25 +27295,7 @@
1097737000,1097737009,RU
1097737010,1097737897,US
1097737898,1097737907,SG
-1097737908,1097738585,US
-1097738586,1097738595,BR
-1097738596,1097738675,US
-1097738676,1097738685,SG
-1097738686,1097739403,US
-1097739404,1097739413,BR
-1097739414,1097739569,US
-1097739570,1097739579,GB
-1097739580,1097741863,US
-1097741864,1097741873,HR
-1097741874,1097741913,US
-1097741914,1097741923,MK
-1097741924,1097742023,US
-1097742024,1097742033,GB
-1097742034,1097742209,US
-1097742210,1097742219,GB
-1097742220,1097742269,US
-1097742270,1097742279,RU
-1097742280,1097742375,US
+1097737908,1097742375,US
1097742376,1097742385,AU
1097742386,1097742505,US
1097742506,1097742515,KW
@@ -26536,7 +27313,9 @@
1097830400,1097834495,CA
1097834496,1097896191,US
1097896192,1097897215,VI
-1097897216,1097947135,US
+1097897216,1097909503,US
+1097909504,1097909759,CA
+1097909760,1097947135,US
1097947136,1097949183,VI
1097949184,1097951231,US
1097951232,1097953279,VI
@@ -26550,7 +27329,9 @@
1098096288,1098096295,BR
1098096296,1098178383,US
1098178384,1098178391,CA
-1098178392,1098891623,US
+1098178392,1098507263,US
+1098507264,1098507519,CA
+1098507520,1098891623,US
1098891624,1098891631,AU
1098891632,1098892255,US
1098892256,1098892263,AU
@@ -26586,9 +27367,7 @@
1101475840,1101479935,CO
1101479936,1101484031,US
1101484032,1101488127,CO
-1101488128,1101521663,US
-1101521664,1101521919,AS
-1101521920,1101542399,US
+1101488128,1101542399,US
1101542400,1101542911,CO
1101542912,1101551213,US
1101551214,1101551214,AU
@@ -26645,11 +27424,9 @@
1103603712,1103605759,EC
1103605760,1103623167,US
1103623168,1103623679,CO
-1103623680,1103947199,US
-1103947200,1103947215,CA
-1103947216,1103987967,US
-1103987968,1103988223,BR
-1103988224,1104166911,US
+1103623680,1103992319,US
+1103992320,1103992575,FI
+1103992576,1104166911,US
1104166912,1104168959,CO
1104168960,1104265215,US
1104265216,1104265727,PH
@@ -26694,7 +27471,9 @@
1108033536,1108041727,CA
1108041728,1108054015,US
1108054016,1108066303,CA
-1108066304,1108492287,US
+1108066304,1108074495,US
+1108074496,1108076543,CA
+1108076544,1108492287,US
1108492288,1108500479,ZA
1108500480,1108525055,US
1108525056,1108541439,CA
@@ -26739,9 +27518,7 @@
1109931776,1109932031,US
1109932032,1109934591,CA
1109934592,1109934847,GB
-1109934848,1109936127,CA
-1109936128,1109936383,US
-1109936384,1109936895,CA
+1109934848,1109936895,CA
1109936896,1109937151,US
1109937152,1109938175,CA
1109938176,1109950463,US
@@ -26760,7 +27537,9 @@
1110270208,1110270335,CA
1110270336,1110310911,US
1110310912,1110376447,CA
-1110376448,1110444287,US
+1110376448,1110443535,US
+1110443536,1110443543,CA
+1110443544,1110444287,US
1110444288,1110444543,CA
1110444544,1110445055,US
1110445056,1110446591,CA
@@ -26784,7 +27563,13 @@
1110473984,1110474239,CA
1110474240,1110540287,US
1110540288,1110573055,CA
-1110573056,1110595583,PR
+1110573056,1110579967,PR
+1110579968,1110580223,US
+1110580224,1110589439,PR
+1110589440,1110591487,US
+1110591488,1110593279,PR
+1110593280,1110593535,US
+1110593536,1110595583,PR
1110595584,1110595776,US
1110595777,1110638591,PR
1110638592,1110642687,US
@@ -26804,7 +27589,8 @@
1110857472,1110859007,US
1110859008,1110859263,AU
1110859264,1110863871,US
-1110863872,1110867967,KY
+1110863872,1110865919,JM
+1110865920,1110867967,KY
1110867968,1110887423,US
1110887424,1110887679,IE
1110887680,1110929407,US
@@ -26879,8 +27665,8 @@
1112931328,1112931839,CA
1112931840,1113033727,US
1113033728,1113034239,PR
-1113034240,1113048063,US
-1113048064,1113048575,PR
+1113034240,1113047039,US
+1113047040,1113048575,PR
1113048576,1113591807,US
1113591808,1113595903,CA
1113595904,1113596415,CL
@@ -27044,27 +27830,9 @@
1114533376,1114533887,ZA
1114533888,1114537983,AO
1114537984,1114550271,CA
-1114550272,1114579209,US
-1114579210,1114579219,TR
-1114579220,1114579525,US
-1114579526,1114579535,AL
-1114579536,1114579801,US
-1114579802,1114579811,SA
-1114579812,1114579901,US
-1114579902,1114579911,FR
-1114579912,1114580243,US
-1114580244,1114580253,SA
-1114580254,1114580403,US
-1114580404,1114580413,ES
-1114580414,1114581051,US
-1114581052,1114581061,BR
-1114581062,1114581573,US
-1114581574,1114581583,UA
-1114581584,1114582301,US
-1114582302,1114582311,SG
-1114582312,1114582537,US
-1114582538,1114582547,JO
-1114582548,1114583099,US
+1114550272,1114578943,US
+1114578944,1114583039,CA
+1114583040,1114583099,US
1114583100,1114583109,FR
1114583110,1114584153,US
1114584154,1114584163,GR
@@ -27084,7 +27852,21 @@
1114730496,1114734591,CA
1114734592,1114782271,US
1114782272,1114782330,HK
-1114782331,1115113471,US
+1114782331,1115062271,US
+1115062272,1115063743,SA
+1115063744,1115063751,US
+1115063752,1115066767,SA
+1115066768,1115066783,US
+1115066784,1115067391,SA
+1115067392,1115067647,US
+1115067648,1115069439,SA
+1115069440,1115069951,US
+1115069952,1115073095,SA
+1115073096,1115073103,US
+1115073104,1115075457,SA
+1115075458,1115075467,US
+1115075468,1115078655,SA
+1115078656,1115113471,US
1115113472,1115114495,HN
1115114496,1115117055,US
1115117056,1115117311,GB
@@ -27167,15 +27949,17 @@
1117011456,1117011967,CA
1117011968,1117142271,US
1117142272,1117142527,CA
-1117142528,1117274111,US
+1117142528,1117198591,US
+1117198592,1117198847,CA
+1117198848,1117274111,US
1117274112,1117282303,CA
1117282304,1117413375,US
1117413376,1117413631,CA
1117413632,1117414143,US
1117414144,1117414911,CA
-1117414912,1117416703,US
-1117416704,1117417215,CA
-1117417216,1117417983,US
+1117414912,1117416447,US
+1117416448,1117416959,CA
+1117416960,1117417983,US
1117417984,1117418495,CA
1117418496,1117419007,US
1117419008,1117419519,CA
@@ -27283,21 +28067,15 @@
1118966016,1118966271,BR
1118966272,1118970367,US
1118970368,1118970623,GB
-1118970624,1118971647,US
-1118971648,1118971903,GY
-1118971904,1118975487,US
+1118970624,1118975487,US
1118975488,1118975743,KE
-1118975744,1118975999,US
-1118976000,1118976255,GB
-1118976256,1118986239,US
+1118975744,1118986239,US
1118986240,1118986495,GB
1118986496,1118986751,US
1118986752,1118987007,GB
1118987008,1118988287,US
1118988288,1118988543,CA
-1118988544,1118994175,US
-1118994176,1118994431,LR
-1118994432,1119072255,US
+1118988544,1119072255,US
1119072256,1119074303,CA
1119074304,1119110143,US
1119110144,1119111167,CA
@@ -27325,8 +28103,8 @@
1119477760,1119502335,US
1119502336,1119510527,CA
1119510528,1119555583,US
-1119555584,1119556095,PR
-1119556096,1119558143,US
+1119555584,1119555839,PR
+1119555840,1119558143,US
1119558144,1119558655,PR
1119558656,1119571967,US
1119571968,1119576063,CA
@@ -27411,11 +28189,10 @@
1120498944,1120499199,CA
1120499200,1120509951,US
1120509952,1120516095,SV
-1120516096,1120517375,US
-1120517376,1120517631,AR
-1120517632,1120518143,US
+1120516096,1120518143,US
1120518144,1120534527,CA
-1120534528,1120641023,US
+1120534528,1120636927,US
+1120636928,1120641023,HK
1120641024,1120657407,CA
1120657408,1120740351,US
1120740352,1120741375,TT
@@ -27445,14 +28222,20 @@
1121205248,1121205759,PR
1121205760,1121206271,LC
1121206272,1121230847,US
-1121230848,1121233681,CA
-1121233682,1121233682,US
-1121233683,1121239039,CA
-1121239040,1121247231,US
-1121247232,1121255423,CA
-1121255424,1121717115,US
-1121717116,1121717116,JP
-1121717117,1121763327,US
+1121230848,1121239039,CA
+1121239040,1121249279,US
+1121249280,1121251327,CA
+1121251328,1121252863,US
+1121252864,1121253119,BZ
+1121253120,1121254159,US
+1121254160,1121254167,CA
+1121254168,1121716991,US
+1121716992,1121717057,JP
+1121717058,1121717058,US
+1121717059,1121717247,JP
+1121717248,1121751039,US
+1121751040,1121753087,CA
+1121753088,1121763327,US
1121763328,1121767423,CA
1121767424,1121878015,US
1121878016,1121910783,CA
@@ -27475,16 +28258,15 @@
1122451456,1122455551,CO
1122455552,1122476031,US
1122476032,1122480127,PR
-1122480128,1122498559,US
-1122498560,1122499583,PR
-1122499584,1122500351,US
-1122500352,1122500607,MX
+1122480128,1122500607,US
1122500608,1122504703,HK
-1122504704,1122533375,US
+1122504704,1122515967,US
+1122515968,1122516991,CA
+1122516992,1122533375,US
1122533376,1122535423,GB
1122535424,1122538495,KR
-1122538496,1122635775,US
-1122635776,1122639871,CA
+1122538496,1122631679,US
+1122631680,1122639871,CA
1122639872,1122672639,US
1122672640,1122676735,AU
1122676736,1123123199,US
@@ -27508,7 +28290,8 @@
1123589888,1123590143,US
1123590144,1123598335,VI
1123598336,1123600383,CA
-1123600384,1123602431,US
+1123600384,1123600895,US
+1123600896,1123602431,AU
1123602432,1123606527,CA
1123606528,1123635624,US
1123635625,1123635625,JP
@@ -27529,9 +28312,9 @@
1123635911,1123635928,US
1123635929,1123635929,PH
1123635930,1123636479,US
-1123636480,1123636642,CL
+1123636480,1123636642,BR
1123636643,1123636643,US
-1123636644,1123636735,CL
+1123636644,1123636735,BR
1123636736,1123638539,US
1123638540,1123638540,PK
1123638541,1123638573,US
@@ -27566,9 +28349,11 @@
1123848192,1123852287,CA
1123852288,1123950591,US
1123950592,1123958783,CA
-1123958784,1124853798,US
-1124853799,1124853799,JP
-1124853800,1125064703,US
+1123958784,1123973631,US
+1123973632,1123973887,NL
+1123973888,1123974143,US
+1123974144,1123974399,NL
+1123974400,1125064703,US
1125064704,1125065215,GB
1125065216,1125082367,US
1125082368,1125082623,DE
@@ -27586,16 +28371,18 @@
1125156305,1125156305,DE
1125156306,1125228647,US
1125228648,1125228651,FI
-1125228652,1125237277,US
+1125228652,1125230591,US
+1125230592,1125230719,IE
+1125230720,1125237277,US
1125237278,1125237278,GB
1125237279,1125237919,US
1125237920,1125237923,GB
-1125237924,1125249023,US
-1125249024,1125253119,VE
+1125237924,1125251071,US
+1125251072,1125253119,VE
1125253120,1125474303,US
1125474304,1125478399,CA
-1125478400,1125481215,US
-1125481216,1125481727,CA
+1125478400,1125481471,US
+1125481472,1125481727,CA
1125481728,1125486591,US
1125486592,1125490687,CA
1125490688,1125498879,US
@@ -27621,7 +28408,11 @@
1126924288,1126928383,CA
1126928384,1126948863,US
1126948864,1126952959,CA
-1126952960,1127677951,US
+1126952960,1127514623,US
+1127514624,1127515109,MX
+1127515110,1127515110,US
+1127515111,1127515135,MX
+1127515136,1127677951,US
1127677952,1127694335,CA
1127694336,1127923711,US
1127923712,1127931903,CA
@@ -27634,18 +28425,12 @@
1128817664,1130535935,US
1130535936,1130536191,FR
1130536192,1130536959,US
-1130536960,1130537599,GU
-1130537600,1130537626,US
+1130536960,1130537471,GU
+1130537472,1130537626,US
1130537627,1130537627,GU
-1130537628,1130537663,US
-1130537664,1130537695,GU
-1130537696,1130537727,US
+1130537628,1130537727,US
1130537728,1130539007,GU
-1130539008,1132840959,US
-1132840960,1132841473,PR
-1132841474,1132841474,US
-1132841475,1132841983,PR
-1132841984,1133461247,US
+1130539008,1133461247,US
1133461248,1133461503,CA
1133461504,1133785351,US
1133785352,1133785359,IE
@@ -27662,9 +28447,7 @@
1134440960,1134441215,CA
1134441216,1134441471,US
1134441472,1134441727,IN
-1134441728,1134444031,US
-1134444032,1134444287,IE
-1134444288,1134444543,US
+1134441728,1134444543,US
1134444544,1134448639,CA
1134448640,1134546943,US
1134546944,1134551039,CA
@@ -27676,9 +28459,11 @@
1137278976,1137295359,CA
1137295360,1137369087,US
1137369088,1137371135,CA
-1137371136,1137376355,US
-1137376356,1137376356,CA
-1137376357,1137385471,US
+1137371136,1137375231,US
+1137375232,1137376383,CA
+1137376384,1137376511,US
+1137376512,1137377279,CA
+1137377280,1137385471,US
1137385472,1137387519,BR
1137387520,1137426431,US
1137426432,1137442815,PR
@@ -27699,16 +28484,16 @@
1137686016,1137686271,FR
1137686272,1137688063,US
1137688064,1137688319,FR
-1137688320,1137690623,US
-1137690624,1137691135,DE
-1137691136,1137692159,US
+1137688320,1137690879,US
+1137690880,1137691135,DE
+1137691136,1137691391,US
+1137691392,1137691647,CA
+1137691648,1137692159,US
1137692160,1137692671,CA
1137692672,1137704959,US
1137704960,1137713151,CA
1137713152,1137717247,US
-1137721344,1137737727,US
-1137737728,1137741823,CA
-1137741824,1137803263,US
+1137721344,1137803263,US
1137803264,1137811455,KZ
1137811456,1137836031,US
1137840128,1137840383,CA
@@ -27740,7 +28525,11 @@
1137985728,1137991679,CA
1137991680,1138049023,US
1138049024,1138061311,CA
-1138061312,1138068479,US
+1138061312,1138062847,US
+1138062848,1138063103,CA
+1138063104,1138065151,US
+1138065152,1138065407,CA
+1138065408,1138068479,US
1138068480,1138069247,AU
1138069248,1138069503,US
1138069504,1138073599,JM
@@ -27765,13 +28554,13 @@
1138212864,1138216959,CA
1138216960,1138237439,US
1138237440,1138245631,CA
-1138245632,1138373887,US
-1138373888,1138374655,AS
+1138245632,1138303551,US
+1138303552,1138303583,MX
+1138303584,1138374399,US
+1138374400,1138374655,AS
1138374656,1138374911,US
1138374912,1138375167,AS
-1138375168,1138375423,US
-1138375424,1138375551,AS
-1138375552,1138415871,US
+1138375168,1138415871,US
1138415872,1138416127,CA
1138416128,1138417407,US
1138417408,1138417663,CA
@@ -27805,9 +28594,7 @@
1138720768,1138728959,CA
1138728960,1138774015,US
1138774016,1138778111,CA
-1138778112,1138780159,US
-1138780160,1138780415,CA
-1138780416,1138780671,US
+1138778112,1138780671,US
1138780672,1138780679,CA
1138780680,1138781183,US
1138781184,1138781695,CA
@@ -27846,9 +28633,13 @@
1138980864,1139146751,US
1139146752,1139154943,GT
1139154944,1139167231,JM
-1139167232,1139169279,US
-1139169280,1139170303,PR
-1139170304,1139176959,US
+1139167232,1139168895,US
+1139168896,1139169023,PR
+1139169024,1139169279,US
+1139169280,1139169791,PR
+1139169792,1139175423,US
+1139175424,1139175935,PR
+1139175936,1139176959,US
1139176960,1139177215,PR
1139177216,1139179519,US
1139179520,1139187711,CA
@@ -27856,13 +28647,7 @@
1139216384,1139220479,CA
1139220480,1139265535,US
1139265536,1139269631,CA
-1139269632,1145099519,US
-1145099520,1145099551,SA
-1145099552,1145099567,US
-1145099568,1145099697,SA
-1145099698,1145099699,US
-1145099700,1145099775,SA
-1145099776,1145165823,US
+1139269632,1145165823,US
1145165824,1145166335,VG
1145166336,1145168895,US
1145168896,1145171967,AU
@@ -27928,9 +28713,25 @@
1152581632,1152614399,CA
1152614400,1152778239,US
1152778240,1152843775,CA
-1152843776,1156071423,US
+1152843776,1152847871,NL
+1152847872,1152851967,US
+1152851968,1152856063,GB
+1152856064,1152860159,US
+1152860160,1152864255,DE
+1152864256,1152868351,IN
+1152868352,1152888831,US
+1152888832,1152892927,SG
+1152892928,1152897023,US
+1152897024,1152901119,DE
+1152901120,1152905215,SG
+1152905216,1152906239,DE
+1152906240,1152908287,US
+1152908288,1152909311,GB
+1152909312,1156071423,US
1156071424,1156079615,CA
-1156079616,1156243455,US
+1156079616,1156128767,US
+1156128768,1156130815,IS
+1156130816,1156243455,US
1156243456,1156245503,CA
1156245504,1156249599,US
1156249600,1156250623,CA
@@ -27953,29 +28754,19 @@
1157910832,1157910847,US
1157910848,1157910863,CA
1157910864,1157910879,US
-1157910880,1157910975,CA
-1157910976,1157910983,US
-1157910984,1157911071,CA
+1157910880,1157911071,CA
1157911072,1157911103,US
-1157911104,1157911279,CA
-1157911280,1157911287,US
-1157911288,1157911343,CA
+1157911104,1157911343,CA
1157911344,1157911351,US
-1157911352,1157911743,CA
-1157911744,1157911759,US
-1157911760,1157911775,CA
+1157911352,1157911775,CA
1157911776,1157911791,US
1157911792,1157911927,CA
1157911928,1157911935,US
1157911936,1157911951,CA
1157911952,1157911983,US
-1157911984,1157911991,CA
-1157911992,1157911999,US
-1157912000,1157912015,CA
+1157911984,1157912015,CA
1157912016,1157912031,US
-1157912032,1157912183,CA
-1157912184,1157912191,US
-1157912192,1157912347,CA
+1157912032,1157912347,CA
1157912348,1157912348,US
1157912349,1157912391,CA
1157912392,1157912399,US
@@ -27983,51 +28774,39 @@
1157912448,1157912463,US
1157912464,1157912647,CA
1157912648,1157912671,US
-1157912672,1157912687,CA
-1157912688,1157912735,US
+1157912672,1157912703,CA
+1157912704,1157912735,US
1157912736,1157912743,CA
1157912744,1157912751,US
1157912752,1157912815,CA
1157912816,1157912823,US
1157912824,1157912831,CA
1157912832,1157912839,US
-1157912840,1157912879,CA
-1157912880,1157912911,US
-1157912912,1157912943,CA
-1157912944,1157913023,US
-1157913024,1157913039,CA
-1157913040,1157913047,FI
-1157913048,1157913087,CA
+1157912840,1157912895,CA
+1157912896,1157912911,US
+1157912912,1157912959,CA
+1157912960,1157913023,US
+1157913024,1157913087,CA
1157913088,1157913119,US
-1157913120,1157913207,CA
-1157913208,1157913215,US
-1157913216,1157913231,CA
-1157913232,1157913295,US
-1157913296,1157913427,CA
-1157913428,1157913431,US
-1157913432,1157913439,CA
+1157913120,1157913231,CA
+1157913232,1157913247,US
+1157913248,1157913279,CA
+1157913280,1157913295,US
+1157913296,1157913439,CA
1157913440,1157913455,US
1157913456,1157913471,CA
1157913472,1157913487,US
1157913488,1157913495,CA
-1157913496,1157913519,US
-1157913520,1157913551,CA
-1157913552,1157913559,US
-1157913560,1157913583,CA
+1157913496,1157913503,US
+1157913504,1157913583,CA
1157913584,1157913599,US
1157913600,1157913631,CA
1157913632,1157913647,US
1157913648,1157913663,CA
1157913664,1157913679,US
-1157913680,1157913695,CA
-1157913696,1157913711,US
-1157913712,1157913759,CA
+1157913680,1157913759,CA
1157913760,1157913775,US
-1157913776,1157913823,CA
-1157913824,1157913847,US
-1157913848,1157913879,CA
-1157913880,1157913887,US
-1157913888,1157913919,CA
+1157913776,1157913919,CA
1157913920,1157913943,US
1157913944,1157914031,CA
1157914032,1157914047,US
@@ -28036,18 +28815,16 @@
1157914096,1157914143,CA
1157914144,1157914175,US
1157914176,1157914183,CA
-1157914184,1157914223,US
+1157914184,1157914191,US
+1157914192,1157914207,CA
+1157914208,1157914223,US
1157914224,1157914239,CA
1157914240,1157914255,US
1157914256,1157914303,CA
1157914304,1157914335,US
1157914336,1157914351,CA
1157914352,1157914367,US
-1157914368,1157914495,CA
-1157914496,1157914511,US
-1157914512,1157914519,CA
-1157914520,1157914527,US
-1157914528,1157914623,CA
+1157914368,1157914623,CA
1157914624,1157931007,US
1157931008,1157935103,BS
1157935104,1157943295,US
@@ -28094,7 +28871,9 @@
1159004160,1159213055,US
1159213056,1159217151,CA
1159217152,1159251199,US
-1159251200,1159252479,PR
+1159251200,1159251967,PR
+1159251968,1159252223,US
+1159252224,1159252479,PR
1159252480,1159269119,US
1159269120,1159269375,AR
1159269376,1159281919,US
@@ -28161,19 +28940,26 @@
1160665600,1160665855,CH
1160665856,1160667135,US
1160667136,1160675327,CA
-1160675328,1160681727,US
+1160675328,1160678399,US
+1160678400,1160678655,MX
+1160678656,1160681727,US
1160681728,1160681983,SG
1160681984,1160683519,US
1160683520,1160691711,CA
1160691712,1160847359,US
1160847360,1160855551,CA
-1160855552,1160921087,US
+1160855552,1160863999,US
+1160864000,1160864255,CA
+1160864256,1160921087,US
1160921088,1160925183,AG
1160925184,1160945663,US
1160945664,1160953855,CA
1160953856,1160955255,US
1160955256,1160955264,PL
-1160955265,1160967679,US
+1160955265,1160963071,US
+1160963072,1160963327,DE
+1160963328,1160963583,CA
+1160963584,1160967679,US
1160967680,1160967935,GB
1160967936,1160968191,IT
1160968192,1160968703,SE
@@ -28185,11 +28971,7 @@
1161052672,1161052927,GB
1161052928,1161053439,US
1161053440,1161053695,GB
-1161053696,1161070335,US
-1161070336,1161070591,HK
-1161070592,1161073407,US
-1161073408,1161073663,AU
-1161073664,1161163263,US
+1161053696,1161163263,US
1161163264,1161163519,NL
1161163520,1161293823,US
1161293824,1161297919,CA
@@ -28202,11 +28984,7 @@
1161421824,1161422335,AG
1161422336,1161422591,LC
1161422592,1161422847,AG
-1161422848,1161423103,LC
-1161423104,1161423359,VG
-1161423360,1161423615,AI
-1161423616,1161423871,AG
-1161423872,1161424127,LC
+1161422848,1161424127,LC
1161424128,1161424383,AI
1161424384,1161424639,KN
1161424640,1161424895,LC
@@ -28220,16 +28998,15 @@
1161428224,1161428991,KN
1161428992,1161429023,CA
1161429024,1161429031,US
-1161429032,1161429039,SE
-1161429040,1161429111,CA
+1161429032,1161429111,CA
1161429112,1161429135,US
1161429136,1161429151,CA
-1161429152,1161429199,US
-1161429200,1161429207,CA
-1161429208,1161429255,US
-1161429256,1161429263,CA
-1161429264,1161429279,US
-1161429280,1161429295,CA
+1161429152,1161429167,US
+1161429168,1161429175,CA
+1161429176,1161429199,US
+1161429200,1161429215,CA
+1161429216,1161429255,US
+1161429256,1161429295,CA
1161429296,1161429327,US
1161429328,1161429335,CA
1161429336,1161429351,US
@@ -28237,34 +29014,26 @@
1161429376,1161429407,US
1161429408,1161429431,CA
1161429432,1161429439,US
-1161429440,1161429511,CA
-1161429512,1161429519,US
-1161429520,1161429535,CA
+1161429440,1161429535,CA
1161429536,1161429543,US
1161429544,1161429551,CA
1161429552,1161429599,US
-1161429600,1161429615,CA
-1161429616,1161429663,US
-1161429664,1161429679,CA
-1161429680,1161429711,US
+1161429600,1161429647,CA
+1161429648,1161429663,US
+1161429664,1161429695,CA
+1161429696,1161429711,US
1161429712,1161429719,FI
1161429720,1161429727,US
1161429728,1161429759,CA
1161429760,1161429775,US
-1161429776,1161429815,CA
-1161429816,1161429823,US
-1161429824,1161429831,CA
-1161429832,1161429839,US
-1161429840,1161429855,CA
+1161429776,1161429855,CA
1161429856,1161429863,US
1161429864,1161429887,CA
1161429888,1161429903,US
-1161429904,1161429983,CA
-1161429984,1161430015,US
-1161430016,1161430023,FI
-1161430024,1161430031,US
-1161430032,1161430079,CA
-1161430080,1161430159,US
+1161429904,1161429999,CA
+1161430000,1161430015,US
+1161430016,1161430111,CA
+1161430112,1161430159,US
1161430160,1161430191,CA
1161430192,1161430207,US
1161430208,1161430431,CA
@@ -28279,26 +29048,24 @@
1161430576,1161430591,US
1161430592,1161430639,CA
1161430640,1161430647,US
-1161430648,1161430671,CA
-1161430672,1161430679,US
-1161430680,1161430703,CA
-1161430704,1161430719,US
-1161430720,1161430727,CA
-1161430728,1161430735,FI
-1161430736,1161430799,CA
-1161430800,1161430823,US
-1161430824,1161430847,CA
+1161430648,1161430799,CA
+1161430800,1161430815,US
+1161430816,1161430847,CA
1161430848,1161430911,US
1161430912,1161430943,CA
-1161430944,1161431007,US
+1161430944,1161430975,US
+1161430976,1161430991,CA
+1161430992,1161431007,US
1161431008,1161431039,CA
-1161431040,1161432319,US
-1161432320,1161432479,CA
-1161432480,1161432575,US
+1161431040,1161432063,US
+1161432064,1161432511,CA
+1161432512,1161432575,US
1161432576,1161432831,CA
1161432832,1161433087,US
-1161433088,1161437183,CA
-1161437184,1161453567,US
+1161433088,1161436159,CA
+1161436160,1161437120,US
+1161437121,1161437121,CA
+1161437122,1161453567,US
1161453568,1161457663,CA
1161457664,1161576447,US
1161576448,1161580543,CA
@@ -28327,9 +29094,7 @@
1161834744,1161834744,BZ
1161834745,1161835948,US
1161835949,1161835949,BZ
-1161835950,1161837567,US
-1161837568,1161837823,JP
-1161837824,1161884927,US
+1161835950,1161884927,US
1161884928,1161884959,DE
1161884960,1161885183,US
1161885184,1161885199,JP
@@ -28351,9 +29116,7 @@
1162032288,1162032303,BE
1162032304,1162059775,US
1162059776,1162067967,CA
-1162067968,1162152959,US
-1162152960,1162153471,VI
-1162153472,1162215423,US
+1162067968,1162215423,US
1162215424,1162280959,CA
1162280960,1162297343,US
1162297344,1162305535,CA
@@ -28372,15 +29135,14 @@
1162470912,1162471423,GD
1162471424,1162472703,BB
1162472704,1162473471,VC
-1162473472,1162473727,BB
-1162473728,1162475007,GD
+1162473472,1162475007,GD
1162475008,1162477567,BB
1162477568,1162715135,US
1162715136,1162723327,CA
1162723328,1162807295,US
1162807296,1162807807,PR
-1162807808,1162808319,LC
-1162808320,1162809343,PR
+1162807808,1162808063,LC
+1162808064,1162809343,PR
1162809344,1162811391,US
1162811392,1162811647,CW
1162811648,1162812415,US
@@ -28398,22 +29160,20 @@
1162853376,1162854399,PR
1162854400,1162858495,JM
1162858496,1162862591,US
-1162862592,1162862847,PR
-1162862848,1162863103,US
-1162863104,1162863359,PR
-1162863360,1162863423,US
-1162863424,1162863487,PR
-1162863488,1162870783,US
+1162862592,1162863103,PR
+1162863104,1162870783,US
1162870784,1162871295,BB
-1162871296,1162878975,LC
-1162878976,1162882559,DM
+1162871296,1162879487,LC
+1162879488,1162879999,BB
+1162880000,1162882559,DM
1162882560,1162883839,GD
1162883840,1162884863,BB
1162884864,1162885887,VC
1162885888,1162887167,BB
1162887168,1162929151,US
1162929152,1162932223,CA
-1162932224,1163386367,US
+1162932224,1163372543,US
+1163378688,1163386367,US
1163386368,1163386879,CA
1163386880,1163399167,US
1163399168,1163399423,WS
@@ -28423,8 +29183,10 @@
1163401472,1163401727,ID
1163401728,1163407359,US
1163407360,1163411455,CA
-1163411456,1163469567,US
-1163469568,1163472895,PR
+1163411456,1163469823,US
+1163469824,1163470335,PR
+1163470336,1163470847,US
+1163470848,1163472895,PR
1163472896,1163479295,US
1163479296,1163479551,CA
1163479552,1163526143,US
@@ -28439,11 +29201,9 @@
1163556096,1163556863,CA
1163556864,1163557119,US
1163557120,1163558911,CA
-1163558912,1163561215,US
-1163561216,1163561471,CA
-1163561472,1163563007,US
-1163563008,1163566335,CA
-1163566336,1163567103,US
+1163558912,1163560959,US
+1163560960,1163566591,CA
+1163566592,1163567103,US
1163567104,1163569407,CA
1163569408,1163569663,US
1163569664,1163570943,CA
@@ -28473,9 +29233,7 @@
1163579464,1163579471,US
1163579472,1163580415,CA
1163580416,1163580543,US
-1163580544,1163580819,CA
-1163580820,1163580830,US
-1163580831,1163581375,CA
+1163580544,1163581375,CA
1163581376,1163581391,US
1163581392,1163583487,CA
1163583488,1163583999,US
@@ -28488,7 +29246,7 @@
1163590144,1163591679,CA
1163591680,1163808767,US
1163808768,1163812863,MV
-1163812864,1163816959,US
+1163812864,1163816959,HK
1163816960,1163821055,CY
1163821056,1167851519,US
1167851520,1168113663,CA
@@ -28507,16 +29265,14 @@
1168269888,1168269951,GB
1168269952,1168279295,US
1168279296,1168279359,CA
-1168279360,1168394239,US
-1168394240,1168395263,CA
-1168395264,1168420863,US
+1168279360,1168420863,US
1168420864,1168424959,CA
-1168424960,1168461823,US
+1168424960,1168444671,US
+1168444672,1168444927,CA
+1168444928,1168461823,US
1168461824,1168465919,CA
1168465920,1168474111,US
-1168474112,1168488447,CA
-1168488448,1168488703,US
-1168488704,1168506879,CA
+1168474112,1168506879,CA
1168506880,1168510975,US
1168510976,1168515071,CA
1168515072,1168535551,US
@@ -28542,7 +29298,15 @@
1168859136,1168863231,CA
1168863232,1168867327,US
1168867328,1168875519,CA
-1168875520,1168916479,US
+1168875520,1168877567,US
+1168877568,1168879615,CA
+1168879616,1168881663,US
+1168881664,1168882547,CA
+1168882548,1168882548,US
+1168882549,1168883711,CA
+1168883712,1168898047,US
+1168898048,1168900095,IN
+1168900096,1168916479,US
1168916480,1168924671,HK
1168924672,1168932863,IT
1168932864,1168936959,US
@@ -28580,31 +29344,36 @@
1168982016,1168998399,US
1168998400,1169002495,CA
1169002496,1169003007,DE
-1169003008,1169032063,US
+1169003008,1169031167,US
+1169031168,1169032063,DE
1169032064,1169032071,CA
-1169032072,1169034529,US
+1169032072,1169033819,DE
+1169033820,1169033823,US
+1169033824,1169034529,DE
1169034530,1169034530,CA
-1169034531,1169035263,US
-1169035264,1169035265,DE
+1169034531,1169034557,DE
+1169034558,1169034558,US
+1169034559,1169035265,DE
1169035266,1169035266,US
1169035267,1169037311,DE
-1169037312,1169041537,US
-1169041538,1169041538,CA
-1169041539,1169042719,US
+1169037312,1169040895,US
+1169040896,1169041407,CA
+1169041408,1169041535,US
+1169041536,1169041663,CA
+1169041664,1169042719,US
1169042720,1169042735,CO
1169042736,1169042767,US
1169042768,1169042783,AR
-1169042784,1169053345,US
-1169053346,1169053346,CA
-1169053347,1169062143,US
+1169042784,1169062143,US
1169062144,1169062207,HK
1169062208,1169062383,US
1169062384,1169062399,IN
1169062400,1169203199,US
1169203200,1169211391,CA
-1169211392,1170190847,US
+1169211392,1170190335,US
+1170190336,1170190847,GB
1170190848,1170191103,JP
-1170191104,1170191359,US
+1170191104,1170191359,GB
1170191360,1170191871,DE
1170191872,1170192383,HK
1170192384,1170227199,US
@@ -28649,10 +29418,9 @@
1176632576,1176632831,GB
1176632832,1176643583,US
1176643584,1176645631,NL
-1176645632,1176647423,US
-1176647424,1176647679,NL
-1176647680,1176649727,AU
-1176649728,1176731647,US
+1176645632,1176648191,US
+1176648192,1176648447,IN
+1176648448,1176731647,US
1176731648,1176735743,PR
1176735744,1176736767,US
1176736768,1176737023,CR
@@ -28733,7 +29501,9 @@
1177165056,1177165056,CA
1177165057,1177165057,US
1177165058,1177165087,CA
-1177165088,1177354239,US
+1177165088,1177314887,US
+1177314888,1177314895,VI
+1177314896,1177354239,US
1177354240,1177419775,PR
1177419776,1177550847,US
1177550848,1178075135,CA
@@ -28741,9 +29511,7 @@
1178599424,1179910143,CA
1179910144,1191673855,US
1191673856,1191706623,CA
-1191706624,1192232127,US
-1192232128,1192232159,PA
-1192232160,1192296447,US
+1191706624,1192296447,US
1192296448,1192361983,CA
1192361984,1192427519,US
1192427520,1192460287,CA
@@ -28751,9 +29519,7 @@
1192468480,1192476671,CA
1192476672,1192488959,US
1192488960,1192493055,CA
-1192493056,1194307039,US
-1194307040,1194307071,VI
-1194307072,1199816703,US
+1192493056,1199816703,US
1199816704,1199849471,CN
1199849472,1200111615,US
1200111616,1200127999,CN
@@ -28765,7 +29531,9 @@
1208008704,1208016895,CA
1208016896,1208020991,US
1208020992,1208025087,CA
-1208025088,1208074239,US
+1208025088,1208050943,US
+1208050944,1208051199,CA
+1208051200,1208074239,US
1208074240,1208082431,CA
1208082432,1208090623,US
1208090624,1208107007,CA
@@ -28785,8 +29553,7 @@
1208852480,1208860671,CA
1208860672,1208918015,US
1208918016,1208922111,CA
-1208922112,1208935679,US
-1208935680,1208935935,CN
+1208922112,1208935935,US
1208935936,1208935943,AU
1208935944,1208935951,IN
1208935952,1208935959,SG
@@ -28796,13 +29563,12 @@
1208935984,1208935991,IN
1208935992,1208935999,JP
1208936000,1208936003,HK
-1208936004,1208936007,US
+1208936004,1208936007,AU
1208936008,1208936015,ID
-1208936016,1208936023,US
+1208936016,1208936023,AU
1208936024,1208936039,IN
1208936040,1208936047,JP
-1208936048,1208936191,US
-1208936192,1208936199,AU
+1208936048,1208936199,AU
1208936200,1208936207,SG
1208936208,1208936215,HK
1208936216,1208936223,IN
@@ -28811,11 +29577,12 @@
1208936240,1208936247,JP
1208936248,1208936255,IN
1208936256,1208936263,MY
-1208936264,1208936295,US
+1208936264,1208936295,AU
1208936296,1208936299,HK
-1208936300,1208936311,US
+1208936300,1208936311,AU
1208936312,1208936313,ID
-1208936314,1208954879,US
+1208936314,1208936447,AU
+1208936448,1208954879,US
1208954880,1208958975,CA
1208958976,1208975359,US
1208975360,1208983551,CA
@@ -28849,18 +29616,12 @@
1209884680,1209884687,ES
1209884688,1209917439,US
1209917440,1209925631,CA
-1209925632,1210092287,US
-1210092288,1210092543,ES
-1210092544,1210099711,US
+1209925632,1210099711,US
1210099712,1210099719,MX
1210099720,1210109263,US
1210109264,1210109271,CA
-1210109272,1210228735,US
-1210228736,1210230855,AU
-1210230856,1210230863,US
-1210230864,1210232831,AU
-1210232832,1210257407,US
-1210257408,1210261503,CA
+1210109272,1210259455,US
+1210259456,1210261503,CA
1210261504,1210314751,US
1210314752,1210315007,GB
1210315008,1210315775,US
@@ -28884,9 +29645,7 @@
1210994688,1210997759,CA
1210997760,1211014143,US
1211014144,1211014655,PR
-1211014656,1211032271,US
-1211032272,1211032287,DO
-1211032288,1211236351,US
+1211014656,1211236351,US
1211236352,1211269119,PR
1211269120,1211301887,US
1211301888,1211304959,CA
@@ -28902,7 +29661,9 @@
1211315456,1211317759,CA
1211317760,1211318015,US
1211318016,1211318271,CA
-1211318272,1211321087,BB
+1211318272,1211319807,BB
+1211319808,1211320575,GD
+1211320576,1211321087,BB
1211321088,1211321343,BS
1211321344,1211322367,VC
1211322368,1211322623,BB
@@ -28929,9 +29690,7 @@
1211473920,1211482367,US
1211482368,1211498495,CA
1211498496,1211596799,US
-1211596800,1211597355,CA
-1211597356,1211597359,GB
-1211597360,1211600959,CA
+1211596800,1211600959,CA
1211600960,1211600967,US
1211600968,1211605939,CA
1211605940,1211605943,PH
@@ -28955,15 +29714,17 @@
1219256320,1219264511,CA
1219264512,1219272703,US
1219272704,1219276799,CA
-1219276800,1224089599,US
-1224089600,1224093695,CA
-1224093696,1224104959,US
+1219276800,1224104959,US
1224104960,1224105471,NL
1224105472,1224107007,US
1224107008,1224107519,NL
-1224107520,1224118271,US
+1224107520,1224112127,US
+1224112128,1224113151,NL
+1224113152,1224118271,US
1224118272,1224119807,NL
-1224119808,1224138751,US
+1224119808,1224124415,US
+1224124416,1224126463,NL
+1224126464,1224138751,US
1224138752,1224139775,NL
1224139776,1224140287,US
1224140288,1224140799,NL
@@ -28990,8 +29751,7 @@
1224202240,1224327167,US
1224327168,1224327295,NL
1224327296,1224327935,US
-1224327936,1224327943,CA
-1224327944,1224328063,US
+1224327936,1224328063,CA
1224328064,1224328191,NL
1224328192,1224329215,US
1224329216,1224329471,CA
@@ -29010,12 +29770,16 @@
1224484864,1224493055,GT
1224493056,1224499199,US
1224499200,1224501247,GT
-1224501248,1224540159,JM
+1224501248,1224527616,JM
+1224527617,1224527871,US
+1224527872,1224540159,JM
1224540160,1224671231,US
1224671232,1224687615,PK
1224687616,1224728575,US
1224728576,1224736767,HK
-1224736768,1241743359,US
+1224736768,1225084383,US
+1225084384,1225084415,JP
+1225084416,1241743359,US
1241743360,1241759743,CA
1241759744,1242300415,US
1242300416,1242562559,CA
@@ -29101,7 +29865,9 @@
1246890432,1246890463,CA
1246890464,1246890464,US
1246890465,1246890495,CA
-1246890496,1246895103,US
+1246890496,1246893759,US
+1246893760,1246893791,JP
+1246893792,1246895103,US
1246895104,1246895615,NL
1246895616,1246900223,US
1246900224,1246900287,HK
@@ -29113,9 +29879,7 @@
1246905600,1246912511,CA
1246912512,1246923519,US
1246923520,1246923775,AU
-1246923776,1247062115,US
-1247062116,1247062116,MX
-1247062117,1247101439,US
+1246923776,1247101439,US
1247101440,1247101695,CA
1247101696,1247123967,US
1247123968,1247124223,CA
@@ -29133,11 +29897,7 @@
1248885760,1248886783,CA
1248886784,1248899071,US
1248899072,1248900095,CA
-1248900096,1248902143,US
-1248902144,1248902655,CA
-1248902656,1248902911,US
-1248902912,1248903167,CA
-1248903168,1248913407,US
+1248900096,1248913407,US
1248913408,1248915455,MF
1248915456,1248919551,US
1248919552,1248920575,CA
@@ -29184,12 +29944,15 @@
1249103104,1249103871,CA
1249103872,1249106943,US
1249106944,1249107967,CA
-1249107968,1249130495,US
+1249107968,1249116927,US
+1249116928,1249117183,DE
+1249117184,1249130495,US
1249130496,1249131519,JM
1249131520,1249139711,US
-1249139712,1249140268,MF
+1249139712,1249140268,GP
1249140269,1249140269,FR
-1249140270,1249140735,MF
+1249140270,1249140479,GP
+1249140480,1249140735,MF
1249140736,1249142015,US
1249142016,1249142271,GB
1249142272,1249146879,US
@@ -29224,7 +29987,9 @@
1249267712,1249268735,AF
1249268736,1249272831,US
1249272832,1249273855,CA
-1249273856,1249310719,US
+1249273856,1249296383,US
+1249296384,1249297407,CA
+1249297408,1249310719,US
1249310720,1249311743,CA
1249311744,1249312767,US
1249312768,1249313791,CA
@@ -29392,9 +30157,7 @@
1249886208,1249902591,CA
1249902592,1252535295,US
1252535296,1252536319,VI
-1252536320,1252774911,US
-1252774912,1252775935,AS
-1252775936,1254490111,US
+1252536320,1254490111,US
1254490112,1254555647,CA
1254555648,1254621183,US
1254621184,1254629375,CA
@@ -29414,7 +30177,9 @@
1255276544,1255342079,CA
1255342080,1255489535,US
1255489536,1255505919,PR
-1255505920,1255514111,US
+1255505920,1255512063,US
+1255512064,1255512831,CA
+1255512832,1255514111,US
1255514112,1255522303,CA
1255522304,1255571455,US
1255571456,1255579647,CA
@@ -29536,8 +30301,7 @@
1280081920,1280090111,US
1280090112,1280091135,AG
1280091136,1280092159,VG
-1280092160,1280093183,KN
-1280093184,1280094207,VG
+1280092160,1280094207,KN
1280094208,1280096255,AI
1280096256,1280097279,AG
1280097280,1280097791,LC
@@ -29567,7 +30331,8 @@
1294000128,1294004223,CH
1294004224,1294073855,PL
1294073856,1294204927,RU
-1294204928,1294237695,RO
+1294204928,1294229503,RO
+1294229504,1294237695,US
1294237696,1294270463,IR
1294270464,1294299135,DE
1294299136,1294303231,IR
@@ -29588,8 +30353,8 @@
1294794752,1294827519,PL
1294827520,1294860287,RU
1294860288,1294893055,PL
-1294893056,1294894079,RS
-1294894080,1294894731,XK
+1294893056,1294894591,RS
+1294894592,1294894731,XK
1294894732,1294894732,RS
1294894733,1294895103,XK
1294895104,1294925823,RS
@@ -29607,9 +30372,7 @@
1295384576,1295450111,PT
1295450112,1295481855,PL
1295482880,1295515647,PL
-1295515648,1295763199,CH
-1295763200,1295763455,GB
-1295763456,1295777791,CH
+1295515648,1295777791,CH
1295777792,1296039935,NL
1296039936,1296072703,SA
1296072704,1296105471,DE
@@ -29653,10 +30416,8 @@
1296249464,1296249471,GB
1296249472,1296249567,IE
1296249568,1296249599,NO
-1296249600,1296249615,GB
-1296249616,1296249747,IE
-1296249748,1296249751,GB
-1296249752,1296250367,IE
+1296249600,1296249855,GB
+1296249856,1296250367,IE
1296250368,1296250399,CZ
1296250400,1296250431,DE
1296250432,1296250463,PL
@@ -29665,15 +30426,24 @@
1296250528,1296250559,DK
1296250560,1296250607,IE
1296250608,1296250615,DE
-1296250616,1296250623,IE
-1296250624,1296250879,GB
+1296250616,1296250687,IE
+1296250688,1296250695,ES
+1296250696,1296250703,PL
+1296250704,1296250815,IE
+1296250816,1296250847,BE
+1296250848,1296250879,GB
1296250880,1296250943,IE
1296250944,1296250947,FR
-1296250948,1296251199,IE
+1296250948,1296251087,IE
+1296251088,1296251095,CZ
+1296251096,1296251103,ES
+1296251104,1296251199,IE
1296251200,1296251231,NL
1296251232,1296251391,IE
1296251392,1296251775,NL
-1296251776,1296252479,IE
+1296251776,1296252191,IE
+1296252192,1296252199,ES
+1296252200,1296252479,IE
1296252480,1296252487,ES
1296252488,1296252503,IE
1296252504,1296252507,DE
@@ -29692,9 +30462,8 @@
1296252648,1296252655,GB
1296252656,1296252667,IE
1296252668,1296252671,GB
-1296252672,1296252897,IE
-1296252898,1296252898,BE
-1296252899,1296254207,IE
+1296252672,1296252927,BE
+1296252928,1296254207,IE
1296254208,1296254463,US
1296254464,1296256839,IE
1296256840,1296256847,US
@@ -29708,9 +30477,15 @@
1296261632,1296262383,IE
1296262384,1296262399,IN
1296262400,1296262655,US
-1296262656,1296263431,IE
+1296262656,1296263351,IE
+1296263352,1296263359,CZ
+1296263360,1296263399,IE
+1296263400,1296263407,CZ
+1296263408,1296263423,CH
+1296263424,1296263431,IE
1296263432,1296263439,FR
-1296263440,1296263523,IE
+1296263440,1296263455,AT
+1296263456,1296263523,IE
1296263524,1296263527,CH
1296263528,1296263673,IE
1296263674,1296263674,PL
@@ -29719,12 +30494,15 @@
1296263936,1296264175,IE
1296264176,1296264183,BE
1296264184,1296264191,NO
-1296264192,1296264287,GB
+1296264192,1296264263,IE
+1296264264,1296264271,GB
+1296264272,1296264287,IE
1296264288,1296264303,US
-1296264304,1296265175,GB
+1296264304,1296264319,IE
+1296264320,1296264447,GB
+1296264448,1296265175,IE
1296265176,1296265183,RS
-1296265184,1296265215,GB
-1296265216,1296265279,IE
+1296265184,1296265279,IE
1296265280,1296265343,DE
1296265344,1296267263,IE
1296267264,1296267341,DE
@@ -29978,9 +30756,11 @@
1297584128,1297588223,UA
1297588224,1297590271,NL
1297590272,1297592319,RU
-1297592320,1297593215,IM
-1297593216,1297593223,GB
-1297593224,1297594367,IM
+1297592320,1297593225,GB
+1297593226,1297593226,IM
+1297593227,1297593247,GB
+1297593248,1297593279,MT
+1297593280,1297594367,GB
1297594368,1297596415,DE
1297596416,1297598463,UA
1297598464,1297602559,RU
@@ -30004,16 +30784,19 @@
1297727488,1297743871,MD
1297743872,1297760255,DE
1297760256,1297774591,LT
-1297774592,1297774847,FR
-1297774848,1297775103,LT
-1297775104,1297775615,FR
-1297775616,1297776639,LT
-1297776640,1297783295,DE
-1297783296,1297784319,RU
-1297784320,1297787135,DE
-1297787136,1297787391,RO
-1297787392,1297793023,DE
-1297793024,1297809407,UA
+1297774592,1297774655,FR
+1297774656,1297776639,LT
+1297776640,1297783551,DE
+1297783552,1297784575,RU
+1297784576,1297785087,DE
+1297785088,1297790463,RU
+1297790464,1297790975,DE
+1297790976,1297792511,RU
+1297792512,1297792767,DE
+1297792768,1297793023,RU
+1297793024,1297797119,UA
+1297797120,1297807359,SA
+1297807360,1297809407,UA
1297809408,1297825791,PL
1297825792,1297838079,RU
1297838080,1297838335,LU
@@ -30038,7 +30821,7 @@
1297932288,1297940479,GE
1297940480,1297948671,LV
1297948672,1297956863,UA
-1297956864,1297965055,NL
+1297957760,1297965055,NL
1297965056,1297973247,RU
1297973248,1297981439,GB
1297981440,1297989631,RO
@@ -30059,7 +30842,7 @@
1298067456,1298071551,NL
1298071552,1298073599,TJ
1298073600,1298075647,RU
-1298075648,1298076671,CY
+1298075648,1298076671,FI
1298076672,1298077695,RU
1298078208,1298079743,NL
1298079744,1298081791,GB
@@ -30098,7 +30881,11 @@
1298677760,1298694143,IR
1298694144,1298705012,US
1298705013,1298705013,SG
-1298705014,1298708879,US
+1298705014,1298708479,US
+1298708480,1298708661,IT
+1298708662,1298708662,NL
+1298708663,1298708735,IT
+1298708736,1298708879,US
1298708880,1298708880,SG
1298708881,1298710527,US
1298710528,1298726911,CZ
@@ -30118,20 +30905,18 @@
1298956288,1298972671,GB
1298972672,1298989055,RU
1298989056,1299005439,UA
-1299005440,1299008767,NL
+1299005440,1299005951,BE
+1299005952,1299008767,NL
1299008768,1299009023,BE
1299009024,1299009535,NL
-1299009536,1299011071,BE
-1299011072,1299011583,NL
-1299011584,1299015679,BE
+1299009536,1299015679,BE
1299015680,1299017727,NL
-1299017728,1299018239,BE
-1299018240,1299018495,NL
+1299017728,1299017983,BE
+1299017984,1299018495,NL
1299018496,1299019775,BE
1299019776,1299020031,NL
1299020032,1299021055,BE
-1299021056,1299021311,NL
-1299021312,1299021823,BE
+1299021056,1299021823,NL
1299021824,1299025148,CH
1299025149,1299025149,DE
1299025150,1299026111,CH
@@ -30156,7 +30941,9 @@
1299109530,1299109530,NO
1299109531,1299109569,SJ
1299109570,1299109570,NO
-1299109571,1299109613,SJ
+1299109571,1299109609,SJ
+1299109610,1299109610,NO
+1299109611,1299109613,SJ
1299109614,1299109614,NO
1299109615,1299109629,SJ
1299109630,1299109630,NO
@@ -30164,7 +30951,8 @@
1299109632,1299120127,NO
1299120128,1299136511,SI
1299136512,1299169279,HU
-1299169280,1299173375,US
+1299169280,1299170815,GB
+1299170816,1299173375,US
1299173376,1299174399,FR
1299174400,1299178495,GB
1299178496,1299180543,CH
@@ -30200,9 +30988,7 @@
1306198016,1306206207,LV
1306206208,1306214399,HR
1306214400,1306222591,SE
-1306222592,1306238975,HR
-1306238976,1306247167,LT
-1306247168,1306263551,HR
+1306222592,1306263551,HR
1306263552,1306271743,KE
1306271744,1306279935,RU
1306279936,1306288127,IT
@@ -30244,7 +31030,8 @@
1307092992,1307095039,GB
1307095040,1307097087,SA
1307097088,1307099135,RU
-1307099136,1307107327,RO
+1307099136,1307103231,US
+1307103232,1307107327,RO
1307107328,1307115519,DE
1307115520,1307123711,RU
1307123712,1307131903,NL
@@ -30262,7 +31049,7 @@
1307192576,1307192755,DE
1307192756,1307192756,AF
1307192757,1307192831,DE
-1307192832,1307193087,US
+1307192832,1307193343,US
1307193344,1307195391,NO
1307195392,1307197439,CH
1307197440,1307205631,HU
@@ -30301,7 +31088,7 @@
1307435648,1307435775,LT
1307435776,1307436543,DE
1307436544,1307436799,AU
-1307436800,1307437055,US
+1307436800,1307437055,RU
1307437056,1307441151,ES
1307441152,1307442175,GB
1307442176,1307443199,DE
@@ -30348,11 +31135,7 @@
1307658240,1307659263,TR
1307659264,1307660287,GB
1307660288,1307664383,BE
-1307664384,1307665407,NO
-1307665408,1307665441,GB
-1307665442,1307665443,NO
-1307665444,1307665663,GB
-1307665664,1307668479,NO
+1307664384,1307668479,NO
1307668480,1307672575,ES
1307672576,1307676671,DK
1307676672,1307680767,RU
@@ -30372,14 +31155,16 @@
1307734016,1307738111,NL
1307738112,1307742207,IT
1307742208,1307746303,HU
-1307746304,1307750399,UA
+1307746304,1307747327,CH
+1307747328,1307747583,UA
+1307747584,1307750399,CH
1307750400,1307754495,IT
1307754496,1307758591,GB
-1307758592,1307759103,SM
-1307759104,1307759999,IT
-1307760000,1307760127,SM
-1307760128,1307760639,IT
-1307760640,1307762687,SM
+1307758592,1307758847,SM
+1307758848,1307761931,IT
+1307761932,1307761932,SM
+1307761933,1307762175,IT
+1307762176,1307762687,SM
1307762688,1307766783,PL
1307766784,1307770879,GB
1307770880,1307774975,RU
@@ -30389,12 +31174,12 @@
1307791360,1307792383,RU
1307792384,1307793407,DE
1307793408,1307794431,RU
-1307794432,1307795455,AT
+1307794432,1307795455,US
1307795456,1307803647,RU
1307803648,1307807743,DK
1307807744,1307811839,SE
1307811840,1307815935,NL
-1307816192,1307816703,GB
+1307816192,1307816959,GB
1307816960,1307817215,NL
1307817216,1307817219,DE
1307817220,1307817223,CZ
@@ -30457,10 +31242,7 @@
1307926528,1307930623,KZ
1307930624,1307934719,RU
1307934720,1307938815,FR
-1307938816,1307941242,CY
-1307941243,1307941243,TR
-1307941244,1307942399,CY
-1307942400,1307942911,TR
+1307938816,1307942911,TR
1307942912,1307947007,RU
1307947008,1307951103,CH
1307951104,1307959295,RU
@@ -30486,10 +31268,16 @@
1308020736,1308024831,BG
1308024832,1308030975,RU
1308030976,1308033023,UA
-1308033024,1308033685,DE
+1308033024,1308033535,DE
+1308033536,1308033679,NL
+1308033680,1308033685,DE
1308033686,1308033686,GB
-1308033687,1308035071,DE
-1308035072,1308036095,GB
+1308033687,1308033695,DE
+1308033696,1308033791,NL
+1308033792,1308035427,DE
+1308035428,1308035428,GB
+1308035429,1308035839,DE
+1308035840,1308036095,GB
1308036096,1308037119,DE
1308037120,1308041215,UA
1308041216,1308049407,RU
@@ -30516,15 +31304,12 @@
1308090368,1308092415,SK
1308092416,1308096511,RU
1308096512,1308096767,AL
-1308096768,1308097279,RS
-1308097280,1308097535,XK
+1308096768,1308097535,RS
1308097536,1308098303,AL
-1308098304,1308098559,RS
+1308098304,1308098559,XK
1308098560,1308360703,NL
1308360704,1308622847,PL
-1308622848,1308781951,HR
-1308781952,1308782079,AT
-1308782080,1308884991,HR
+1308622848,1308884991,HR
1308884992,1309147135,IT
1309147136,1309409279,PL
1309409280,1309671423,IT
@@ -30585,9 +31370,7 @@
1310572544,1310588927,BE
1310588928,1310605311,ES
1310605312,1310621695,PL
-1310621696,1310631935,RS
-1310631936,1310633983,XK
-1310633984,1310638079,RS
+1310621696,1310638079,RS
1310638080,1310654463,UA
1310654464,1310656511,RU
1310656512,1310657535,GB
@@ -30655,8 +31438,7 @@
1311254528,1311256575,SE
1311256576,1311258623,FR
1311258624,1311260671,GB
-1311260672,1311261183,NO
-1311261184,1311262719,NL
+1311260672,1311262719,NL
1311262720,1311262735,CH
1311262736,1311262767,FR
1311262768,1311264767,CH
@@ -30720,14 +31502,13 @@
1311593433,1311637503,CZ
1311637504,1312292863,DE
1312292864,1312817151,LT
-1312817152,1312817435,DK
-1312817436,1312817439,SE
-1312817440,1312819199,DK
-1312819200,1313199103,SE
-1313199104,1313199231,DK
-1313199232,1313325567,SE
-1313325568,1313325695,PL
-1313325696,1313865727,SE
+1312817152,1312928767,SE
+1312928768,1312929791,DK
+1312929792,1313199103,SE
+1313199104,1313199167,DK
+1313199168,1313259455,SE
+1313259456,1313259519,DK
+1313259520,1313865727,SE
1313865728,1313931263,CZ
1313931264,1313996799,RU
1313996800,1314062335,SE
@@ -30846,9 +31627,7 @@
1317471232,1317472255,CY
1317472256,1317474303,TR
1317474304,1317478399,CY
-1317478400,1317481471,TR
-1317481472,1317482495,GB
-1317482496,1317502975,TR
+1317478400,1317502975,TR
1317502976,1317535743,IE
1317535744,1317552127,GB
1317552128,1317568511,ES
@@ -30869,11 +31648,9 @@
1317629952,1317634047,GB
1317634048,1317634303,IE
1317634304,1317636095,GB
-1317636096,1317638143,IE
-1317638144,1317641471,GB
-1317641472,1317641727,IE
-1317641728,1317642239,GB
-1317642240,1317642495,IE
+1317636096,1317637119,IE
+1317637120,1317640191,GB
+1317640192,1317642495,IE
1317642496,1317643316,GB
1317643317,1317643317,IE
1317643318,1317647015,GB
@@ -30897,11 +31674,12 @@
1317748736,1317765119,RU
1317765120,1317781503,GE
1317781504,1317814271,RU
-1317814272,1317816335,GB
+1317814272,1317816319,NL
+1317816320,1317816335,DE
1317816336,1317816351,JP
-1317816352,1317818367,GB
-1317818368,1317822463,RU
-1317822464,1317830655,DE
+1317816352,1317818367,DE
+1317818368,1317820415,RU
+1317820416,1317830655,DE
1317830656,1317847039,NL
1317847040,1317863423,RU
1317863424,1317879807,GB
@@ -30913,12 +31691,28 @@
1317931008,1317931263,US
1317931264,1317945343,BG
1317945344,1317978111,AT
+1317978112,1317979135,GB
+1317979136,1317980159,IT
+1317980160,1317981183,ES
+1317981184,1317982207,HU
+1317982208,1317983231,TR
+1317983232,1317984255,ES
+1317984256,1317985279,NL
+1317985280,1317986303,RU
+1317986304,1317987327,PL
+1317987328,1317988351,NL
+1317988352,1317990399,RU
+1317990400,1317993471,CZ
+1317993472,1317994495,MD
1317994496,1318010879,DE
1318010880,1318027263,DK
1318027264,1318043647,IE
1318043648,1318051839,GB
1318051840,1318055935,PS
-1318055936,1318058879,GB
+1318055936,1318056191,US
+1318056192,1318057727,GB
+1318057728,1318057983,US
+1318057984,1318058879,GB
1318058880,1318058887,AE
1318058888,1318584319,GB
1318584320,1318592511,PL
@@ -30955,8 +31749,7 @@
1318748160,1318756351,LV
1318756352,1318764543,UA
1318764544,1318780927,KW
-1318780928,1318788607,CH
-1318788608,1318789119,BE
+1318780928,1318789119,CH
1318789120,1318797311,ME
1318797312,1318805503,SY
1318805504,1318813695,PL
@@ -30981,8 +31774,8 @@
1318936448,1318936575,LT
1318936576,1318944767,DK
1318944768,1318958079,CZ
-1318958080,1318959103,PL
-1318959104,1318961151,CZ
+1318958080,1318960127,PL
+1318960128,1318961151,CZ
1318961152,1318969343,GB
1318969344,1318977535,RU
1318977536,1318985727,LT
@@ -31045,7 +31838,8 @@
1331859456,1331861503,PL
1331861504,1331863551,CZ
1331863552,1331865599,GB
-1331865600,1331869695,NL
+1331865600,1331868671,NL
+1331868672,1331869695,IS
1331869696,1331870719,RU
1331870720,1331871743,CH
1331871744,1331873791,DK
@@ -31087,9 +31881,9 @@
1331949568,1331951615,RU
1331951616,1331953663,GE
1331953664,1332019199,BG
-1332019200,1332075903,RS
-1332075904,1332076031,XK
-1332076032,1332084735,RS
+1332019200,1332054271,RS
+1332054272,1332054527,XK
+1332054528,1332084735,RS
1332084736,1332150271,SE
1332150272,1332215807,GR
1332215808,1332346879,RU
@@ -31125,11 +31919,11 @@
1332637696,1332641791,BG
1332641792,1332645887,UA
1332645888,1332649983,RS
-1332649984,1332652287,GB
-1332652288,1332653055,SE
+1332649984,1332652031,GB
+1332652032,1332653055,SE
1332653056,1332654079,NL
-1332654080,1332657151,RU
-1332657152,1332658175,UA
+1332654080,1332657151,US
+1332657152,1332658175,RU
1332658176,1332662271,PL
1332662272,1332670463,UA
1332670464,1332740095,RU
@@ -31165,9 +31959,7 @@
1334091776,1334099967,LT
1334099968,1334108159,IR
1334108160,1334116351,BE
-1334116352,1334117119,AX
-1334117120,1334117375,FI
-1334117376,1334124543,AX
+1334116352,1334124543,AX
1334124544,1334125055,AT
1334125056,1334127359,DE
1334127360,1334127615,AT
@@ -31218,13 +32010,17 @@
1334380320,1334380335,GB
1334380336,1334380447,FR
1334380448,1334380463,LT
-1334380464,1334381823,FR
+1334380464,1334380543,FR
+1334380544,1334380799,BE
+1334380800,1334381823,FR
1334381824,1334381839,IT
1334381840,1334381887,FR
1334381888,1334381919,IT
1334381920,1334381983,FR
1334381984,1334382015,FI
-1334382016,1334382975,FR
+1334382016,1334382047,FR
+1334382048,1334382063,PL
+1334382064,1334382975,FR
1334382976,1334383103,GB
1334383104,1334383615,FR
1334383616,1334383679,DE
@@ -31309,7 +32105,8 @@
1334404992,1334405119,GB
1334405120,1334405311,FR
1334405312,1334405327,GB
-1334405328,1334405759,FR
+1334405328,1334405755,FR
+1334405756,1334405759,GB
1334405760,1334405791,FI
1334405792,1334405919,FR
1334405920,1334405951,PL
@@ -31326,7 +32123,7 @@
1334408192,1334408255,ES
1334408256,1334408279,FR
1334408280,1334408287,ES
-1334408288,1334408319,FR
+1334408288,1334408319,CZ
1334408320,1334408351,FI
1334408352,1334408367,LT
1334408368,1334408383,FR
@@ -31341,9 +32138,7 @@
1334410736,1334410751,GB
1334410752,1334411263,FR
1334411264,1334444031,RU
-1334444032,1334489087,SE
-1334489088,1334491135,DK
-1334491136,1334509567,SE
+1334444032,1334509567,SE
1334509568,1334542335,PL
1334542336,1334575103,RU
1334575104,1334579199,UA
@@ -31357,11 +32152,7 @@
1334611968,1334616063,ME
1334616064,1334620159,MD
1334620160,1334624255,DE
-1334624256,1334624767,GB
-1334624768,1334624995,US
-1334624996,1334624999,GB
-1334625000,1334625007,US
-1334625008,1334628351,GB
+1334624256,1334628351,GB
1334628352,1334632447,IE
1334632448,1334636543,KZ
1334636544,1334640639,RU
@@ -31430,9 +32221,9 @@
1334767616,1334771711,SE
1334771712,1334779903,RU
1334779904,1334783999,UA
-1334784000,1334784255,GB
+1334784000,1334784255,DE
1334784256,1334784511,RO
-1334784512,1334784767,GB
+1334784512,1334784767,DE
1334784768,1334785023,TR
1334785024,1334788095,GB
1334788096,1334792191,RU
@@ -31452,7 +32243,9 @@
1334824960,1334829055,NL
1334829056,1334833151,RU
1334833152,1334837247,FR
-1334837248,1335885823,ES
+1334837248,1335161343,ES
+1335161344,1335161344,US
+1335161345,1335885823,ES
1335885824,1336016895,NO
1336016896,1336049663,PL
1336049664,1336066047,ES
@@ -31467,7 +32260,8 @@
1336549376,1336551423,IM
1336551424,1336553471,GB
1336553472,1336555519,SA
-1336555520,1336557567,BE
+1336555520,1336556543,BE
+1336556544,1336557567,FR
1336557568,1336559615,ES
1336559616,1336561663,GB
1336561664,1336563711,NO
@@ -31564,20 +32358,27 @@
1337982976,1342177279,DE
1342177280,1342701567,GB
1342701568,1342750719,RE
-1342750720,1342750975,FR
-1342750976,1342755583,YT
-1342755584,1342755839,FR
-1342755840,1342756607,YT
+1342750720,1342751231,YT
+1342751232,1342751487,RE
+1342751488,1342752255,YT
+1342752256,1342752511,FR
+1342752512,1342752767,YT
+1342752768,1342753023,FR
+1342753024,1342753279,YT
+1342753280,1342753535,FR
+1342753536,1342756607,YT
1342756608,1342756863,FR
-1342756864,1342757631,YT
-1342757632,1342757887,FR
-1342757888,1342761727,YT
-1342761728,1342761983,FR
-1342761984,1342762239,YT
-1342762240,1342762751,FR
-1342762752,1342764543,YT
-1342764544,1342765311,FR
-1342765312,1342767103,YT
+1342756864,1342759423,YT
+1342759424,1342759679,FR
+1342759680,1342759935,YT
+1342759936,1342760191,FR
+1342760192,1342761471,YT
+1342761472,1342761727,FR
+1342761728,1342762495,YT
+1342762496,1342762751,FR
+1342762752,1342766591,YT
+1342766592,1342766847,FR
+1342766848,1342767103,YT
1342767104,1342834687,FR
1342834688,1342842879,JO
1342842880,1342844927,FR
@@ -31590,25 +32391,25 @@
1342875648,1342877695,JO
1342877696,1342959049,FR
1342959050,1342959050,RE
-1342959051,1342982143,FR
-1342982144,1342982399,MG
-1342982400,1342988287,FR
+1342959051,1342988287,FR
1342988288,1342989055,US
1342989056,1342996479,FR
-1342996480,1343001855,GF
+1342996480,1342997503,GF
+1342997504,1342997759,FR
+1342997760,1343001855,GF
1343001856,1343002111,FR
-1343002112,1343009791,GF
-1343009792,1343010047,FR
-1343010048,1343012863,GF
+1343002112,1343005183,GF
+1343005184,1343005439,FR
+1343005440,1343006975,GF
+1343006976,1343007231,FR
+1343007232,1343011839,GF
+1343011840,1343012095,FR
+1343012096,1343012863,GF
1343012864,1343017983,FR
-1343017984,1343018495,RE
-1343018496,1343025151,FR
-1343025152,1343025663,RE
-1343025664,1343027711,FR
+1343017984,1343019007,RE
+1343019008,1343027711,FR
1343027712,1343027967,RE
-1343027968,1343028479,FR
-1343028480,1343028735,RE
-1343028736,1343218687,FR
+1343027968,1343218687,FR
1343218688,1343219711,DE
1343219712,1343220607,FR
1343220608,1343220639,DE
@@ -31649,8 +32450,7 @@
1346398711,1346398719,DE
1346398720,1346400255,RU
1346400256,1346404351,IT
-1346404352,1346407423,AT
-1346407424,1346408447,DE
+1346404352,1346408447,AT
1346408448,1346412543,LU
1346412544,1346416639,RU
1346416640,1346420735,DE
@@ -31742,7 +32542,8 @@
1346740224,1346744319,FI
1346744320,1346748415,RU
1346748416,1346752511,DE
-1346752512,1346756607,RE
+1346752512,1346754559,RE
+1346754560,1346756607,FR
1346756608,1346760703,SE
1346760704,1346764799,IR
1346764800,1346768895,DK
@@ -31799,7 +32600,9 @@
1347002368,1347006463,RU
1347006464,1347010559,SE
1347010560,1347014655,RU
-1347014656,1347018751,GG
+1347014656,1347016703,GG
+1347016704,1347017471,FK
+1347017472,1347018751,GG
1347018752,1347022847,IT
1347022848,1347024895,AT
1347024896,1347035135,GB
@@ -31842,11 +32645,11 @@
1347159936,1347160063,AT
1347160064,1347162111,CH
1347162112,1347166207,IT
-1347166208,1347168255,DE
-1347168256,1347169279,RU
-1347169280,1347170303,NL
+1347166208,1347167231,DE
+1347167232,1347168255,CN
+1347168256,1347170303,RU
1347170304,1347171327,BG
-1347171328,1347172351,SE
+1347171328,1347172351,ID
1347172352,1347173375,NL
1347173376,1347174399,RU
1347174400,1347182591,IT
@@ -31854,13 +32657,17 @@
1347186688,1347190783,GB
1347190784,1347194879,RU
1347194880,1347198975,SE
-1347198976,1347200841,QA
-1347200842,1347200842,GB
-1347200843,1347203071,QA
+1347198976,1347200564,QA
+1347200565,1347200565,SA
+1347200566,1347200767,QA
+1347200768,1347201023,GB
+1347201024,1347203071,QA
1347203072,1347207167,RU
1347207168,1347215359,GB
1347215360,1347223551,RU
-1347223552,1347227647,GB
+1347223552,1347225599,GB
+1347225600,1347226623,PK
+1347226624,1347227647,GB
1347227648,1347231743,DE
1347231744,1347235839,UA
1347235840,1347239935,GE
@@ -32091,11 +32898,7 @@
1347362816,1347366911,NL
1347366912,1347371007,IT
1347371008,1347375103,RU
-1347375104,1347376639,GB
-1347376640,1347376767,FR
-1347376768,1347376775,GB
-1347376776,1347376895,FR
-1347376896,1347379199,GB
+1347375104,1347379199,GB
1347379200,1347383295,NL
1347383296,1347387391,EE
1347387392,1347391487,GB
@@ -32234,7 +33037,8 @@
1347838720,1347846143,RO
1347846144,1347850239,NO
1347850240,1347854335,IT
-1347854336,1347858431,DE
+1347854336,1347856383,DE
+1347857408,1347858431,DE
1347858752,1347858815,DE
1347860992,1347861247,DE
1347862090,1347862090,DE
@@ -32294,16 +33098,16 @@
1348055040,1348059135,LB
1348059136,1348063231,RU
1348063232,1348067327,CH
-1348067328,1348071423,NL
+1348067328,1348070399,NL
+1348070400,1348070911,DE
+1348070912,1348071423,NL
1348071424,1348075519,DE
1348075520,1348076287,LV
1348076288,1348076543,RU
1348076544,1348082687,LV
1348082688,1348082943,RU
1348082944,1348083711,LV
-1348083712,1348085759,LU
-1348085760,1348085887,FR
-1348085888,1348091903,LU
+1348083712,1348091903,LU
1348091904,1348095999,RU
1348096000,1348100095,AL
1348100096,1348104191,DE
@@ -32389,7 +33193,9 @@
1348456448,1348460543,BH
1348460544,1348464639,SI
1348464640,1348468735,CZ
-1348468736,1348599807,RO
+1348468736,1348548607,RO
+1348548608,1348549631,MD
+1348549632,1348599807,RO
1348599808,1348730879,HU
1348730880,1348861951,NL
1348861952,1348993023,ES
@@ -32402,13 +33208,19 @@
1349771264,1349779455,NL
1349779456,1349910527,IT
1349910528,1350041599,FR
-1350041600,1350215679,AT
+1350041600,1350064383,AT
+1350064384,1350064639,DE
+1350064640,1350159359,AT
+1350159360,1350159871,HU
+1350159872,1350215679,AT
1350215680,1350215935,IQ
1350215936,1350216959,AT
1350216960,1350217215,IQ
1350217216,1350217471,AT
1350217472,1350217727,IQ
-1350217728,1350303743,AT
+1350217728,1350289407,AT
+1350289408,1350289919,CH
+1350289920,1350303743,AT
1350303744,1350434815,FR
1350434816,1350565887,NL
1350565888,1350763083,DE
@@ -32426,14 +33238,13 @@
1353187328,1353262295,GB
1353262296,1353262303,US
1353262304,1353267199,GB
-1353267200,1353267711,IE
-1353267712,1353267751,GB
-1353267752,1353267759,IE
-1353267760,1353268223,GB
+1353267200,1353268223,IE
1353268224,1353269247,BE
-1353269248,1353271317,GB
-1353271318,1353271318,AT
-1353271319,1353271683,GB
+1353269248,1353270615,GB
+1353270616,1353270623,IT
+1353270624,1353271295,GB
+1353271296,1353271551,AT
+1353271552,1353271683,GB
1353271684,1353271684,AT
1353271685,1353271711,GB
1353271712,1353271719,AT
@@ -32455,27 +33266,19 @@
1353275256,1353277439,GB
1353277440,1353279487,CH
1353279488,1353281535,IT
-1353281536,1353287679,GB
-1353287680,1353287935,IE
-1353287936,1353287945,GB
-1353287946,1353287946,IE
-1353287947,1353288191,GB
-1353288192,1353288703,IE
-1353288704,1353300063,GB
+1353281536,1353282047,GB
+1353282048,1353282559,IT
+1353282560,1353287679,GB
+1353287680,1353289727,IE
+1353289728,1353300063,GB
1353300064,1353300071,SE
-1353300072,1353306111,GB
-1353306112,1353308159,BE
+1353300072,1353308159,GB
1353308160,1353309183,FR
-1353309184,1353312447,GB
-1353312448,1353312479,CH
-1353312480,1353312511,GB
-1353312512,1353312767,CH
-1353312768,1353313023,IT
-1353313024,1353313167,GB
+1353309184,1353312383,GB
+1353312384,1353312767,CH
+1353312768,1353313167,GB
1353313168,1353313183,IT
-1353313184,1353313279,GB
-1353313280,1353313791,IE
-1353313792,1353315327,GB
+1353313184,1353315327,GB
1353315328,1353316351,ES
1353316352,1353318399,GB
1353318400,1353383935,SE
@@ -32495,9 +33298,7 @@
1354658496,1354658511,AT
1354658512,1354662159,DE
1354662160,1354662167,AT
-1354662168,1354665215,DE
-1354665216,1354665223,AT
-1354665224,1354694655,DE
+1354662168,1354694655,DE
1354694656,1354760191,IR
1354760192,1355022335,GB
1355022336,1355083555,DK
@@ -32582,7 +33383,7 @@
1357323808,1357323839,NO
1357323840,1357324287,GB
1357324288,1357324295,RU
-1357324296,1357326335,PL
+1357324296,1357324333,PL
1357326336,1357326337,ES
1357326338,1357326339,SL
1357326340,1357326367,GB
@@ -32622,10 +33423,9 @@
1357350400,1357350647,GB
1357350656,1357350847,GB
1357351168,1357351423,PL
-1357359872,1357360063,BE
-1357360064,1357360127,GB
+1357359104,1357360345,GB
1357360346,1357360346,LU
-1357361152,1357363199,GB
+1357360347,1357363199,GB
1357363200,1357363455,DE
1357364224,1357365247,ES
1357366880,1357366911,GB
@@ -32677,6 +33477,7 @@
1357878528,1357878591,AT
1357878592,1357878655,PL
1357879296,1357879423,DE
+1357882832,1357882832,GB
1357883392,1357883647,FR
1357883744,1357883759,AT
1357884416,1357884419,MY
@@ -32737,15 +33538,11 @@
1357984368,1357984375,IT
1357984376,1357984527,GB
1357984528,1357984535,IT
-1357984536,1357984839,GB
-1357984840,1357984847,IT
-1357984848,1357985575,GB
+1357984536,1357985575,GB
1357985576,1357985583,IT
1357985584,1357985791,GB
1357985792,1357987839,DE
-1357987840,1357991615,GB
-1357991616,1357991647,IE
-1357991648,1357991935,GB
+1357987840,1357991935,GB
1357991936,1357996031,NO
1357996032,1358000127,CH
1358000128,1358004223,LI
@@ -32787,7 +33584,9 @@
1358161920,1358162943,RS
1358162944,1358163967,CZ
1358163968,1358166015,MQ
-1358166016,1358168063,GP
+1358166016,1358166527,GP
+1358166528,1358166655,FR
+1358166656,1358168063,GP
1358168064,1358172159,GB
1358172160,1358176255,CY
1358176256,1358180351,RU
@@ -32810,12 +33609,10 @@
1358254080,1358258175,MD
1358258176,1358259199,HU
1358259200,1358260223,DK
-1358260224,1358261247,FR
-1358261248,1358262271,DE
-1358262272,1358263295,RU
-1358263296,1358263807,UA
-1358263808,1358264319,RU
-1358264320,1358266367,UA
+1358260224,1358261247,HK
+1358261248,1358262271,US
+1358262272,1358264319,UA
+1358264320,1358266367,RU
1358266368,1358274559,DE
1358274560,1358278655,GR
1358278656,1358282751,PL
@@ -32890,9 +33687,7 @@
1358548992,1358551039,NL
1358551040,1358553087,GB
1358553088,1358557183,UA
-1358557184,1358560255,IE
-1358560256,1358560767,GB
-1358560768,1358561279,IE
+1358557184,1358561279,IE
1358561280,1358569471,CZ
1358569472,1358573567,MA
1358573568,1358577663,LV
@@ -32914,19 +33709,15 @@
1358655488,1358667775,RU
1358667776,1358668447,GB
1358668448,1358668455,PT
-1358668456,1358668799,GB
-1358668800,1358669823,PT
-1358669824,1358670975,GB
-1358670976,1358670991,PT
-1358670992,1358671001,GB
-1358671002,1358671002,PT
-1358671003,1358671359,GB
+1358668456,1358670975,GB
+1358670976,1358671103,PT
+1358671104,1358671359,GB
1358671360,1358671871,PT
1358671872,1358671935,GB
1358671936,1358671943,PT
1358671944,1358672383,GB
-1358672384,1358672639,ES
-1358672640,1358673423,GB
+1358672384,1358672895,ES
+1358672896,1358673423,GB
1358673424,1358673431,DE
1358673432,1358673919,GB
1358673920,1358675967,ES
@@ -32984,16 +33775,13 @@
1358861474,1358861474,DE
1358861475,1358861567,GB
1358861568,1358861823,DE
-1358861824,1358861887,FR
-1358861888,1358861895,GB
-1358861896,1358862079,FR
-1358862080,1358862335,GB
+1358861824,1358862335,FR
1358862336,1358862847,US
1358862848,1358862911,DK
1358862912,1358862914,GB
1358862915,1358862915,DK
1358862916,1358862975,GB
-1358862976,1358863103,NO
+1358862976,1358863103,SE
1358863104,1358863359,CH
1358863360,1358863871,US
1358863872,1358864383,GB
@@ -33045,9 +33833,7 @@
1359119232,1359119359,ES
1359119360,1359120383,IT
1359120384,1359121407,DE
-1359121408,1359122431,ES
-1359122432,1359123711,DE
-1359123712,1359124479,ES
+1359121408,1359124479,ES
1359124480,1359132671,GB
1359132672,1359133183,ES
1359133184,1359133191,DE
@@ -33065,7 +33851,9 @@
1359167488,1359183871,GB
1359183872,1359200255,RU
1359200256,1359216639,AT
-1359216640,1359233023,ZA
+1359216640,1359220223,ZA
+1359220224,1359220479,NO
+1359220480,1359233023,ZA
1359233024,1359249407,NL
1359249408,1359265791,CY
1359265792,1359282175,RU
@@ -33160,9 +33948,7 @@
1360207872,1360211967,CZ
1360211968,1360216063,GB
1360216064,1360224255,RU
-1360224256,1360224767,ES
-1360224768,1360224895,FR
-1360224896,1360227841,ES
+1360224256,1360227841,ES
1360227842,1360227842,SE
1360227843,1360228351,ES
1360228352,1360232447,FI
@@ -33172,7 +33958,8 @@
1360244736,1360250623,GB
1360250624,1360251391,NL
1360251392,1360252927,DE
-1360252928,1360257023,GB
+1360252928,1360253439,NL
+1360253440,1360257023,GB
1360257024,1360265215,DK
1360265216,1360265503,NL
1360265504,1360265511,DE
@@ -33240,9 +34027,11 @@
1360396288,1360400383,RU
1360400384,1360404479,BH
1360404480,1360405503,BA
-1360405504,1360406527,DE
+1360405504,1360406527,US
1360406528,1360407551,ES
-1360407552,1360408319,RU
+1360407552,1360407807,RU
+1360407808,1360408063,DE
+1360408064,1360408319,RU
1360408320,1360408575,GB
1360408576,1360412671,RU
1360420864,1360424959,TR
@@ -33289,7 +34078,9 @@
1360592896,1360596991,RU
1360596992,1360601087,CZ
1360601088,1360605183,BY
-1360605184,1360611071,RU
+1360605184,1360610559,RU
+1360610560,1360610815,EE
+1360610816,1360611071,RU
1360611072,1360611327,SE
1360611328,1360612351,IT
1360612352,1360613375,RU
@@ -33299,9 +34090,7 @@
1360625664,1360629759,DE
1360629760,1360633855,SE
1360633856,1360637951,RU
-1360637952,1360638463,FO
-1360638464,1360638975,DK
-1360638976,1360642047,FO
+1360637952,1360642047,FO
1360642048,1360644735,FR
1360644736,1360644863,IT
1360644864,1360645887,FR
@@ -33447,7 +34236,8 @@
1362414848,1362414975,GB
1362414976,1362415359,FR
1362415360,1362415487,DE
-1362415488,1362417663,FR
+1362415488,1362415615,FR
+1362415616,1362417663,GP
1362417664,1362419711,SG
1362419712,1362423807,FR
1362423808,1362425855,SG
@@ -33461,7 +34251,9 @@
1363410944,1363673087,CN
1363673088,1363935231,IT
1363935232,1364197375,GB
-1364197376,1364262911,FR
+1364197376,1364227583,FR
+1364227584,1364227839,GP
+1364227840,1364262911,FR
1364262912,1364328447,IT
1364328448,1364459519,BE
1364459520,1364525055,PT
@@ -33579,9 +34371,7 @@
1365025152,1365025215,AT
1365025216,1365028863,DE
1365028864,1365032959,NL
-1365032960,1365033247,US
-1365033248,1365033279,GB
-1365033280,1365033471,US
+1365032960,1365033471,GB
1365033472,1365033599,PT
1365033600,1365033983,GB
1365033984,1365035007,SE
@@ -33784,8 +34574,10 @@
1370488832,1370619903,RU
1370619904,1370750975,GB
1370750976,1370767359,RO
-1370767360,1370775551,MD
-1370775552,1370882047,RO
+1370767360,1370771455,MD
+1370771456,1370772479,RO
+1370772480,1370772991,MD
+1370772992,1370882047,RO
1370882048,1371013119,HU
1371013120,1371078655,ES
1371078656,1371144191,FR
@@ -33878,7 +34670,9 @@
1372691594,1372691594,IE
1372693504,1372694015,DE
1372694464,1372694495,DE
-1372696576,1372700671,DE
+1372697344,1372697599,DE
+1372698880,1372699647,DE
+1372699904,1372700159,DE
1372702720,1372703231,DE
1372703616,1372703743,DE
1372708864,1372713983,DE
@@ -33888,7 +34682,9 @@
1372782592,1372815359,RU
1372815360,1372848127,KZ
1372848128,1373110271,TR
-1373110272,1373175807,SE
+1373110272,1373124607,SE
+1373124608,1373125119,DK
+1373125120,1373175807,SE
1373175808,1373241343,AT
1373241344,1373306879,IL
1373306880,1373372415,PL
@@ -33896,41 +34692,29 @@
1373437952,1373503487,CH
1373503488,1373569023,RU
1373569024,1373634559,AT
-1373634560,1373680511,SE
-1373680512,1373680639,DK
-1373680640,1374683135,SE
+1373634560,1373690367,SE
+1373690368,1373690495,DK
+1373690496,1374683135,SE
1374683136,1375207423,BE
1375207424,1375208447,MQ
1375208448,1375208703,GP
1375208704,1375210239,MQ
1375210240,1375210495,GP
-1375210496,1375211519,MQ
-1375211520,1375215615,GP
-1375215616,1375216639,GF
-1375216640,1375216895,FR
-1375216896,1375217407,GF
-1375217408,1375217919,FR
-1375217920,1375220735,GF
+1375210496,1375210751,MQ
+1375210752,1375211007,FR
+1375211008,1375211519,MQ
+1375211520,1375211775,BL
+1375211776,1375215615,GP
+1375215616,1375217407,GF
+1375217408,1375217663,FR
+1375217664,1375217919,GF
+1375217920,1375218175,FR
+1375218176,1375220735,GF
1375220736,1375221759,FR
1375221760,1375222015,GF
1375222016,1375222783,FR
-1375222784,1375223039,GF
-1375223040,1375223295,FR
-1375223296,1375223807,GF
-1375223808,1375224831,FR
-1375224832,1375225599,MQ
-1375225600,1375225855,FR
-1375225856,1375231999,MQ
-1375232000,1375233023,FR
-1375233024,1375233279,MQ
-1375233280,1375234047,FR
-1375234048,1375234303,MQ
-1375234304,1375234559,FR
-1375234560,1375234815,MQ
-1375234816,1375235071,FR
-1375235072,1375235327,MQ
-1375235328,1375236095,FR
-1375236096,1375240191,MQ
+1375222784,1375223807,GF
+1375223808,1375240191,MQ
1375240192,1375256575,GP
1375256576,1375272959,RE
1375272960,1375731711,FR
@@ -33963,7 +34747,10 @@
1382139648,1382140159,GB
1382140160,1382141951,RU
1382141952,1382146047,SY
-1382146048,1382154239,IR
+1382146048,1382147391,HK
+1382147392,1382147407,RU
+1382147408,1382152191,HK
+1382152192,1382154239,IR
1382154240,1382170623,FR
1382170624,1382181439,DE
1382181440,1382181447,DK
@@ -33981,7 +34768,11 @@
1382230208,1382230215,NO
1382230216,1382232775,SE
1382232776,1382232783,FI
-1382232784,1382252543,SE
+1382232784,1382233087,SE
+1382233088,1382233343,NO
+1382233344,1382233375,SE
+1382233376,1382233471,NO
+1382233472,1382252543,SE
1382252544,1382268927,CZ
1382268928,1382285311,IR
1382285312,1382301695,CZ
@@ -34042,16 +34833,12 @@
1383145472,1383153663,CZ
1383153664,1383161855,GB
1383161856,1383170047,DE
-1383170048,1383184319,GB
-1383184320,1383184335,SE
-1383184336,1383186431,GB
+1383170048,1383186431,GB
1383186432,1383194623,IT
1383194624,1383202815,GB
1383202816,1383211007,RU
1383211008,1383219199,CY
-1383219200,1383222423,AL
-1383222424,1383222431,RS
-1383222432,1383226207,AL
+1383219200,1383226207,AL
1383226208,1383226239,RS
1383226240,1383227391,AL
1383227392,1383243775,RU
@@ -34096,9 +34883,7 @@
1383374848,1383383039,ES
1383383040,1383391231,CY
1383391232,1383399423,FI
-1383399424,1383399935,LI
-1383399936,1383400191,CH
-1383400192,1383407615,LI
+1383399424,1383407615,LI
1383407616,1383415807,NO
1383415808,1383419903,RU
1383419904,1383423999,TR
@@ -34119,7 +34904,9 @@
1383497728,1383505919,RU
1383505920,1383514111,SA
1383514112,1383522303,FI
-1383522304,1383523839,BG
+1383522304,1383523327,BG
+1383523328,1383523583,MT
+1383523584,1383523839,BG
1383523840,1383524095,GB
1383524096,1383524607,BG
1383524608,1383524863,BR
@@ -34140,10 +34927,10 @@
1384185856,1384186879,ES
1384187136,1384187391,DE
1384188160,1384188415,ES
-1384192000,1384193023,ES
1384193024,1384194047,DE
1384196096,1384197119,ES
1384198144,1384202239,GB
+1384202496,1384202751,GB
1384203264,1384218623,GB
1384218624,1384251391,EG
1384251392,1384267775,FI
@@ -34223,9 +35010,7 @@
1385070592,1385086975,RU
1385086976,1385103359,GB
1385103360,1385119743,IT
-1385119744,1385129151,BE
-1385129152,1385129215,NL
-1385129216,1385136127,BE
+1385119744,1385136127,BE
1385136128,1385152511,PL
1385152512,1385168895,DK
1385168896,1385177087,ES
@@ -34244,9 +35029,12 @@
1385275392,1385283583,IT
1385283584,1385286143,DE
1385286144,1385287679,GB
+1385287680,1385287935,PH
1385289728,1385290751,GB
+1385291008,1385291071,NG
+1385291072,1385291135,ZA
+1385291136,1385291263,NG
1385291264,1385291519,ZA
-1385291520,1385291775,GB
1385291776,1385299967,TR
1385299968,1385303039,BG
1385303040,1385303295,HU
@@ -34285,15 +35073,25 @@
1385537536,1385545727,DE
1385545728,1385553919,RU
1385553920,1385562111,DE
+1385562112,1385566431,GB
1385566432,1385566447,FR
+1385566448,1385566999,GB
1385567000,1385567007,FR
+1385567008,1385567231,GB
1385567232,1385568255,IE
+1385568256,1385569023,GB
1385569024,1385569279,FR
+1385569280,1385570111,GB
1385570112,1385570119,FR
+1385570120,1385570143,GB
1385570144,1385570151,FR
+1385570152,1385570199,GB
1385570200,1385570207,FR
+1385570208,1385570223,GB
1385570224,1385570231,FR
+1385570232,1385570239,GB
1385570240,1385570247,FR
+1385570248,1385570303,GB
1385570304,1385578495,HU
1385578496,1385586687,TR
1385586688,1385587711,GB
@@ -34320,9 +35118,7 @@
1385668608,1385676799,NL
1385676800,1385684991,RU
1385684992,1385824255,GB
-1385824256,1385880575,PT
-1385880576,1385881087,GB
-1385881088,1385955327,PT
+1385824256,1385955327,PT
1385955328,1386086399,CN
1386086400,1386217471,ES
1386217472,1386283007,PL
@@ -34343,8 +35139,8 @@
1386434752,1386434767,BE
1386434768,1386434783,IE
1386434784,1386434799,PT
-1386434800,1386436607,GB
-1386436608,1386438399,ES
+1386434800,1386438143,GB
+1386438144,1386438399,ES
1386438400,1386438655,FR
1386438656,1386442751,PS
1386442752,1386444799,GB
@@ -34352,17 +35148,14 @@
1386445824,1386447871,GB
1386447872,1386448895,DK
1386448896,1386449151,IL
-1386449152,1386449343,NL
-1386449344,1386449347,GB
-1386449348,1386449359,NL
-1386449360,1386449363,GB
+1386449152,1386449363,GB
1386449364,1386449367,BE
1386449368,1386449371,AU
1386449372,1386449375,AT
-1386449376,1386449379,NL
+1386449376,1386449379,GB
1386449380,1386449383,CH
1386449384,1386449387,FR
-1386449388,1386449391,NL
+1386449388,1386449391,GB
1386449392,1386449395,ES
1386449396,1386449399,PT
1386449400,1386449403,RU
@@ -34374,7 +35167,15 @@
1386455040,1386456063,DK
1386456064,1386457087,GB
1386457088,1386459135,PS
-1386459136,1386471423,GB
+1386459136,1386465279,GB
+1386465280,1386465535,NL
+1386465536,1386465791,DE
+1386465792,1386466047,IE
+1386466048,1386466303,FR
+1386466304,1386466559,SE
+1386466560,1386466815,PL
+1386466816,1386467071,ES
+1386467072,1386471423,GB
1386471424,1386473471,PS
1386473472,1386477567,GB
1386477568,1386477823,US
@@ -34390,7 +35191,13 @@
1386676224,1386741759,SA
1386741760,1387249663,NL
1387249664,1387250687,BE
-1387250688,1387331583,NL
+1387250688,1387293439,NL
+1387293440,1387293695,BE
+1387293696,1387294591,NL
+1387294592,1387294719,BE
+1387294720,1387298559,NL
+1387298560,1387298815,DE
+1387298816,1387331583,NL
1387331584,1387397119,PL
1387397120,1387462655,OM
1387462656,1387528191,RU
@@ -34419,7 +35226,9 @@
1388445696,1388453887,AZ
1388453888,1388462079,BH
1388462080,1388470271,ES
-1388470272,1388473263,DE
+1388470272,1388473231,DE
+1388473232,1388473247,NL
+1388473248,1388473263,DE
1388473264,1388473279,NL
1388473280,1388478463,DE
1388478464,1388486655,AT
@@ -34471,10 +35280,7 @@
1388581120,1388583167,FR
1388583168,1388583423,DZ
1388583424,1388584959,FR
-1388587456,1388587471,GB
-1388587520,1388587775,GB
-1388588032,1388589823,GB
-1388590080,1388590591,FR
+1388587008,1388589823,GB
1388591104,1388591359,AU
1388593152,1388601343,RU
1388601344,1388609535,SE
@@ -34530,24 +35336,18 @@
1388716032,1388724223,ES
1388724224,1388732415,DE
1388732416,1388740607,ES
-1388740608,1388741887,GB
-1388741888,1388742143,IE
-1388742144,1388743047,GB
-1388743048,1388743055,IE
-1388743056,1388743679,GB
-1388743680,1388743919,IE
-1388743920,1388743935,GB
-1388743936,1388744191,IE
+1388740608,1388743423,GB
+1388743424,1388744191,IE
1388744192,1388744759,GB
1388744760,1388744767,IE
1388744768,1388744959,GB
-1388744960,1388745215,IE
-1388745216,1388746207,GB
+1388744960,1388745727,IE
+1388745728,1388746207,GB
1388746208,1388746223,IE
1388746224,1388746495,GB
1388746496,1388746559,IE
-1388746560,1388747775,GB
-1388747776,1388748799,IE
+1388746560,1388746751,GB
+1388746752,1388748799,IE
1388748800,1388756991,RU
1388756992,1388765183,DE
1388765184,1388773375,GB
@@ -34578,7 +35378,9 @@
1388813312,1388813823,CH
1388813824,1388814079,DE
1388814080,1388814335,CH
-1388814336,1388822527,AX
+1388814336,1388816383,FI
+1388816384,1388820479,AX
+1388820480,1388822527,FI
1388822528,1388830719,AM
1388830720,1388838911,FI
1388838912,1388871679,RU
@@ -34658,9 +35460,10 @@
1389787136,1389788671,SI
1389788672,1389789183,RS
1389789184,1389805567,PL
-1389805568,1389806591,US
+1389805568,1389806591,GB
1389806592,1389806847,SA
-1389806848,1389814271,US
+1389806848,1389807615,GB
+1389807616,1389814271,US
1389814272,1389814527,DE
1389814528,1389815295,US
1389815296,1389815551,DE
@@ -34710,9 +35513,7 @@
1397096448,1397227519,IE
1397227520,1397489663,DK
1397489664,1397751807,CH
-1397751808,1397853183,NL
-1397853184,1397853439,BQ
-1397853440,1398276095,NL
+1397751808,1398276095,NL
1398276096,1398286556,DK
1398286557,1398286557,SE
1398286558,1398800383,DK
@@ -34743,9 +35544,7 @@
1399029760,1399062527,LV
1399062528,1399095295,FI
1399095296,1399128063,GB
-1399128064,1399138303,BE
-1399138304,1399138559,DE
-1399138560,1399160831,BE
+1399128064,1399160831,BE
1399160832,1399193599,SA
1399193600,1399226367,FI
1399226368,1399259135,RU
@@ -34772,14 +35571,11 @@
1401278464,1401283583,DE
1401286656,1401290751,DE
1401290752,1401356287,BE
-1401356288,1401361671,DE
-1401361672,1401361679,AT
-1401361680,1401421823,DE
+1401356288,1401421823,DE
1401421824,1401423135,GB
1401423136,1401423167,IN
1401423168,1401423871,GB
-1401423872,1401424383,SA
-1401424384,1401425151,AE
+1401423872,1401425151,AE
1401425152,1401425407,GR
1401425408,1401425919,AE
1401425920,1401427967,NL
@@ -34846,8 +35642,7 @@
1401544704,1401546751,GB
1401546752,1401548799,IT
1401548800,1401550847,FR
-1401550848,1401552639,JE
-1401552640,1401552895,GB
+1401550848,1401552895,JE
1401552896,1401554943,NL
1401554944,1401556991,IE
1401556992,1401563135,GB
@@ -34989,6 +35784,21 @@
1402339328,1402355711,CH
1402355712,1402372095,FI
1402372096,1402388479,SE
+1402388480,1402389503,IR
+1402389504,1402390527,PL
+1402390528,1402391551,SY
+1402391552,1402392575,UA
+1402392576,1402393599,BE
+1402393600,1402394623,TR
+1402394624,1402395647,BG
+1402395648,1402396671,PH
+1402396672,1402397695,HK
+1402397696,1402398719,RU
+1402398720,1402399743,NL
+1402399744,1402400767,RO
+1402400768,1402401791,ES
+1402401792,1402402815,FR
+1402402816,1402404863,GB
1402404864,1402408959,RU
1402408960,1402413055,DE
1402413056,1402417151,PL
@@ -35110,13 +35920,26 @@
1403617280,1403633663,DE
1403633664,1403650047,RU
1403650048,1403666431,DE
-1403666432,1403687423,GB
-1403687424,1403687679,NO
-1403687680,1403699199,GB
+1403666432,1403699199,GB
1403699200,1403715583,UA
1403715584,1403731967,LT
1403731968,1403748351,RU
1403748352,1403764735,DE
+1403764736,1403765759,LB
+1403765760,1403766783,IT
+1403766784,1403768831,DE
+1403768832,1403769855,FR
+1403769856,1403770879,RU
+1403770880,1403771903,LU
+1403771904,1403772927,ES
+1403772928,1403773951,BR
+1403773952,1403774975,SE
+1403774976,1403775999,RU
+1403776000,1403777023,DE
+1403777024,1403778047,RU
+1403778048,1403779071,TR
+1403779072,1403780607,DE
+1403780608,1403781119,US
1403781120,1403797503,RU
1403797504,1403813887,SE
1403813888,1403827199,NL
@@ -35218,8 +36041,8 @@
1404801024,1404803071,SE
1404803072,1404805119,LV
1404805120,1404813311,AT
-1404813312,1404837887,SE
-1404837888,1404862463,LT
+1404813312,1404846079,SE
+1404846080,1404862463,LT
1404862464,1404870655,HR
1404870656,1404875775,SE
1404875776,1404876287,LT
@@ -35229,51 +36052,37 @@
1404921856,1404923903,LT
1404923904,1404944383,SE
1404944384,1404960767,LT
-1404960768,1404977151,SE
-1404977152,1404993535,LT
-1404993536,1405018111,SE
+1404960768,1404987311,SE
+1404987312,1404987312,LT
+1404987313,1404988469,SE
+1404988470,1404988470,LT
+1404988471,1405018111,SE
1405018112,1405026303,LT
1405026304,1405050879,HR
1405050880,1405059071,AT
1405059072,1405075455,SE
1405075456,1405091839,EE
1405091840,1405812735,FR
-1405812736,1405813503,MQ
-1405813504,1405813759,FR
-1405813760,1405821695,MQ
-1405821696,1405821951,FR
-1405821952,1405822719,MQ
-1405822720,1405822975,FR
-1405822976,1405827839,MQ
-1405827840,1405828351,FR
-1405828352,1405832191,MQ
-1405832192,1405832447,FR
-1405832448,1405832703,MQ
-1405832704,1405832959,FR
-1405832960,1405833983,MQ
-1405833984,1405834239,FR
-1405834240,1405853439,MQ
+1405812736,1405816063,MQ
+1405816064,1405816319,FR
+1405816320,1405819647,MQ
+1405819648,1405819903,FR
+1405819904,1405823487,MQ
+1405823488,1405823743,FR
+1405823744,1405853439,MQ
1405853440,1405853695,FR
-1405853696,1405854975,MQ
-1405854976,1405855231,FR
-1405855232,1405857535,MQ
-1405857536,1405857791,FR
-1405857792,1405859839,MQ
-1405859840,1405860095,FR
-1405860096,1405864703,MQ
-1405864704,1405864959,FR
-1405864960,1405865215,MQ
-1405865216,1405865471,FR
+1405853696,1405864959,MQ
+1405864960,1405865471,FR
1405865472,1405865727,MQ
1405865728,1405865983,FR
-1405865984,1405866495,MQ
-1405866496,1405867263,FR
-1405867264,1405870591,MQ
-1405870592,1405871103,FR
-1405871104,1405878271,MQ
-1405878272,1406066687,FR
-1406066688,1406066943,GP
-1406066944,1406140415,FR
+1405865984,1405869823,MQ
+1405869824,1405870079,FR
+1405870080,1405878271,MQ
+1405878272,1406050303,FR
+1406050304,1406051327,MQ
+1406051328,1406066687,FR
+1406066688,1406067199,GP
+1406067200,1406140415,FR
1406140416,1406205951,CZ
1406205952,1406210175,SE
1406210176,1406210559,NO
@@ -35296,17 +36105,7 @@
1406746624,1406753791,BE
1406753792,1406754815,NL
1406754816,1406763007,GB
-1406763008,1406764031,FR
-1406764032,1406764287,LU
-1406764288,1406764799,FR
-1406764800,1406765055,LU
-1406765056,1406766591,FR
-1406766592,1406766847,LU
-1406766848,1406768639,FR
-1406768640,1406768895,LU
-1406768896,1406770431,FR
-1406770432,1406770687,LU
-1406770688,1406771199,FR
+1406763008,1406771199,LU
1406771200,1406779391,GB
1406779392,1406787583,RU
1406787584,1406791159,ES
@@ -35315,8 +36114,7 @@
1406793088,1406793088,FR
1406793089,1406794751,ES
1406794752,1406795775,NL
-1406795776,1406796287,GB
-1406796288,1406797823,IM
+1406795776,1406797823,IM
1406797824,1406802943,GB
1406802944,1406803967,IM
1406803968,1406812159,DE
@@ -35360,9 +36158,7 @@
1407090688,1407098879,CH
1407098880,1407107071,BG
1407107072,1407115263,RU
-1407115264,1407121663,GB
-1407121664,1407121919,US
-1407121920,1407123455,GB
+1407115264,1407123455,GB
1407123456,1407131647,SE
1407131648,1407139839,NL
1407139840,1407148031,DE
@@ -35379,7 +36175,11 @@
1407520536,1407520543,NG
1407520544,1407520623,GB
1407520624,1407520631,NG
-1407520632,1407543935,GB
+1407520632,1407523540,GB
+1407523541,1407523541,SA
+1407523542,1407531007,GB
+1407531008,1407533055,AU
+1407533056,1407543935,GB
1407543936,1407543943,NG
1407543944,1407544015,GB
1407544016,1407544023,NG
@@ -35466,7 +36266,11 @@
1409548288,1409810431,FR
1409810432,1409941503,GB
1409941504,1410007039,PL
-1410007040,1410072575,DE
+1410007040,1410043903,DE
+1410043904,1410045951,US
+1410045952,1410047999,DE
+1410048000,1410050047,KE
+1410050048,1410072575,DE
1410072576,1410203647,GB
1410203648,1410212863,FR
1410212864,1410213119,GB
@@ -35492,9 +36296,7 @@
1410319360,1410322431,LT
1410322432,1410326527,LV
1410326528,1410334719,LT
-1410334720,1410338319,ES
-1410338320,1410338327,GB
-1410338328,1410342399,ES
+1410334720,1410342399,ES
1410342400,1410342655,DE
1410342656,1410342911,ES
1410342912,1410351103,SK
@@ -35503,8 +36305,7 @@
1410356880,1410359295,CH
1410359296,1410367487,CZ
1410367488,1410375679,RU
-1410375680,1410377727,IT
-1410377728,1410378015,DK
+1410375680,1410378015,DK
1410378016,1410378031,NO
1410378032,1410383871,DK
1410383872,1410392063,NO
@@ -35571,7 +36372,7 @@
1410707456,1410708479,IT
1410708480,1410709503,HU
1410709504,1410710527,DE
-1410710528,1410711551,NL
+1410710528,1410711551,GB
1410711552,1410719743,BG
1410719744,1410727935,RU
1410727936,1410736127,BG
@@ -35580,9 +36381,7 @@
1410739712,1410744055,RS
1410744056,1410744056,XK
1410744057,1410744319,RS
-1410744320,1410747391,FR
-1410747392,1410747647,GP
-1410747648,1410752511,FR
+1410744320,1410752511,FR
1410752512,1410760703,NL
1410760704,1410768895,RU
1410768896,1410777087,GB
@@ -35606,7 +36405,9 @@
1411514368,1411579903,FI
1411579904,1411645439,NL
1411645440,1411710975,EG
-1411710976,1411776511,FR
+1411710976,1411731991,FR
+1411731992,1411731995,GB
+1411731996,1411776511,FR
1411776512,1411777535,RU
1411777536,1411778559,HK
1411778560,1411780607,NO
@@ -35624,9 +36425,7 @@
1411813376,1411817471,NO
1411817472,1411821567,PL
1411821568,1411825663,RU
-1411825664,1411826687,DE
-1411826688,1411827711,CH
-1411827712,1411829759,DE
+1411825664,1411829759,DE
1411829760,1411833855,PL
1411833856,1411837951,NL
1411837952,1411842047,BG
@@ -35700,9 +36499,7 @@
1412415488,1412431871,IR
1412431872,1412562943,NO
1412562944,1412628479,EE
-1412628480,1412639295,TR
-1412639296,1412639487,GB
-1412639488,1412644863,TR
+1412628480,1412644863,TR
1412644864,1412661247,RU
1412661248,1412677631,GB
1412677632,1412685823,RU
@@ -35720,7 +36517,23 @@
1412804864,1412805631,US
1412806656,1412808703,US
1412808704,1412825087,RU
+1412825088,1412826111,TR
+1412826112,1412828159,RU
+1412828160,1412829183,TR
+1412829184,1412830207,RU
+1412830208,1412831231,DE
+1412831232,1412832255,ES
+1412832256,1412832767,RU
1412832768,1412833023,SL
+1412833024,1412835327,RU
+1412835328,1412836351,NL
+1412836352,1412837375,RU
+1412837376,1412838399,DE
+1412838400,1412839423,RU
+1412839424,1412839935,CN
+1412839936,1412840191,GB
+1412840192,1412840447,RU
+1412840448,1412841471,NL
1412841472,1412857855,UZ
1412857856,1412874239,BG
1412874240,1412890623,RU
@@ -35813,9 +36626,9 @@
1424591663,1424592895,FR
1424592896,1424593119,GB
1424593120,1424593127,FR
-1424593128,1424595726,GB
-1424595727,1424595727,IT
-1424595728,1424597069,GB
+1424593128,1424594943,GB
+1424594944,1424596991,IT
+1424596992,1424597069,GB
1424597070,1424597070,CZ
1424597071,1424599039,GB
1424599040,1424601087,FR
@@ -35831,11 +36644,14 @@
1424604976,1424604991,NL
1424604992,1424607743,GB
1424607744,1424607775,DE
-1424607776,1424607999,GB
-1424608000,1424608511,FR
-1424608512,1424608547,GB
-1424608548,1424608548,ES
-1424608549,1424608579,GB
+1424607776,1424608083,GB
+1424608084,1424608087,FR
+1424608088,1424608127,GB
+1424608128,1424608191,FR
+1424608192,1424608255,GB
+1424608256,1424608511,FR
+1424608512,1424608575,ES
+1424608576,1424608579,GB
1424608580,1424608580,ES
1424608581,1424608671,GB
1424608672,1424608687,ES
@@ -35851,7 +36667,9 @@
1424611006,1424611006,FR
1424611007,1424613855,GB
1424613856,1424613859,IT
-1424613860,1424618464,GB
+1424613860,1424617023,GB
+1424617024,1424617027,FR
+1424617028,1424618464,GB
1424618465,1424618465,NL
1424618466,1424618479,GB
1424618480,1424618495,NL
@@ -35866,11 +36684,12 @@
1424642048,1424646143,DK
1424646144,1424647167,RO
1424647168,1424648191,IT
-1424648192,1424649215,MD
-1424649216,1424650239,UA
+1424648192,1424650239,UA
1424650240,1424654335,PL
1424654336,1424687103,NO
-1424687104,1424719871,SA
+1424687104,1424711679,SA
+1424711680,1424713727,BH
+1424713728,1424719871,SA
1424719872,1424752639,DE
1424752640,1424785407,HU
1424785408,1424818175,ES
@@ -35960,7 +36779,7 @@
1425480704,1425481727,RO
1425481728,1425482751,US
1425482752,1425483775,RO
-1425483776,1425484799,GB
+1425483776,1425484799,US
1425484800,1425485311,MD
1425485312,1425486847,RO
1425486848,1425487103,FR
@@ -35976,6 +36795,20 @@
1425522688,1425539071,IT
1425539072,1425801215,FI
1425801216,1425817599,BG
+1425817600,1425820671,RU
+1425820672,1425821695,DK
+1425821696,1425822719,TR
+1425822720,1425823743,FR
+1425823744,1425824767,PT
+1425824768,1425825791,TR
+1425825792,1425826815,IL
+1425826816,1425827839,JP
+1425827840,1425828863,CH
+1425828864,1425829887,IE
+1425829888,1425830911,FR
+1425830912,1425831935,SK
+1425831936,1425832959,DE
+1425832960,1425833983,NL
1425833984,1425850367,RU
1425850368,1425866751,GB
1425866752,1425883135,CH
@@ -36001,6 +36834,19 @@
1426063360,1426587647,CH
1426587648,1426604031,SE
1426604032,1426620415,DE
+1426620416,1426621439,CY
+1426621440,1426622463,DE
+1426622464,1426624511,ES
+1426624512,1426625535,TR
+1426625536,1426626559,US
+1426626560,1426629631,TR
+1426629632,1426630655,AU
+1426630656,1426631679,LT
+1426631680,1426632703,MD
+1426632704,1426633727,SE
+1426633728,1426634751,HK
+1426634752,1426635775,RU
+1426635776,1426636799,AU
1426636800,1426653183,GB
1426653184,1426669567,RO
1426669568,1426685951,IR
@@ -36029,7 +36875,9 @@
1426915328,1426931711,AT
1426931712,1426948095,CZ
1426948096,1426964479,DE
-1426964480,1426980863,GB
+1426964480,1426967287,GB
+1426967288,1426967295,ES
+1426967296,1426980863,GB
1426980864,1426997247,BG
1426997248,1427013631,PL
1427013632,1427030015,FR
@@ -36075,13 +36923,9 @@
1428104192,1428105215,RU
1428105216,1428106239,IQ
1428106240,1428107263,DE
-1428107264,1428108287,RU
-1428108288,1428109311,NL
-1428109312,1428110335,ES
-1428111360,1428115455,GB
-1428115456,1428118783,IQ
-1428118784,1428119039,GB
-1428119040,1428119551,IQ
+1428107264,1428109311,RU
+1428109312,1428111359,ES
+1428111360,1428119551,GB
1428119552,1428121599,LV
1428121600,1428123647,FR
1428123648,1428127743,RU
@@ -36127,7 +36971,7 @@
1431945216,1431953407,NO
1431953408,1431961599,DK
1431961600,1431969791,CH
-1431969792,1431977983,FR
+1431969792,1431977983,GB
1431977984,1431986175,NL
1431986176,1431994367,RU
1431994368,1432002559,AT
@@ -36153,6 +36997,13 @@
1432092672,1432100863,RU
1432100864,1432109055,CZ
1432109056,1432117247,GB
+1432117248,1432118271,CZ
+1432118272,1432120319,GB
+1432120320,1432121343,RU
+1432121344,1432122367,PL
+1432122368,1432123391,RU
+1432123392,1432124415,KZ
+1432124416,1432125439,ES
1432125440,1432130703,NL
1432130704,1432130711,GB
1432130712,1432131583,NL
@@ -36172,7 +37023,9 @@
1432182784,1432190975,CZ
1432190976,1432199167,RU
1432199168,1432207359,CZ
-1432207360,1432215551,LU
+1432207360,1432213503,LU
+1432213504,1432213759,FR
+1432213760,1432215551,LU
1432215552,1432223743,NO
1432223744,1432240127,RU
1432240128,1432248319,HR
@@ -36183,8 +37036,7 @@
1432273408,1432273535,DE
1432273536,1432281087,IT
1432281088,1432289279,LU
-1432289280,1432297471,GB
-1432297472,1432305663,NO
+1432289280,1432305663,GB
1432305664,1432313855,BG
1432313856,1432322047,GB
1432322048,1432338431,RU
@@ -36239,25 +37091,33 @@
1433608448,1433608703,NL
1433608704,1433608959,GB
1433608960,1433609215,PL
-1433609216,1433609727,GB
+1433609216,1433609471,GB
+1433609472,1433609727,SE
1433609728,1433610239,IT
-1433610240,1433611263,GB
+1433610240,1433611263,US
1433611264,1433611519,ES
1433611520,1433611775,NO
-1433611776,1433614335,GB
-1433614336,1433614591,DE
-1433614592,1433614847,GB
-1433614848,1433615103,DE
-1433615104,1433615359,GB
+1433611776,1433612031,GB
+1433612032,1433612287,IL
+1433612288,1433614335,GB
+1433614336,1433615359,DE
1433615360,1433615871,FR
1433615872,1433616127,CH
-1433616128,1433616383,GB
+1433616128,1433616383,FR
1433616384,1433624575,AE
1433624576,1433632767,LV
1433632768,1433637375,GI
1433637376,1433637631,FR
1433637632,1433640959,GI
1433640960,1433649151,RU
+1433649152,1433650175,ES
+1433650176,1433651199,IT
+1433651200,1433652223,RU
+1433652224,1433653247,EE
+1433653248,1433654271,DE
+1433654272,1433655295,PL
+1433655296,1433656319,DE
+1433656320,1433657343,ES
1433657344,1433665535,RU
1433665536,1433669375,GB
1433669376,1433669631,IE
@@ -36275,6 +37135,13 @@
1433755648,1433763839,KZ
1433763840,1433772031,FR
1433772032,1433788415,SE
+1433788416,1433789439,GB
+1433789440,1433790463,NO
+1433790464,1433791487,RU
+1433791488,1433792511,TR
+1433792512,1433793535,DE
+1433793536,1433795583,ES
+1433795584,1433796607,DE
1433796608,1433804799,GB
1433804800,1433812273,FR
1433812274,1433812274,GB
@@ -36299,7 +37166,10 @@
1433860096,1433862143,DE
1433862144,1433864191,CH
1433864192,1433866239,HU
-1433866240,1433870335,GB
+1433866240,1433867521,NL
+1433867522,1433867522,GB
+1433867523,1433868287,NL
+1433868288,1433870335,GB
1433870336,1433872383,TR
1433872384,1433874431,IT
1433874432,1433876479,NL
@@ -36348,9 +37218,15 @@
1434976256,1435107327,ES
1435107328,1435238399,PT
1435238400,1435500543,RU
-1435500544,1436024831,NL
+1435500544,1435597823,NL
+1435597824,1435597951,BE
+1435597952,1436024831,NL
1436024832,1436090367,ES
-1436090368,1436155903,TR
+1436090368,1436106750,TR
+1436106751,1436107007,EE
+1436107008,1436107263,TR
+1436107264,1436107519,EE
+1436107520,1436155903,TR
1436155904,1436221439,OM
1436221440,1436286975,ES
1436286976,1436418047,FI
@@ -36423,7 +37299,8 @@
1437073408,1437335551,FR
1437335552,1437597695,RU
1437597696,1438121983,DE
-1438121984,1438125055,NL
+1438121984,1438124031,GB
+1438124032,1438125055,NL
1438125056,1438125311,ES
1438125312,1438125567,NL
1438125568,1438125823,FR
@@ -36451,9 +37328,9 @@
1438186496,1438187519,CH
1438187520,1438253055,IR
1438253056,1438318591,RO
-1438318592,1438321919,BG
-1438321920,1438322687,RU
-1438322688,1438331903,BG
+1438318592,1438321663,BG
+1438321664,1438322175,RU
+1438322176,1438331903,BG
1438331904,1438333951,ES
1438333952,1438351359,BG
1438351360,1438359551,US
@@ -36547,9 +37424,7 @@
1439121408,1439154175,DE
1439154176,1439170559,GB
1439170560,1439236095,NO
-1439236096,1439286015,BE
-1439286016,1439286143,FR
-1439286144,1439301631,BE
+1439236096,1439301631,BE
1439301632,1439305727,RU
1439305728,1439309823,DK
1439309824,1439318015,PL
@@ -36559,18 +37434,19 @@
1439323136,1439323391,RU
1439323392,1439323647,ES
1439323648,1439323903,DE
-1439323904,1439324159,IT
+1439323904,1439324159,RU
1439324160,1439325183,DE
1439325184,1439326207,LB
1439326208,1439330303,PL
1439330304,1439334399,RS
1439334400,1439338495,RU
1439338496,1439342591,PL
-1439342592,1439343359,GB
+1439342592,1439343103,GB
+1439343104,1439343359,DE
1439343360,1439343615,BE
1439343616,1439344639,RU
1439344640,1439345663,NL
-1439345664,1439346687,GB
+1439345664,1439346687,US
1439346688,1439351295,RU
1439351296,1439351551,DE
1439351552,1439351807,AT
@@ -36631,14 +37507,18 @@
1439381504,1439382527,MX
1439382528,1439383551,US
1439383552,1439399935,FR
-1439399936,1439432703,DK
+1439399936,1439405567,DK
+1439405568,1439405695,DE
+1439405696,1439405823,DK
+1439405824,1439406079,DE
+1439406080,1439432703,DK
1439432704,1439437823,RO
1439437824,1439438335,FR
1439438336,1439438847,RO
1439438848,1439439359,FR
1439439360,1439439615,RO
1439439616,1439439871,PL
-1439439872,1439440383,RO
+1439439872,1439440383,US
1439440384,1439440895,IR
1439440896,1439441919,RO
1439441920,1439442943,ES
@@ -36703,13 +37583,11 @@
1439498240,1439502335,GB
1439502336,1439506431,DE
1439506432,1439507455,GB
-1439507456,1439510527,DE
-1439510528,1439514623,GB
+1439507456,1439513599,DE
+1439513600,1439514623,GB
1439514624,1439516671,IT
1439516672,1439518719,GB
-1439518720,1439520767,DE
-1439520768,1439521791,GB
-1439521792,1439527935,DE
+1439518720,1439527935,DE
1439527936,1439531007,GB
1439531008,1439534079,DE
1439534080,1439535103,GB
@@ -36733,7 +37611,9 @@
1440317952,1440318463,BG
1440318464,1440320511,ES
1440320512,1440320767,BG
-1440320768,1440322559,ES
+1440320768,1440321535,ES
+1440321536,1440322047,BG
+1440322048,1440322559,ES
1440322560,1440323071,BG
1440323072,1440325631,ES
1440325632,1440350207,BG
@@ -36787,6 +37667,14 @@
1441462272,1441464319,PL
1441464320,1441472511,SE
1441472512,1441480703,RU
+1441480704,1441481727,DE
+1441481728,1441482751,GB
+1441482752,1441483775,TR
+1441483776,1441484799,GB
+1441484800,1441485823,RU
+1441485824,1441486847,TR
+1441486848,1441487871,CH
+1441487872,1441488895,HU
1441488896,1441497087,GB
1441497088,1441505279,IT
1441505280,1441521663,RU
@@ -36813,7 +37701,8 @@
1441651456,1441651711,CA
1441651712,1441652735,GB
1441652736,1441660927,SK
-1441660928,1441669119,ES
+1441660928,1441667071,ES
+1441667072,1441669119,PT
1441669120,1441677311,GE
1441677312,1441685503,HU
1441685504,1441693695,UA
@@ -36831,21 +37720,12 @@
1441734656,1441742847,RU
1441742848,1441751039,CZ
1441751040,1441759231,DE
-1441759232,1441762303,BG
-1441762304,1441763327,ES
+1441759232,1441763327,ES
1441763328,1441767423,BG
1441767424,1441775615,IT
1441775616,1441783807,IR
1441783808,1441791999,CZ
-1441792000,1441795071,PT
-1441795072,1441795327,GB
-1441795328,1441847807,PT
-1441847808,1441848319,GB
-1441848320,1441872895,PT
-1441872896,1441873023,GB
-1441873024,1441873087,PT
-1441873088,1441873151,GB
-1441873152,1442316287,PT
+1441792000,1442316287,PT
1442316288,1442381823,SK
1442381824,1442447359,RU
1442447360,1442512895,IL
@@ -36901,13 +37781,29 @@
1446805504,1446838271,FI
1446838272,1446871039,SI
1446871040,1446903807,CZ
+1446903808,1446904831,UZ
+1446904832,1446905087,RU
+1446905344,1446905855,RU
+1446905856,1446906879,DE
1446906880,1446907135,IQ
+1446907136,1446908927,RU
+1446908928,1446909951,ES
+1446909952,1446910719,DK
1446910720,1446911231,IQ
+1446911232,1446911487,ES
+1446911744,1446911999,ES
+1446912000,1446913023,AT
+1446913024,1446914047,BG
+1446914048,1446915071,ES
+1446915072,1446916095,UA
+1446916096,1446918143,RU
+1446918144,1446919167,RO
+1446919168,1446920191,HK
1446920192,1446936575,RU
1446936576,1446952959,NO
1446952960,1446969343,QA
1446969344,1446980351,GB
-1446981632,1446985727,GB
+1446980608,1446985727,GB
1446985728,1447010303,PL
1447010304,1447018495,LV
1447018496,1447026687,CZ
@@ -36943,7 +37839,7 @@
1449687040,1449688063,GR
1449688064,1449688575,RO
1449688576,1449688831,GB
-1449688832,1449689087,US
+1449688832,1449689087,NL
1449689088,1449690623,RO
1449690624,1449690879,IE
1449690880,1449691135,IT
@@ -37055,7 +37951,9 @@
1449793280,1449793535,NL
1449793536,1449794047,IR
1449794048,1449794303,PH
-1449794304,1449803775,RO
+1449794304,1449794559,RO
+1449794560,1449795071,US
+1449795072,1449803775,RO
1449803776,1449805823,ES
1449805824,1449806591,RO
1449806592,1449807103,IE
@@ -37124,7 +38022,9 @@
1449881088,1449883647,RO
1449883648,1449885695,BE
1449885696,1449886463,KZ
-1449886464,1449886536,RO
+1449886464,1449886485,RO
+1449886486,1449886486,KZ
+1449886487,1449886536,RO
1449886537,1449886537,KZ
1449886538,1449886719,RO
1449886720,1449889791,KZ
@@ -37194,9 +38094,7 @@
1450180608,1450311679,GB
1450311680,1450442751,FI
1450442752,1450704895,CH
-1450704896,1451186175,RO
-1451186176,1451188223,IT
-1451188224,1451229183,RO
+1450704896,1451229183,RO
1451229184,1451415166,GB
1451415167,1451415167,US
1451415168,1455423487,GB
@@ -37245,7 +38143,11 @@
1466204160,1466236927,FI
1466236928,1466241023,NL
1466241024,1466249215,PL
-1466249216,1466253311,GR
+1466249216,1466251264,GR
+1466251265,1466251519,BG
+1466251520,1466252032,GR
+1466252033,1466252543,BG
+1466252544,1466253311,GR
1466253312,1466257407,PL
1466257408,1466258431,JP
1466258432,1466259455,NL
@@ -37309,7 +38211,9 @@
1467473920,1467482111,RU
1467482112,1467484927,BG
1467484928,1467485183,IL
-1467485184,1467596799,BG
+1467485184,1467582463,BG
+1467582464,1467584511,GB
+1467584512,1467596799,BG
1467596800,1467600895,DE
1467600896,1467604991,BG
1467604992,1467609087,DE
@@ -37319,7 +38223,9 @@
1467777024,1467875327,ES
1467875328,1467940863,BG
1467940864,1468006399,GB
-1468006400,1472200703,DE
+1468006400,1471149653,DE
+1471149654,1471149654,ES
+1471149655,1472200703,DE
1472200704,1472259071,IE
1472259072,1472259327,GB
1472259328,1472266239,IE
@@ -37454,7 +38360,7 @@
1475284992,1475287039,GB
1475287040,1475291135,RU
1475291136,1475293183,PL
-1475293184,1475295231,CZ
+1475293184,1475295231,KZ
1475295232,1475297279,SK
1475297280,1475299327,DK
1475299328,1475301375,PL
@@ -37502,13 +38408,7 @@
1475575808,1475592191,AT
1475592192,1475608575,GB
1475608576,1475624959,RU
-1475624960,1475637303,JE
-1475637304,1475637311,GB
-1475637312,1475637471,JE
-1475637472,1475637479,GB
-1475637480,1475639479,JE
-1475639480,1475639487,GB
-1475639488,1475639559,JE
+1475624960,1475639559,JE
1475639560,1475639567,GB
1475639568,1475639583,JE
1475639584,1475639591,GB
@@ -37540,6 +38440,13 @@
1475788800,1475805183,PL
1475805184,1475821567,KZ
1475821568,1475837951,LT
+1475837952,1475838975,ES
+1475838976,1475839999,RU
+1475840000,1475841023,BA
+1475841024,1475843071,RU
+1475843072,1475844095,MD
+1475844096,1475845119,UA
+1475845120,1475846143,RU
1475846144,1475854335,IR
1475854336,1475862527,AT
1475862528,1475864575,FR
@@ -37570,15 +38477,14 @@
1476026368,1476034559,BA
1476034560,1476042751,NL
1476042752,1476050943,PL
-1476050944,1476054527,RU
-1476054528,1476055039,MD
-1476055040,1476064255,RU
+1476050944,1476064255,RU
1476064256,1476064383,DE
1476064384,1476064511,TR
1476064512,1476067327,RU
1476067328,1476075519,TR
1476075520,1476083711,NL
-1476083712,1476100095,RU
+1476083712,1476087807,MD
+1476087808,1476100095,RU
1476100096,1476108287,IR
1476108288,1476116479,RU
1476116480,1476124671,SE
@@ -37634,7 +38540,9 @@
1481637888,1481646079,SE
1481646080,1481654271,RU
1481654272,1481662463,IT
-1481662464,1481678847,BG
+1481662464,1481672703,BG
+1481672704,1481676799,ES
+1481676800,1481678847,BG
1481678848,1481684991,SE
1481684992,1481687039,GB
1481687040,1481695231,DE
@@ -37643,10 +38551,7 @@
1481711616,1481719807,RU
1481719808,1481727999,CZ
1481728000,1481736191,IE
-1481736192,1481742335,GG
-1481742336,1481743359,GB
-1481743360,1481743871,GG
-1481743872,1481744383,GB
+1481736192,1481744383,GG
1481744384,1481752575,IT
1481752576,1481760767,RU
1481760768,1481768959,UA
@@ -37678,8 +38583,12 @@
1481934848,1481936895,DE
1481936896,1481937183,FR
1481937184,1481937199,NL
-1481937200,1481938943,FR
-1481938944,1481940991,NL
+1481937200,1481937567,FR
+1481937568,1481937571,PA
+1481937572,1481938943,FR
+1481938944,1481940427,NL
+1481940428,1481940431,AM
+1481940432,1481940991,NL
1481940992,1481949183,NO
1481949184,1481957375,RU
1481957376,1481965567,SE
@@ -37721,13 +38630,17 @@
1482948608,1483210751,CZ
1483210752,1483735039,GB
1483735040,1483997183,FI
-1483997184,1484128255,AT
+1483997184,1484123135,AT
+1484123136,1484123647,DE
+1484123648,1484128255,AT
1484128256,1484259327,LT
1484259328,1484783615,FR
1484783616,1484849151,DE
1484849152,1484914687,SE
1484914688,1484980223,DE
-1484980224,1485045759,SE
+1484980224,1485033983,SE
+1485033984,1485034495,NO
+1485034496,1485045759,SE
1485045760,1485111295,HU
1485111296,1485148159,DE
1485148160,1485151231,AT
@@ -37796,13 +38709,13 @@
1486356480,1486487551,DE
1486487552,1486618623,UA
1486618624,1486684159,PL
-1486684160,1486739903,PT
-1486739904,1486739967,GB
-1486739968,1486749695,PT
+1486684160,1486749695,PT
1486749696,1486815231,RO
1486815232,1486880767,NL
1486880768,1488977919,FR
-1488977920,1489240063,FI
+1488977920,1489093631,FI
+1489093632,1489093759,AX
+1489093760,1489240063,FI
1489240064,1489305599,EE
1489305600,1489338367,GR
1489338368,1489371135,BE
@@ -37811,13 +38724,12 @@
1489502208,1489534975,SI
1489534976,1489567743,RU
1489567744,1489589759,BH
-1489589760,1489590015,AE
-1489590016,1489600511,BH
+1489589760,1489590271,SA
+1489590272,1489600511,BH
1489600512,1489633279,RU
1489633280,1489634303,FR
1489634304,1489635327,IT
-1489635328,1489640959,FR
-1489641216,1489641471,FR
+1489635328,1489641471,FR
1489641472,1489641599,PT
1489641600,1489641727,GR
1489641728,1489642495,FR
@@ -37825,9 +38737,7 @@
1489644544,1489645055,IT
1489645824,1489646079,IT
1489647616,1489648383,FR
-1489648384,1489648639,GR
-1489649664,1489650687,ZA
-1489651200,1489653759,FR
+1489649664,1489653759,FR
1489655296,1489655551,GR
1489655808,1489656831,NO
1489656832,1489657087,FI
@@ -37838,11 +38748,10 @@
1489659648,1489661951,FR
1489661952,1489662975,NG
1489662976,1489663487,IT
-1489663744,1489663807,SK
-1489664000,1489664511,GB
+1489664256,1489664511,GB
1489664512,1489664767,LY
1489664768,1489665023,TN
-1489665024,1489674239,GB
+1489665792,1489674239,GB
1489674240,1489676287,NL
1489676288,1489678591,GB
1489678592,1489678847,NL
@@ -37891,9 +38800,7 @@
1489862656,1489928191,RU
1489928192,1489960959,SE
1489960960,1489993727,HR
-1489993728,1490014719,LU
-1490014720,1490014975,FR
-1490014976,1490026495,LU
+1489993728,1490026495,LU
1490026496,1490028543,NL
1490028544,1490028671,GB
1490028672,1490028799,DE
@@ -37916,7 +38823,9 @@
1490193617,1490193617,DE
1490193618,1490196991,GB
1490196992,1490197247,IE
-1490197248,1490206719,GB
+1490197248,1490198555,GB
+1490198556,1490198556,IE
+1490198557,1490206719,GB
1490206720,1490223103,GE
1490223104,1490255871,GB
1490255872,1490272255,NL
@@ -37935,7 +38844,22 @@
1490386944,1490403327,CH
1490403328,1490411519,BG
1490411520,1490419711,FR
+1490419712,1490420735,FI
1490420736,1490421759,IR
+1490421760,1490422783,UA
+1490422784,1490423807,DE
+1490423808,1490424831,AL
+1490424832,1490425855,NL
+1490425856,1490426623,DE
+1490426880,1490427903,NL
+1490427904,1490428927,RU
+1490428928,1490429951,GB
+1490429952,1490430975,TR
+1490430976,1490431999,IT
+1490432000,1490433023,RU
+1490433024,1490434047,LT
+1490434048,1490435071,DE
+1490435072,1490436095,BA
1490436096,1490452479,UA
1490452480,1490468863,PT
1490468864,1490473983,GB
@@ -37957,15 +38881,16 @@
1490879488,1490880511,US
1490880512,1490881535,FR
1490885632,1490886655,US
-1490891520,1490891775,GB
1490904064,1490905087,US
1490909184,1490910207,US
1490913280,1490915327,US
1490915328,1490917375,IT
1490917376,1490919423,IL
-1490927616,1490931711,PL
+1490927616,1490929663,FR
1490931712,1490931967,DE
-1490931968,1490935807,PL
+1490931968,1490932223,PL
+1490932224,1490933759,DE
+1490934528,1490934783,IL
1490944000,1491075071,LT
1491075072,1493172223,TR
1493172224,1493303295,DE
@@ -37976,7 +38901,9 @@
1493565440,1493696511,ES
1493696512,1493958655,NO
1493958656,1494220799,DE
-1494220800,1494222847,MQ
+1494220800,1494221311,MQ
+1494221312,1494221567,FR
+1494221568,1494222847,MQ
1494222848,1494224895,GP
1494224896,1494228991,FR
1494228992,1494237183,RU
@@ -37984,9 +38911,7 @@
1494245376,1494253567,RU
1494253568,1494261759,DE
1494261760,1494269951,GB
-1494269952,1494272255,AT
-1494272256,1494274047,NL
-1494274048,1494278143,AT
+1494269952,1494278143,AT
1494278144,1494286335,GB
1494286336,1494294527,HR
1494294528,1494302719,RU
@@ -38005,6 +38930,13 @@
1494401024,1494409215,LV
1494409216,1494417407,FI
1494417408,1494425599,TR
+1494425600,1494426623,RU
+1494426624,1494427647,NL
+1494427648,1494428671,RU
+1494428672,1494430719,GB
+1494430720,1494431743,DK
+1494431744,1494432767,BR
+1494432768,1494433791,NL
1494433792,1494441983,IE
1494441984,1494450175,UA
1494450176,1494458367,DK
@@ -38015,12 +38947,11 @@
1494507520,1494523903,RU
1494523904,1494532095,NL
1494532096,1494540287,GB
-1494540288,1494541823,NO
-1494541824,1494542079,DK
-1494542080,1494548479,NO
+1494540288,1494548479,NO
1494548480,1494556671,GB
1494556672,1494564863,DE
-1494564864,1494573055,UA
+1494564864,1494565887,US
+1494565888,1494573055,UA
1494573056,1494580479,RO
1494580480,1494580735,HU
1494580736,1494581247,RO
@@ -38052,9 +38983,7 @@
1494704128,1494736895,RU
1494736896,1494745087,DK
1494745088,1494810623,CZ
-1494810624,1494815743,BG
-1494815744,1494816255,ZA
-1494816256,1494843391,BG
+1494810624,1494843391,BG
1494843392,1494876159,PL
1494876160,1494908927,AT
1494908928,1494941695,PT
@@ -38072,8 +39001,8 @@
1495056384,1495058431,RU
1495058432,1495060479,UA
1495060480,1495060991,GB
-1495060992,1495061503,US
-1495061504,1495062527,GB
+1495060992,1495061247,US
+1495061248,1495062527,GB
1495062528,1495064575,JO
1495064576,1495066623,PL
1495066624,1495068671,GB
@@ -38081,12 +39010,14 @@
1495070720,1495072767,RU
1495072768,1495105535,CZ
1495105536,1495138303,ES
-1495138304,1495139343,FR
+1495138304,1495139327,FR
1495139344,1495139347,GB
-1495139348,1495146495,FR
+1495139376,1495139391,FR
+1495140352,1495142399,FR
+1495144448,1495146495,FR
1495146752,1495147007,US
1495148544,1495150591,FR
-1495150592,1495151615,GB
+1495150848,1495151103,GB
1495151616,1495153663,FR
1495154496,1495154527,IN
1495158784,1495159295,GB
@@ -38103,7 +39034,7 @@
1495163408,1495163411,ES
1495163412,1495163415,IT
1495163552,1495163567,FR
-1495165191,1495165191,US
+1495165191,1495165191,FR
1495165192,1495165195,NL
1495165408,1495165439,FR
1495165696,1495165951,ES
@@ -38148,11 +39079,9 @@
1495257088,1495259135,GB
1495259136,1495260159,MD
1495260160,1495261183,RU
-1495261184,1495261481,GB
-1495261482,1495261482,PT
-1495261483,1495261511,GB
-1495261512,1495261512,PT
-1495261513,1495261951,GB
+1495261184,1495261439,GB
+1495261440,1495261695,PT
+1495261696,1495261951,GB
1495261952,1495263231,PT
1495263232,1495265279,GB
1495265280,1495267327,US
@@ -38275,7 +39204,9 @@
1495398912,1495399423,GB
1495399424,1495399935,RO
1495399936,1495400447,GB
-1495400448,1495401983,RO
+1495400448,1495400959,RO
+1495400960,1495401215,RS
+1495401216,1495401983,RO
1495401984,1495402239,IT
1495402240,1495404543,RO
1495404544,1495405567,NL
@@ -38358,10 +39289,8 @@
1495485440,1495485695,MD
1495485696,1495485951,RO
1495485952,1495486463,PL
-1495486464,1495487183,RO
-1495487184,1495487184,GG
-1495487185,1495487231,RO
-1495487232,1495487487,IT
+1495486464,1495486975,RO
+1495486976,1495487487,GG
1495487488,1495488767,MD
1495488768,1495489279,GB
1495489280,1495489535,MD
@@ -38400,7 +39329,9 @@
1495515648,1495516159,IR
1495516160,1495517183,GB
1495517184,1495518207,MD
-1495518208,1495524095,RO
+1495518208,1495518719,RO
+1495518720,1495519231,IT
+1495519232,1495524095,RO
1495524096,1495524351,ES
1495524352,1495525119,RO
1495525120,1495525375,ES
@@ -38516,8 +39447,7 @@
1495652864,1495653375,IR
1495653376,1495654399,KZ
1495654400,1495654911,RO
-1495654912,1495655167,ES
-1495655168,1495655423,BG
+1495654912,1495655423,ES
1495655424,1495656447,US
1495656448,1495656959,RO
1495656960,1495657215,GB
@@ -38560,7 +39490,7 @@
1495709696,1495713791,IR
1495713792,1495715839,ES
1495715840,1495716863,RO
-1495716864,1495717887,IR
+1495716864,1495717887,HK
1495717888,1495719935,ES
1495719936,1495722751,RO
1495722752,1495723007,SE
@@ -38680,7 +39610,7 @@
1495840000,1495842815,RO
1495842816,1495843839,KZ
1495843840,1495845631,RO
-1495845632,1495845887,GB
+1495845632,1495845887,ES
1495845888,1495846655,RO
1495846656,1495847423,GB
1495847424,1495847679,RO
@@ -38711,7 +39641,7 @@
1495868416,1495869439,RO
1495869440,1495870463,IR
1495870464,1495871487,BE
-1495871488,1495871743,ES
+1495871488,1495871743,FI
1495871744,1495872511,GB
1495872512,1495873535,BE
1495873536,1495874047,RO
@@ -38726,7 +39656,7 @@
1495900160,1495902207,SE
1495902208,1495903231,NL
1495903232,1495906303,RO
-1495906304,1495907327,IR
+1495906304,1495907327,HK
1495907328,1495907583,RO
1495907584,1495908351,GB
1495908352,1495922687,IR
@@ -38746,7 +39676,7 @@
1495934976,1495935231,GB
1495935232,1495935743,RO
1495935744,1495935999,FI
-1495936000,1495937023,IR
+1495936000,1495937023,HK
1495937024,1495937535,DE
1495937536,1495938559,RO
1495938560,1495939071,BE
@@ -38868,7 +39798,8 @@
1496074240,1496075263,GR
1496075264,1496076799,RO
1496076800,1496077055,ES
-1496077056,1496079359,RO
+1496077056,1496078335,RO
+1496078336,1496079359,MD
1496079360,1496081407,GR
1496081408,1496082175,RO
1496082176,1496082431,GB
@@ -38909,7 +39840,9 @@
1496110592,1496111103,RO
1496111104,1496113151,GR
1496113152,1496117247,RO
-1496117248,1496118271,IR
+1496117248,1496117309,HK
+1496117310,1496117310,IR
+1496117311,1496118271,HK
1496118272,1496119295,RO
1496119296,1496121343,SE
1496121344,1496122367,MD
@@ -39000,7 +39933,7 @@
1496217600,1496218879,RO
1496218880,1496219135,DE
1496219136,1496220671,RO
-1496220672,1496221695,US
+1496220672,1496221695,DE
1496221696,1496223743,ES
1496223744,1496225791,PL
1496225792,1496228863,RO
@@ -39082,12 +40015,15 @@
1500028928,1500037119,NL
1500037120,1500045311,DK
1500045312,1500061695,GB
-1500061696,1500069887,NO
+1500061696,1500063743,NO
+1500064768,1500069887,NO
1500069888,1500078079,IT
1500078080,1500086271,GB
1500086272,1500094463,RU
1500094464,1500102655,AT
-1500102656,1500110847,NL
+1500102656,1500108799,NL
+1500108800,1500109311,DE
+1500109312,1500110847,NL
1500110848,1500119039,UA
1500119040,1500127231,TR
1500127232,1500135423,FI
@@ -39148,8 +40084,8 @@
1500299264,1500315647,PL
1500315648,1500332031,RU
1500332032,1500348415,PT
-1500348416,1500405759,RU
-1500405760,1500408831,UA
+1500348416,1500407807,RU
+1500407808,1500408831,UA
1500408832,1500413951,RU
1500413952,1500430335,DE
1500430336,1500446719,RS
@@ -39204,7 +40140,13 @@
1502975232,1502975247,GB
1502975248,1502975327,IE
1502975328,1502975359,GB
-1502975360,1502978047,IE
+1502975360,1502976279,IE
+1502976280,1502976287,SE
+1502976288,1502976479,IE
+1502976480,1502976487,PL
+1502976488,1502976703,IE
+1502976704,1502976719,BE
+1502976720,1502978047,IE
1502978048,1502979071,US
1502979072,1502979135,IE
1502979136,1502979199,GB
@@ -39233,8 +40175,8 @@
1503133696,1503370138,PT
1503370139,1503370139,GB
1503370140,1503395839,PT
-1503395840,1503477759,FR
-1503477760,1503486207,GP
+1503395840,1503483903,FR
+1503483904,1503486207,GP
1503486208,1503486463,MQ
1503486464,1503486719,GP
1503486720,1503486975,MQ
@@ -39245,7 +40187,8 @@
1503490048,1503490559,GP
1503490560,1503491071,MQ
1503491072,1503491583,GP
-1503491584,1503492095,MQ
+1503491584,1503491839,FR
+1503491840,1503492095,MQ
1503492096,1503493119,GP
1503493120,1503493887,MQ
1503493888,1503494143,GP
@@ -39266,9 +40209,7 @@
1503898336,1503898343,MX
1503898344,1503898351,DE
1503898352,1503898359,CH
-1503898360,1503898791,DE
-1503898792,1503898799,AT
-1503898800,1503898911,DE
+1503898360,1503898911,DE
1503898912,1503898919,LT
1503898920,1503899071,DE
1503899072,1503899079,AT
@@ -39306,9 +40247,7 @@
1504151552,1504153599,IE
1504153600,1504154623,GB
1504154624,1504155647,IE
-1504155648,1504173055,GB
-1504173056,1504174079,IE
-1504174080,1504247807,GB
+1504155648,1504247807,GB
1504247808,1504313343,RU
1504313344,1504378879,FR
1504378880,1504444415,PL
@@ -39326,7 +40265,15 @@
1505255424,1505263615,IT
1505263616,1505271807,DK
1505271808,1505279999,NL
-1505280000,1505288191,IR
+1505280000,1505282047,AE
+1505282048,1505282815,IR
+1505282816,1505283071,AE
+1505283072,1505284095,IR
+1505284096,1505284351,AE
+1505284352,1505284607,IR
+1505284608,1505284863,AE
+1505284864,1505285119,IR
+1505285120,1505288191,AE
1505288192,1505296383,RU
1505296384,1505304575,UA
1505304576,1505312767,FR
@@ -39337,9 +40284,9 @@
1505316608,1505316863,SI
1505316864,1505320959,RU
1505320960,1505329151,AT
-1505329152,1505331855,IE
-1505331856,1505331871,GB
-1505331872,1505332591,IE
+1505329152,1505331199,IE
+1505331200,1505332479,GB
+1505332480,1505332591,IE
1505332592,1505332639,GB
1505332640,1505337343,IE
1505337344,1505345535,FR
@@ -39359,7 +40306,13 @@
1505427456,1505435647,UA
1505435648,1505443839,MD
1505443840,1505460223,GB
-1505460224,1505471487,CZ
+1505460224,1505469439,CZ
+1505469440,1505469695,US
+1505469696,1505470463,CZ
+1505470464,1505470719,AT
+1505470720,1505470783,CZ
+1505470784,1505470847,DE
+1505470848,1505471487,CZ
1505471488,1505475583,US
1505475584,1505478655,CZ
1505478656,1505482751,DE
@@ -39386,6 +40339,14 @@
1505646848,1505647103,PL
1505647104,1505648639,CZ
1505648640,1505656831,LT
+1505656832,1505657855,CZ
+1505657856,1505658879,GB
+1505658880,1505659903,DE
+1505659904,1505660927,NL
+1505660928,1505661951,CH
+1505661952,1505662975,LT
+1505662976,1505663999,ES
+1505664000,1505665023,GB
1505665024,1505666611,IT
1505666612,1505666615,AT
1505666616,1505673215,IT
@@ -39413,7 +40374,8 @@
1505747200,1505747455,RU
1505747456,1505747711,GB
1505747712,1505749503,RU
-1505749504,1505750015,MD
+1505749504,1505749759,US
+1505749760,1505750015,RU
1505750016,1505751039,BG
1505751040,1505755135,RU
1505755136,1506017279,GB
@@ -39464,9 +40426,9 @@
1506451072,1506451135,DK
1506451136,1506451839,GB
1506451840,1506451871,ES
-1506451872,1506452095,GB
-1506452096,1506452127,PT
-1506452128,1506453311,GB
+1506451872,1506451967,GB
+1506451968,1506452479,PT
+1506452480,1506453311,GB
1506453312,1506453319,SE
1506453320,1506455507,GB
1506455508,1506455511,IT
@@ -39474,17 +40436,15 @@
1506455544,1506455547,IT
1506455548,1506456533,GB
1506456534,1506456534,IT
-1506456535,1506456771,GB
-1506456772,1506456775,IE
-1506456776,1506456815,GB
-1506456816,1506456819,IE
-1506456820,1506456959,GB
-1506456960,1506456975,IT
-1506456976,1506458244,GB
-1506458245,1506458245,CH
-1506458246,1506458359,GB
-1506458360,1506458367,CH
-1506458368,1506459763,GB
+1506456535,1506456575,GB
+1506456576,1506456831,IE
+1506456832,1506456959,GB
+1506456960,1506457087,IT
+1506457088,1506457599,GB
+1506457600,1506459177,CH
+1506459178,1506459178,GB
+1506459179,1506459647,CH
+1506459648,1506459763,GB
1506459764,1506459767,FR
1506459768,1506459781,GB
1506459782,1506459782,FR
@@ -39498,7 +40458,9 @@
1506462720,1506462975,IT
1506462976,1506463035,GB
1506463036,1506463039,IT
-1506463040,1506463551,GB
+1506463040,1506463527,GB
+1506463528,1506463535,DE
+1506463536,1506463551,GB
1506463552,1506463615,DE
1506463616,1506463719,GB
1506463720,1506463727,DE
@@ -39529,10 +40491,8 @@
1506672640,1506689023,PL
1506689024,1506705407,CH
1506705408,1506727935,GB
-1506727936,1506728959,FR
-1506728960,1506735989,GB
-1506735990,1506735990,SG
-1506735991,1506740223,GB
+1506727936,1506728959,PT
+1506728960,1506740223,GB
1506740224,1506741247,CH
1506741248,1506742271,TR
1506742272,1506744319,SE
@@ -39557,19 +40517,26 @@
1506789376,1506791423,DE
1506791424,1506793471,GB
1506793472,1506795519,RU
-1506795520,1506799615,CH
+1506795520,1506797055,CH
+1506797056,1506797071,US
+1506797072,1506797087,CH
+1506797088,1506797103,US
+1506797104,1506797119,KR
+1506797120,1506797295,CH
+1506797296,1506797311,US
+1506797312,1506799615,CH
1506799616,1506801663,LV
1506801664,1506803711,DE
1506803712,1506865151,RU
1506865152,1506869247,US
1506869248,1506934783,UA
1506934784,1507000319,GR
-1507000320,1507065855,QA
+1507000320,1507015167,QA
+1507015168,1507015423,IT
+1507015424,1507065855,QA
1507065856,1507131391,SI
1507131392,1507196927,GB
-1507196928,1507243007,PT
-1507243008,1507243519,GB
-1507243520,1507262463,PT
+1507196928,1507262463,PT
1507262464,1507327999,BG
1507328000,1507393535,RS
1507393536,1507459071,CH
@@ -39651,8 +40618,8 @@
1508812520,1508812527,CZ
1508812528,1508815103,GB
1508815104,1508815359,NL
-1508815360,1508815615,ES
-1508815616,1508817151,GB
+1508815360,1508815871,ES
+1508815872,1508817151,GB
1508817152,1508817407,NL
1508817408,1508817663,CZ
1508817664,1508818943,GB
@@ -39753,79 +40720,57 @@
1509948416,1509948671,ES
1509948672,1509949439,NL
1509949440,1510604799,FR
-1510604800,1510622975,RE
-1510622976,1510623743,FR
-1510623744,1510670335,RE
+1510604800,1510657535,RE
+1510657536,1510657791,FR
+1510657792,1510662143,RE
+1510662144,1510662399,FR
+1510662400,1510670335,RE
1510670336,1511981055,FR
-1511981056,1511997439,GP
+1511981056,1511985407,GP
+1511985408,1511985663,FR
+1511985664,1511995647,GP
+1511995648,1511995903,FR
+1511995904,1511997439,GP
1511997440,1511997951,BL
-1511997952,1511998463,FR
-1511998464,1511998975,MF
-1511998976,1511999231,BL
-1511999232,1511999487,FR
-1511999488,1511999743,MF
-1511999744,1511999999,FR
-1512000000,1512001023,BL
-1512001024,1512001279,FR
-1512001280,1512002815,BL
-1512002816,1512005631,FR
-1512005632,1512007167,MF
-1512007168,1512007423,BL
-1512007424,1512010239,FR
-1512010240,1512010751,MF
-1512010752,1512011007,BL
-1512011008,1512012543,MF
-1512012544,1512012799,FR
-1512012800,1512013823,BL
-1512013824,1512030207,GF
+1511997952,1511998207,FR
+1511998208,1511998463,BL
+1511998464,1511999487,MF
+1511999488,1511999743,BL
+1511999744,1511999999,MF
+1512000000,1512003583,BL
+1512003584,1512005631,FR
+1512005632,1512005887,BL
+1512005888,1512006143,MF
+1512006144,1512006655,BL
+1512006656,1512006911,FR
+1512006912,1512007679,BL
+1512007680,1512009727,FR
+1512009728,1512011263,BL
+1512011264,1512011519,MF
+1512011520,1512011775,BL
+1512011776,1512012031,MF
+1512012032,1512013823,BL
+1512013824,1512029439,GF
+1512029440,1512029695,FR
+1512029696,1512030207,GF
1512030208,1512046591,MQ
1512046592,1512308735,FR
-1512308736,1512313855,GP
-1512313856,1512314111,FR
-1512314112,1512323071,GP
-1512323072,1512323327,FR
-1512323328,1512326399,GP
-1512326400,1512327167,FR
-1512327168,1512327935,GP
-1512327936,1512328191,FR
-1512328192,1512328447,GP
-1512328448,1512329215,FR
-1512329216,1512334079,GP
-1512334080,1512334847,FR
-1512334848,1512335103,GP
-1512335104,1512335359,FR
-1512335360,1512335615,GP
-1512335616,1512335871,FR
-1512335872,1512336127,GP
-1512336128,1512336383,FR
-1512336384,1512340735,GP
+1512308736,1512340735,GP
1512340736,1512340991,FR
-1512340992,1512353535,GP
-1512353536,1512353791,FR
-1512353792,1512359167,GP
-1512359168,1512359423,FR
-1512359424,1512359935,GP
-1512359936,1512360191,FR
-1512360192,1512361215,GP
-1512361216,1512361471,FR
-1512361472,1512366335,GP
-1512366336,1512366591,FR
-1512366592,1512368127,GP
-1512368128,1512368383,FR
-1512368384,1512368639,GP
-1512368640,1512368895,FR
-1512368896,1512369663,GP
-1512369664,1512369919,FR
-1512369920,1512370441,GP
+1512340992,1512353279,GP
+1512353280,1512353535,FR
+1512353536,1512370175,GP
+1512370176,1512370431,FR
+1512370432,1512370441,GP
1512370442,1512370442,FR
-1512370443,1512371967,GP
-1512371968,1512372223,FR
-1512372224,1512374271,GP
+1512370443,1512371199,GP
+1512371200,1512371455,FR
+1512371456,1512374271,GP
1512374272,1513892207,FR
1513892208,1513892208,ES
1513892209,1514143743,FR
-1514143744,1514176511,SK
-1514176512,1514405887,FR
+1514143744,1514209279,SK
+1514209280,1514405887,FR
1514405888,1514536959,ES
1514536960,1514602495,FR
1514602496,1514668031,ES
@@ -39834,10 +40779,9 @@
1514930176,1514995711,FR
1514995712,1515061247,ES
1515061248,1515335679,FR
-1515335680,1515335935,GP
-1515335936,1515338239,FR
-1515338240,1515338495,GF
-1515338496,1515467519,FR
+1515335680,1515337727,GP
+1515337728,1515339775,GF
+1515339776,1515467519,FR
1515467520,1515468031,US
1515468032,1515468287,FR
1515468288,1515468543,NL
@@ -39852,9 +40796,7 @@
1515489792,1515490303,NL
1515490304,1515511807,FR
1515511808,1515515903,RO
-1515515904,1515519743,FR
-1515519744,1515519999,ES
-1515520000,1516109823,FR
+1515515904,1516109823,FR
1516109824,1516175359,ES
1516175360,1516240895,RO
1516240896,1516896255,FR
@@ -39868,8 +40810,7 @@
1518446875,1518446875,NO
1518446876,1518452735,NL
1518452736,1518460927,AT
-1518460928,1518469119,LV
-1518469120,1518472191,SE
+1518460928,1518472191,SE
1518472192,1518473215,LT
1518473216,1518479359,SE
1518479360,1518481407,EE
@@ -39910,8 +40851,8 @@
1518731104,1518731135,HR
1518731136,1518731263,SE
1518731264,1518747647,LT
-1518747648,1518764031,SE
-1518764032,1518780415,LT
+1518747648,1518772223,HR
+1518772224,1518780415,LT
1518780416,1518796799,HR
1518796800,1518862335,LT
1518862336,1518927871,SE
@@ -39921,8 +40862,7 @@
1518962688,1518966783,HR
1518966784,1518967807,SE
1518967808,1518977023,HR
-1518977024,1518985215,LT
-1518985216,1518993407,SE
+1518977024,1518993407,SE
1518993408,1519058943,LT
1519058944,1519083519,LV
1519083520,1519091711,SE
@@ -39968,9 +40908,7 @@
1520009216,1520041983,SY
1520041984,1520074751,RU
1520074752,1520107519,BG
-1520107520,1520137855,GB
-1520137856,1520137983,IE
-1520137984,1520140287,GB
+1520107520,1520140287,GB
1520140288,1520173055,RU
1520173056,1520205823,PL
1520205824,1520230399,RU
@@ -39986,9 +40924,9 @@
1522270208,1522401279,RU
1522401280,1522532351,EE
1522532352,1524629503,GB
-1524629504,1524764415,SE
-1524764416,1524764671,GB
-1524764672,1525678079,SE
+1524629504,1525467135,SE
+1525467136,1525467647,DK
+1525467648,1525678079,SE
1525678080,1526726655,GB
1526726656,1531183103,DE
1531183104,1531445247,FR
@@ -39997,9 +40935,7 @@
1531969536,1532100607,IT
1532100608,1532199935,HU
1532199936,1532200959,RS
-1532200960,1532220927,HU
-1532220928,1532221183,SK
-1532221184,1532231679,HU
+1532200960,1532231679,HU
1532231680,1532362751,GB
1532362752,1532493823,BE
1532493824,1532559359,FR
@@ -40023,13 +40959,13 @@
1532661760,1532665855,DE
1532665856,1532674047,PL
1532674048,1532675071,NL
-1532675072,1532676095,UA
+1532675072,1532675583,UA
+1532675584,1532676095,RU
1532676096,1532678143,MD
-1532678144,1532679167,UA
-1532679168,1532680191,RU
+1532678144,1532678655,UA
+1532678656,1532680191,RU
1532680192,1532681215,UZ
-1532681216,1532681471,UA
-1532681472,1532681727,RU
+1532681216,1532681727,RU
1532681728,1532682239,BY
1532682240,1532690431,LV
1532690432,1532755967,FR
@@ -40193,13 +41129,12 @@
1533771776,1533804543,IR
1533804544,1533805567,RU
1533805568,1533807615,NL
-1533807616,1533808639,US
-1533808640,1533814783,RU
+1533807616,1533808639,GB
+1533808640,1533809663,SG
+1533809664,1533810687,AZ
+1533810688,1533814783,RU
1533814784,1533815039,AG
-1533815040,1533815295,GB
-1533815296,1533815551,RU
-1533815552,1533815807,GB
-1533815808,1533817855,RU
+1533815040,1533817855,RU
1533817856,1533818879,GB
1533818880,1533819903,NL
1533819904,1533820927,RU
@@ -40286,7 +41221,7 @@
1534713856,1534713887,PT
1534713888,1534713943,FR
1534713944,1534713947,DE
-1534713948,1534713951,FR
+1534713948,1534713951,PL
1534713952,1534713955,DE
1534713956,1534714015,FR
1534714016,1534714031,DE
@@ -40298,26 +41233,38 @@
1534714144,1534714159,GB
1534714160,1534714415,FR
1534714416,1534714431,ES
-1534714432,1534714639,FR
+1534714432,1534714531,FR
+1534714532,1534714535,PL
+1534714536,1534714639,FR
1534714640,1534714655,IE
1534714656,1534714687,ES
1534714688,1534714751,FR
1534714752,1534714767,DE
-1534714768,1534714871,FR
+1534714768,1534714783,FR
+1534714784,1534714799,PL
+1534714800,1534714871,FR
1534714872,1534714875,ES
1534714876,1534714879,DE
1534714880,1534714939,FR
1534714940,1534714943,DE
-1534714944,1534715207,FR
+1534714944,1534715135,FR
+1534715136,1534715143,PL
+1534715144,1534715207,FR
1534715208,1534715211,GB
1534715212,1534715215,FR
1534715216,1534715231,GB
-1534715232,1534715551,FR
+1534715232,1534715303,FR
+1534715304,1534715307,PL
+1534715308,1534715319,FR
+1534715320,1534715327,PL
+1534715328,1534715551,FR
1534715552,1534715567,PT
1534715568,1534715583,FR
1534715584,1534715599,GB
1534715600,1534715615,FI
-1534715616,1534715871,FR
+1534715616,1534715739,FR
+1534715740,1534715743,PL
+1534715744,1534715871,FR
1534715872,1534715875,ES
1534715876,1534715887,FR
1534715888,1534715903,IT
@@ -40328,7 +41275,9 @@
1534716112,1534716115,DE
1534716116,1534716239,FR
1534716240,1534716255,GB
-1534716256,1534716319,FR
+1534716256,1534716307,FR
+1534716308,1534716311,PL
+1534716312,1534716319,FR
1534716320,1534716351,GB
1534716352,1534716375,FR
1534716376,1534716379,ES
@@ -40350,11 +41299,19 @@
1534717344,1534717359,GB
1534717360,1534717583,FR
1534717584,1534717587,CZ
-1534717588,1534717739,FR
+1534717588,1534717655,FR
+1534717656,1534717659,PL
+1534717660,1534717731,FR
+1534717732,1534717735,PL
+1534717736,1534717739,FR
1534717740,1534717743,GB
-1534717744,1534717963,FR
+1534717744,1534717931,FR
+1534717932,1534717935,PL
+1534717936,1534717963,FR
1534717964,1534717967,PL
-1534717968,1534717995,FR
+1534717968,1534717983,FR
+1534717984,1534717987,PL
+1534717988,1534717995,FR
1534717996,1534717999,GB
1534718000,1534718031,FR
1534718032,1534718047,ES
@@ -40373,20 +41330,27 @@
1534718420,1534718423,GB
1534718424,1534718575,FR
1534718576,1534718591,DE
-1534718592,1534718719,FR
+1534718592,1534718623,FR
+1534718624,1534718631,PL
+1534718632,1534718719,FR
1534718720,1534718735,GB
1534718736,1534718763,FR
1534718764,1534718767,ES
1534718768,1534718799,FR
1534718800,1534718807,ES
-1534718808,1534719071,FR
+1534718808,1534718815,FR
+1534718816,1534718819,PL
+1534718820,1534719071,FR
1534719072,1534719075,FI
-1534719076,1534719679,FR
+1534719076,1534719555,FR
+1534719556,1534719559,PL
+1534719560,1534719679,FR
1534719680,1534719695,GB
1534719696,1534719699,FR
1534719700,1534719703,DE
1534719704,1534719711,GB
-1534719712,1534719739,FR
+1534719712,1534719735,FR
+1534719736,1534719739,PL
1534719740,1534719743,ES
1534719744,1534719747,FR
1534719748,1534719751,ES
@@ -40394,7 +41358,9 @@
1534719784,1534719787,ES
1534719788,1534720011,FR
1534720012,1534720015,IE
-1534720016,1534720079,FR
+1534720016,1534720023,FR
+1534720024,1534720027,PL
+1534720028,1534720079,FR
1534720080,1534720095,ES
1534720096,1534720175,FR
1534720176,1534720179,NL
@@ -40405,13 +41371,25 @@
1534720388,1534720391,FI
1534720392,1534720451,FR
1534720452,1534720455,DE
-1534720456,1534720767,FR
+1534720456,1534720495,FR
+1534720496,1534720511,PL
+1534720512,1534720767,FR
1534720768,1534720783,ES
1534720784,1534720831,FR
1534720832,1534720863,GB
-1534720864,1534721023,FR
+1534720864,1534720983,FR
+1534720984,1534720991,PL
+1534720992,1534721023,FR
1534721024,1534721031,DE
-1534721032,1534721807,FR
+1534721032,1534721103,FR
+1534721104,1534721107,PL
+1534721108,1534721279,FR
+1534721280,1534721287,PL
+1534721288,1534721495,FR
+1534721496,1534721503,PL
+1534721504,1534721515,FR
+1534721516,1534721519,PL
+1534721520,1534721807,FR
1534721808,1534721823,GB
1534721824,1534721831,FR
1534721832,1534721835,DE
@@ -40500,7 +41478,9 @@
1535515936,1535515967,LT
1535515968,1535521407,FR
1535521408,1535521535,NL
-1535521536,1535537007,FR
+1535521536,1535535991,FR
+1535535992,1535535995,PL
+1535535996,1535537007,FR
1535537008,1535537023,DE
1535537024,1535537343,FR
1535537344,1535537407,DE
@@ -40562,7 +41542,8 @@
1535549632,1535549695,PL
1535549696,1535549891,FR
1535549892,1535549895,ES
-1535549896,1535550015,FR
+1535549896,1535549903,PL
+1535549904,1535550015,FR
1535550016,1535550079,IT
1535550080,1535550519,FR
1535550520,1535550523,DE
@@ -40612,7 +41593,9 @@
1535554688,1535554815,IT
1535554816,1535554847,FR
1535554848,1535554863,PT
-1535554864,1535555103,FR
+1535554864,1535554871,FR
+1535554872,1535554875,ES
+1535554876,1535555103,FR
1535555104,1535555135,LT
1535555136,1535555679,FR
1535555680,1535555711,PL
@@ -40676,7 +41659,9 @@
1535562880,1535563007,ES
1535563008,1535563371,FR
1535563372,1535563375,FI
-1535563376,1535563407,FR
+1535563376,1535563395,FR
+1535563396,1535563399,HR
+1535563400,1535563407,FR
1535563408,1535563411,PL
1535563412,1535563455,FR
1535563456,1535563519,IE
@@ -40773,7 +41758,8 @@
1535836160,1535868927,CZ
1535868928,1535901695,BG
1535901696,1535934463,GR
-1535934464,1535967231,KW
+1535934464,1535966975,KW
+1535966976,1535967231,IT
1535967232,1535999999,AT
1536000000,1536032767,NL
1536032768,1536036863,LV
@@ -40914,6 +41900,22 @@
1539072000,1539080191,PL
1539080192,1539088383,UZ
1539088384,1539096575,RU
+1539096576,1539097599,TR
+1539097600,1539098623,RU
+1539098624,1539098879,CR
+1539098880,1539099135,GB
+1539099136,1539099647,US
+1539099648,1539100671,TR
+1539100672,1539101695,LB
+1539101696,1539102719,RU
+1539102720,1539103743,TR
+1539103744,1539104767,RU
+1539104768,1539105791,RO
+1539105792,1539106815,RU
+1539106816,1539107839,NO
+1539107840,1539110911,RU
+1539110912,1539111935,FR
+1539111936,1539112959,BG
1539112960,1539115007,PL
1539115008,1539117055,AE
1539117056,1539123199,PL
@@ -40936,7 +41938,7 @@
1539151872,1539153919,UA
1539153920,1539155967,RU
1539155968,1539160063,NO
-1539160064,1539161087,AT
+1539160064,1539161087,US
1539161088,1539162111,BH
1539162112,1539164159,DE
1539164160,1539166207,DK
@@ -40990,7 +41992,7 @@
1539301376,1539309567,RU
1539309568,1539310591,PL
1539310592,1539311615,IQ
-1539311616,1539312639,GB
+1539311616,1539312639,RU
1539312640,1539313663,DE
1539313664,1539314687,GB
1539314688,1539315711,RU
@@ -41061,7 +42063,9 @@
1539385344,1539385855,PL
1539385856,1539386367,BE
1539386368,1539386623,IT
-1539386624,1539386751,GB
+1539386624,1539386631,GB
+1539386632,1539386639,IT
+1539386640,1539386751,GB
1539386752,1539386815,IT
1539386816,1539386879,GB
1539386880,1539387391,IT
@@ -41292,7 +42296,7 @@
1539547136,1539547647,NL
1539547648,1539548159,IL
1539548160,1539548671,FR
-1539549184,1539549695,GB
+1539548672,1539549695,GB
1539549696,1539550207,RU
1539550208,1539550719,UA
1539551232,1539551743,RS
@@ -41324,8 +42328,7 @@
1539567616,1539568127,DE
1539568128,1539568639,NL
1539568640,1539569151,UA
-1539569152,1539569407,EE
-1539569408,1539569663,FI
+1539569152,1539569663,EE
1539569664,1539570175,UA
1539570176,1539570687,PL
1539570688,1539571199,RU
@@ -41367,14 +42370,15 @@
1539614720,1539615743,NL
1539615744,1539616767,DK
1539616768,1539618815,UA
-1539618816,1539620863,GB
+1539618816,1539619839,GB
+1539619840,1539620863,RU
1539620864,1539622911,UA
1539622912,1539623935,RO
1539623936,1539624959,DE
1539624960,1539625983,ES
1539625984,1539627007,PL
1539627008,1539628031,LB
-1539628032,1539629055,DE
+1539628032,1539629055,US
1539629056,1539630079,BG
1539630080,1539631103,UA
1539631104,1539633151,RU
@@ -41414,7 +42418,8 @@
1539666944,1539667967,CZ
1539667968,1539668991,ES
1539668992,1539670015,RU
-1539670016,1539672063,UA
+1539670016,1539671039,UA
+1539671040,1539672063,RU
1539672064,1539673087,FR
1539673088,1539674111,GB
1539674112,1539675135,UA
@@ -41808,7 +42813,7 @@
1539816704,1539816959,RU
1539816960,1539817215,DK
1539817216,1539817471,TR
-1539817472,1539817727,DE
+1539817472,1539817983,DE
1539817984,1539818239,UA
1539818240,1539818495,NO
1539818496,1539819007,RU
@@ -41903,7 +42908,7 @@
1539875840,1539876863,RU
1539876864,1539877887,ES
1539877888,1539878911,PL
-1539878912,1539879935,GB
+1539878912,1539879935,RU
1539879936,1539880959,UA
1539880960,1539881983,PL
1539881984,1539883007,NL
@@ -41918,7 +42923,8 @@
1539891200,1539893247,RU
1539893248,1539894271,UA
1539894272,1539895295,PL
-1539895296,1539896319,GB
+1539895296,1539895807,GB
+1539895808,1539896319,JP
1539896320,1539897343,ES
1539897344,1539898367,UA
1539898368,1539899391,LT
@@ -41949,7 +42955,7 @@
1539922944,1539923967,SE
1539923968,1539924991,GE
1539924992,1539926015,DE
-1539926016,1539927039,GB
+1539926016,1539927039,RU
1539927040,1539928063,UA
1539928064,1539930111,RU
1539930112,1539931135,PL
@@ -41970,7 +42976,8 @@
1539946496,1539947519,RU
1539947520,1539948543,UA
1539948544,1539949567,RO
-1539949568,1539950847,GB
+1539949568,1539950591,RU
+1539950592,1539950847,GB
1539950848,1539951103,RU
1539951104,1539951615,UA
1539951616,1539953663,RU
@@ -41994,7 +43001,7 @@
1539976192,1539977215,RU
1539977216,1539978239,DE
1539978240,1539979263,CZ
-1539979264,1539980287,UA
+1539979264,1539980287,RU
1539980288,1539981311,VG
1539981312,1539982335,SI
1539982336,1539983359,RU
@@ -42022,6 +43029,7 @@
1540007936,1540008959,IL
1540008960,1540011007,PL
1540011008,1540013055,RU
+1540013056,1540014079,ES
1540014080,1540015103,PL
1540015104,1540016127,RU
1540016128,1540016135,DE
@@ -42085,7 +43093,7 @@
1540075520,1540077567,RU
1540077568,1540078591,FR
1540078592,1540081663,RU
-1540081664,1540082687,DE
+1540081664,1540083711,DE
1540083712,1540084735,RU
1540084736,1540085759,NL
1540085760,1540087807,PL
@@ -42151,8 +43159,7 @@
1540153344,1540154367,KR
1540154368,1540156415,RU
1540156416,1540157439,UZ
-1540157440,1540158463,RU
-1540158464,1540159487,GB
+1540157440,1540159487,RU
1540159488,1540160511,IT
1540160512,1540162559,RU
1540162560,1540163583,UA
@@ -42956,7 +43963,7 @@
1540624128,1540624383,RS
1540624384,1540624639,IR
1540624640,1540624895,BG
-1540624896,1540625151,GB
+1540624896,1540625407,GB
1540625664,1540625919,FR
1540625920,1540626175,UA
1540626176,1540626431,RO
@@ -43358,9 +44365,7 @@
1540750336,1540750591,DE
1540750592,1540751103,TR
1540751104,1540752383,PL
-1540752384,1540752767,GB
-1540752768,1540752895,FR
-1540752896,1540753407,GB
+1540752384,1540753407,GB
1540753408,1540754431,DE
1540754432,1540755455,RO
1540755456,1540756479,UA
@@ -43374,7 +44379,7 @@
1540764672,1540765695,PL
1540765696,1540766719,RU
1540766720,1540767743,IT
-1540767744,1540768767,DE
+1540767744,1540768767,US
1540768768,1540769791,RU
1540769792,1540770815,IT
1540770816,1540771839,RU
@@ -43408,7 +44413,7 @@
1540803584,1540804607,RU
1540804608,1540805631,UA
1540805632,1540806655,RU
-1540806656,1540807679,BG
+1540806656,1540807679,NL
1540807680,1540809727,RU
1540809728,1540810751,GB
1540810752,1540811775,UA
@@ -43684,8 +44689,7 @@
1540944640,1540944895,DE
1540944896,1540945151,UA
1540945152,1540945407,DE
-1540945408,1540945663,GB
-1540945664,1540945919,AT
+1540945408,1540945919,GB
1540945920,1540946175,DE
1540946176,1540946431,AT
1540946432,1540946943,UA
@@ -43739,7 +44743,7 @@
1540973568,1540974079,UA
1540974080,1540974591,RU
1540974592,1540975103,PL
-1540975104,1540975615,GB
+1540975104,1540975615,US
1540975616,1540976639,RU
1540976640,1540977151,UA
1540977152,1540977663,PL
@@ -43862,17 +44866,15 @@
1541014528,1541015551,AM
1541015552,1541016575,RU
1541016576,1541018623,UA
-1541018624,1541019647,GB
-1541019648,1541020671,RU
+1541018624,1541020671,RU
1541020672,1541022719,UA
-1541022720,1541023417,GB
+1541022720,1541023417,RU
1541023418,1541023418,UA
-1541023419,1541023743,GB
-1541023744,1541024767,RU
+1541023419,1541024767,RU
1541024768,1541025791,UA
1541025792,1541026815,RU
1541026816,1541027839,LV
-1541027840,1541028863,GB
+1541027840,1541028863,RU
1541028864,1541029887,PL
1541029888,1541030911,DE
1541030912,1541031935,PL
@@ -44107,7 +45109,7 @@
1541182976,1541183231,SE
1541183232,1541183487,UA
1541183488,1541183743,RU
-1541183744,1541183999,DE
+1541183744,1541183999,NL
1541184000,1541184255,BE
1541184256,1541184511,RU
1541184512,1541184767,SI
@@ -44125,7 +45127,7 @@
1541187584,1541187839,IT
1541187840,1541188351,RU
1541188608,1541188863,HU
-1541188864,1541189119,RU
+1541188864,1541189119,EE
1541189120,1541189375,UA
1541189376,1541189631,GB
1541189888,1541190143,PL
@@ -44488,8 +45490,7 @@
1541374208,1541374463,DE
1541374464,1541374719,PL
1541374720,1541374975,NL
-1541374976,1541375231,GR
-1541375232,1541375487,LT
+1541374976,1541375487,GR
1541375488,1541375999,PL
1541376000,1541376255,UA
1541376256,1541376767,RU
@@ -44886,7 +45887,7 @@
1541615616,1541615871,CH
1541615872,1541616127,SE
1541616128,1541617407,RU
-1541617408,1541617663,AT
+1541617408,1541617663,DE
1541617664,1541619199,PL
1541619200,1541619455,GB
1541619456,1541620735,PL
@@ -44897,8 +45898,7 @@
1541622272,1541622527,RU
1541622528,1541622783,NL
1541622784,1541623295,PL
-1541623296,1541623551,GB
-1541623552,1541623807,RU
+1541623296,1541623807,GB
1541623808,1541624831,PL
1541624832,1541625855,IR
1541625856,1541626367,PL
@@ -45379,7 +46379,7 @@
1541903360,1541904383,UA
1541904384,1541904639,PL
1541904640,1541904895,SE
-1541904896,1541905407,GB
+1541904896,1541905407,DE
1541905664,1541905919,PL
1541905920,1541906431,RS
1541906432,1541906687,UA
@@ -45680,7 +46680,7 @@
1542099456,1542099711,PL
1542099712,1542099967,RU
1542099968,1542100223,NL
-1542100224,1542100479,GB
+1542100224,1542100479,DK
1542100480,1542100991,RO
1542100992,1542102015,RU
1542102016,1542103039,RO
@@ -46263,7 +47263,7 @@
1542436864,1542437119,RU
1542437120,1542437375,PL
1542437376,1542437631,NL
-1542437632,1542437887,UA
+1542437632,1542437887,CZ
1542437888,1542438399,SE
1542438400,1542438655,SC
1542438656,1542438911,RU
@@ -46472,8 +47472,7 @@
1542602752,1542619135,MD
1542619136,1542619391,GB
1542619392,1542627327,ES
-1542627328,1542627583,NL
-1542627584,1542627839,RU
+1542627328,1542627839,RU
1542627840,1542628095,FR
1542628096,1542630399,RU
1542630400,1542630655,GB
@@ -46509,32 +47508,27 @@
1542670848,1542671359,NL
1542671360,1542671871,FR
1542671872,1542672383,AT
-1542672384,1542673407,NL
-1542673408,1542674687,RU
+1542672384,1542674431,NL
+1542674432,1542674687,RU
1542674688,1542674943,US
1542674944,1542675455,RU
-1542675456,1542675711,US
-1542675712,1542675967,RU
-1542675968,1542676223,US
-1542676224,1542681087,RU
+1542675456,1542676479,US
+1542676480,1542681087,RU
1542681088,1542681343,GB
1542681600,1542683135,RU
1542683136,1542683391,SK
1542683392,1542683647,RS
1542683648,1542684159,RU
1542684160,1542684671,IR
-1542684672,1542684927,LT
+1542684672,1542684927,ES
1542684928,1542685183,RU
-1542685184,1542685695,LT
+1542685184,1542685695,ES
1542685696,1542685951,RU
-1542685952,1542686719,LT
-1542686720,1542687743,US
-1542687744,1542688767,LT
+1542685952,1542688767,ES
1542688768,1542689791,FR
-1542689792,1542690815,LT
-1542690816,1542691327,ES
+1542689792,1542691327,ES
1542691328,1542691839,PT
-1542691840,1542692863,LT
+1542691840,1542692863,ES
1542692864,1542696959,IR
1542696960,1542697983,ES
1542697984,1542699007,UA
@@ -46612,6 +47606,14 @@
1542839296,1542839551,DE
1542839808,1542840063,CY
1542840064,1542840319,UA
+1542840320,1542841343,RU
+1542841344,1542842367,IR
+1542842368,1542843391,RO
+1542843392,1542844415,RU
+1542844416,1542845439,NL
+1542845440,1542846463,IE
+1542846464,1542847487,LB
+1542847488,1542848511,RO
1542848512,1542849535,RU
1542849536,1542850559,UA
1542850560,1542851583,GB
@@ -46639,8 +47641,9 @@
1542904832,1542914047,UA
1542914048,1542923263,RU
1542923264,1542923775,BG
-1542923776,1542929407,UA
-1542929408,1542930431,KG
+1542923776,1542927359,UA
+1542927360,1542928383,SA
+1542928384,1542930431,KG
1542930432,1542930943,CZ
1542930944,1542931455,IR
1542931456,1542932479,RU
@@ -46709,23 +47712,30 @@
1546016000,1546016255,DE
1546016256,1546017969,RU
1546017970,1546017970,CZ
-1546017971,1546018303,RU
-1546018304,1546018815,FR
+1546017971,1546018047,RU
+1546018048,1546018303,UA
+1546018304,1546018559,FR
+1546018560,1546018815,RU
1546018816,1546027007,UA
1546027008,1546028031,RU
1546028032,1546028543,US
1546028544,1546029055,KR
1546029056,1546030079,RU
1546030080,1546030335,NL
-1546030336,1546032127,RU
+1546030336,1546031103,RU
+1546031104,1546032127,LU
1546032128,1546032639,US
1546032640,1546033151,BR
-1546033152,1546035199,RU
+1546033152,1546033663,RU
+1546033664,1546034175,NL
+1546034176,1546035199,LU
1546035200,1546035711,KR
1546035712,1546036223,LU
1546036224,1546037247,KR
1546037248,1546038271,US
-1546038272,1546039295,LU
+1546038272,1546038527,LU
+1546038528,1546038783,US
+1546038784,1546039295,IT
1546039296,1546039807,US
1546039808,1546040063,JP
1546040064,1546040319,US
@@ -46752,20 +47762,21 @@
1546104832,1546108927,IE
1546108928,1546113023,IM
1546113024,1546121215,RU
-1546121216,1546121727,ES
+1546121216,1546121727,FR
1546121728,1546121983,IT
-1546121984,1546122463,ES
+1546121984,1546121987,ES
+1546121988,1546122463,FR
1546122464,1546122479,DZ
-1546122480,1546122633,ES
+1546122480,1546122633,FR
1546122634,1546122641,GB
1546122642,1546122642,DE
-1546122643,1546122649,ES
+1546122643,1546122649,FR
1546122650,1546122650,PT
-1546122651,1546122838,ES
-1546122839,1546122839,FR
-1546122840,1546124191,ES
+1546122651,1546122696,FR
+1546122697,1546122704,ES
+1546122705,1546124191,FR
1546124192,1546124223,DZ
-1546124224,1546125311,ES
+1546124224,1546125311,FR
1546125312,1546256383,GB
1546256384,1546264575,RU
1546264576,1546266623,TR
@@ -46782,15 +47793,17 @@
1546283464,1546283471,FR
1546283472,1546283521,DE
1546283522,1546283523,FR
-1546283524,1546283623,DE
+1546283524,1546283531,DE
+1546283532,1546283533,FR
+1546283534,1546283623,DE
1546283624,1546283631,FR
1546283632,1546283693,DE
1546283694,1546283695,FR
-1546283696,1546284287,DE
+1546283696,1546284047,DE
+1546284048,1546284055,FR
+1546284056,1546284287,DE
1546284288,1546284291,FR
-1546284292,1546284329,DE
-1546284330,1546284331,FR
-1546284332,1546285055,DE
+1546284292,1546285055,DE
1546285056,1546287103,PL
1546287104,1546289151,GB
1546289152,1546291199,RU
@@ -46861,8 +47874,10 @@
1546733568,1546735615,GP
1546735616,1546737663,MQ
1546737664,1546741759,GP
-1546741760,1546743807,GF
-1546743808,1546747903,MQ
+1546741760,1546743551,FR
+1546743552,1546743807,GF
+1546743808,1546744831,FR
+1546744832,1546747903,MQ
1546747904,1546764287,RU
1546764288,1546780671,KZ
1546780672,1546797055,IR
@@ -46872,7 +47887,9 @@
1546860544,1546862591,MD
1546862592,1546878975,GE
1546878976,1546895359,DE
-1546895360,1546911743,IE
+1546895360,1546895487,IE
+1546895488,1546895615,GB
+1546895616,1546911743,IE
1546911744,1546928127,SK
1546928128,1546944511,GB
1546944512,1546960895,UA
@@ -46882,9 +47899,7 @@
1547010048,1547026431,SI
1547026432,1547034623,ES
1547034624,1547036671,RU
-1547036672,1547036927,SE
-1547036928,1547037183,NO
-1547037184,1547038719,SE
+1547036672,1547038719,SE
1547038720,1547040767,GB
1547040768,1547042815,NL
1547042816,1547059199,ES
@@ -47011,7 +48026,9 @@
1548182016,1548182527,HK
1548182528,1548222463,NL
1548222464,1548746751,DE
-1548746752,1549271039,RO
+1548746752,1549267876,RO
+1549267877,1549267877,IT
+1549267878,1549271039,RO
1549271040,1549795327,FR
1549795328,1550057471,AE
1550057472,1550188543,RU
@@ -47064,6 +48081,7 @@
1551516672,1551517695,IT
1551517696,1551518719,ES
1551528960,1551529983,FR
+1551529984,1551532031,IT
1551544320,1551547391,DE
1551548416,1551551487,DE
1551556608,1551558655,FR
@@ -47072,7 +48090,6 @@
1551564800,1551572991,FR
1551577088,1551580159,NL
1551580350,1551580350,US
-1551581184,1551589375,GB
1551604480,1551604735,SE
1551630336,1551892479,RU
1551892480,1554514250,FR
@@ -47166,7 +48183,9 @@
1558115328,1558115455,NL
1558115456,1558118399,FR
1558118400,1558119423,DE
-1558119424,1558120959,RU
+1558119424,1558120191,RU
+1558120192,1558120447,LU
+1558120448,1558120959,RU
1558120960,1558121983,BR
1558121984,1558122495,LU
1558122496,1558123007,SG
@@ -47187,28 +48206,29 @@
1558134016,1558134271,KR
1558134272,1558134783,JP
1558134784,1558135039,RU
-1558135040,1558135295,CN
+1558135040,1558135295,LU
1558135296,1558135551,US
1558135552,1558135552,RU
-1558135553,1558135807,CN
+1558135553,1558135807,LU
1558135808,1558136319,US
-1558136320,1558136575,CN
+1558136320,1558136575,LU
1558136576,1558136831,DE
1558136832,1558137087,RU
1558137088,1558137343,KR
1558137344,1558137855,CZ
-1558137856,1558138879,CN
+1558137856,1558138879,LU
1558138880,1558139135,RU
1558139136,1558139391,NL
-1558139392,1558139647,US
-1558139648,1558140159,LU
+1558139392,1558139903,US
+1558139904,1558140159,LU
1558140160,1558140671,SG
1558140672,1558141183,LU
1558141184,1558141184,CY
1558141185,1558141439,LU
1558141440,1558141695,CY
1558141696,1558141951,RU
-1558141952,1558142463,PL
+1558141952,1558142207,PL
+1558142208,1558142463,IT
1558142464,1558142719,US
1558142720,1558142975,SG
1558142976,1558143231,US
@@ -47254,7 +48274,7 @@
1559236608,1559240703,IL
1559240704,1559248895,BA
1559248896,1559257087,LV
-1559257088,1559265279,UA
+1559257088,1559265279,CH
1559265280,1559269375,RU
1559269376,1559270399,NL
1559270400,1559271423,US
@@ -47284,7 +48304,14 @@
1559379456,1559379967,US
1559379968,1559388159,RU
1559388160,1559396351,UA
-1559396352,1559404543,GB
+1559396352,1559405567,GB
+1559405568,1559406591,RU
+1559406592,1559407615,LB
+1559407616,1559408639,IT
+1559408640,1559409663,BG
+1559409664,1559410687,PL
+1559410688,1559411711,GB
+1559411712,1559412735,US
1559412736,1559420927,IR
1559420928,1559429119,HR
1559429120,1559437311,FR
@@ -47312,6 +48339,14 @@
1559617536,1559625727,GB
1559625728,1559633919,DK
1559633920,1559642111,IT
+1559642112,1559643135,ES
+1559643136,1559644159,DE
+1559644160,1559645183,GB
+1559645184,1559646207,RU
+1559646208,1559647231,ES
+1559647232,1559648255,DE
+1559648256,1559649279,RU
+1559649280,1559650303,MD
1559650304,1559658495,IT
1559658496,1559662591,RU
1559662592,1559663615,IR
@@ -47321,7 +48356,20 @@
1559683072,1559691263,GB
1559691264,1559756799,BG
1559756800,1559789567,AT
-1559789568,1559822335,RU
+1559789568,1559824383,RU
+1559824384,1559825407,ES
+1559825408,1559826431,RU
+1559826432,1559827455,CY
+1559827456,1559828479,AT
+1559828480,1559829503,CY
+1559829504,1559830527,CZ
+1559830528,1559831551,JP
+1559831552,1559832575,NL
+1559832576,1559833599,FR
+1559833600,1559835647,DE
+1559835648,1559836671,RS
+1559836672,1559837695,IR
+1559837696,1559838719,TR
1559838720,1559855103,UA
1559855104,1559887871,HU
1559887872,1559920639,PT
@@ -47339,7 +48387,8 @@
1559941888,1559943167,DE
1559943168,1559944191,LU
1559944192,1559945215,FR
-1559945216,1559946751,GB
+1559945216,1559945727,LU
+1559945728,1559946751,GB
1559946752,1559947519,DE
1559947520,1559948287,LU
1559948288,1559948288,GB
@@ -47355,8 +48404,8 @@
1560084480,1560117247,JO
1560117248,1560125439,CZ
1560125440,1560133631,RU
-1560133632,1560136959,IR
-1560136960,1560138138,GB
+1560133632,1560137471,IR
+1560137472,1560138138,GB
1560138139,1560138139,RU
1560138140,1560138239,GB
1560138240,1560140799,RU
@@ -47375,13 +48424,18 @@
1565523968,1565655039,RU
1565655040,1565786111,AT
1565786112,1565917183,BY
-1565917184,1565992464,RS
+1565917184,1565964287,RS
+1565964288,1565965311,XK
+1565965312,1565992464,RS
1565992465,1565992465,AL
-1565992466,1566048255,RS
+1565992466,1566031871,RS
+1566031872,1566032895,XK
+1566032896,1566048255,RS
1566048256,1566052351,RU
1566052352,1566053375,DE
1566053376,1566054399,ES
-1566054400,1566056447,CZ
+1566054400,1566055423,RU
+1566055424,1566056447,CZ
1566056448,1566060543,IT
1566060544,1566064639,UA
1566064640,1566067199,IR
@@ -47418,7 +48472,7 @@
1566191616,1566195711,FI
1566195712,1566196735,NL
1566196736,1566197759,CH
-1566197760,1566198783,DE
+1566197760,1566198783,TW
1566198784,1566199807,ES
1566199808,1566207999,RU
1566208000,1566212095,DK
@@ -47540,7 +48594,7 @@
1566445568,1566447615,PL
1566447616,1566451711,IT
1566451712,1566451967,IL
-1566451968,1566452032,NL
+1566451968,1566452032,IE
1566452033,1566452033,IT
1566452034,1566452034,FR
1566452035,1566452035,DE
@@ -47548,7 +48602,8 @@
1566452037,1566452037,ES
1566452038,1566452038,IL
1566452039,1566452039,AT
-1566452040,1566452043,NL
+1566452040,1566452042,IE
+1566452043,1566452043,NL
1566452044,1566452045,GB
1566452046,1566452046,SE
1566452047,1566452047,CH
@@ -47558,7 +48613,9 @@
1566452052,1566452052,CH
1566452053,1566452053,GB
1566452054,1566452057,UA
-1566452058,1566452223,NL
+1566452058,1566452071,IE
+1566452072,1566452075,NL
+1566452076,1566452223,IE
1566452224,1566453759,IL
1566453760,1566455807,IQ
1566455808,1566457855,PT
@@ -47629,11 +48686,7 @@
1567293440,1567358975,IE
1567358976,1567424511,PT
1567424512,1567490047,CY
-1567490048,1567498239,IR
-1567498240,1567506431,GB
-1567506432,1567531007,IR
-1567531008,1567532031,GB
-1567532032,1567535103,IR
+1567490048,1567535103,IR
1567535104,1567539199,GB
1567539200,1567555583,IR
1567555584,1567621119,AT
@@ -47664,7 +48717,7 @@
1567711488,1567711743,PL
1567711744,1567712511,RO
1567712512,1567712767,PL
-1567712768,1567713023,GB
+1567712768,1567713023,ES
1567713024,1567713279,RO
1567713280,1567713535,AT
1567713536,1567714815,RO
@@ -47801,7 +48854,9 @@
1567883264,1567948799,MD
1567948800,1567961087,IR
1567961088,1567965183,MD
-1567965184,1567966207,RO
+1567965184,1567965439,RO
+1567965440,1567965695,ES
+1567965696,1567966207,RO
1567966208,1567969279,MD
1567969280,1567973375,ES
1567973376,1567981567,IR
@@ -47859,7 +48914,8 @@
1568120832,1568122879,MD
1568122880,1568125439,RO
1568125440,1568125951,US
-1568125952,1568129535,RO
+1568125952,1568126463,DE
+1568126464,1568129535,RO
1568129536,1568129791,IT
1568129792,1568130047,RO
1568130048,1568133119,MD
@@ -47867,15 +48923,22 @@
1568137216,1568138239,RO
1568138240,1568141311,MD
1568141312,1568145407,DE
-1568145408,1568178175,RO
+1568145408,1568169983,RO
+1568169984,1568178175,US
1568178176,1568210943,RU
1568210944,1568243711,GB
1568243712,1568276479,GP
1568276480,1568309247,DE
1568309248,1568342015,RO
-1568342016,1568368895,BG
-1568368896,1568369151,DE
-1568369152,1568374783,BG
+1568342016,1568369043,BG
+1568369044,1568369044,DE
+1568369045,1568369049,BG
+1568369050,1568369050,DE
+1568369051,1568369062,BG
+1568369063,1568369063,DE
+1568369064,1568369076,BG
+1568369077,1568369077,DE
+1568369078,1568374783,BG
1568374784,1568440319,RU
1568440320,1568473087,NO
1568473088,1568505855,BY
@@ -47885,15 +48948,7 @@
1568571392,1568604159,LB
1568604160,1568636927,UA
1568636928,1569193983,DE
-1569193984,1569284991,HR
-1569284992,1569285119,DE
-1569285120,1569403135,HR
-1569403136,1569403391,DE
-1569403392,1569484799,HR
-1569484800,1569484927,DK
-1569484928,1569620607,HR
-1569620608,1569620735,GB
-1569620736,1569718271,HR
+1569193984,1569718271,HR
1569718272,1570242559,IT
1570242560,1570275327,GB
1570275328,1570308095,BG
@@ -48019,11 +49074,12 @@
1571456000,1571456511,UA
1571456512,1571456767,CZ
1571456768,1571457023,UA
-1571457024,1571457535,BY
+1571457024,1571457535,CZ
1571457536,1571458185,RU
1571458186,1571458186,UA
1571458187,1571458559,RU
-1571458560,1571459071,BY
+1571458560,1571458815,CZ
+1571458816,1571459071,BY
1571459072,1571463167,UA
1571463168,1571464191,UZ
1571464192,1571465215,BY
@@ -48124,7 +49180,7 @@
1571549184,1571550207,UA
1571550208,1571550463,RU
1571550464,1571550719,UA
-1571550720,1571551231,RU
+1571550720,1571551231,CZ
1571551232,1571553279,UA
1571553280,1571684351,IL
1571684352,1571686399,ES
@@ -48195,6 +49251,24 @@
1571848192,1571864575,ES
1571864576,1571880959,PL
1571880960,1571897343,RU
+1571897344,1571898367,DE
+1571898368,1571899391,FR
+1571899392,1571899647,US
+1571899648,1571899903,DE
+1571899904,1571900159,GB
+1571900160,1571901439,FR
+1571901440,1571902463,HK
+1571902464,1571903487,FR
+1571903488,1571904511,PL
+1571904512,1571905535,RU
+1571905536,1571906559,DE
+1571906560,1571907583,TR
+1571907584,1571908607,DE
+1571908608,1571909631,RU
+1571909632,1571910655,ES
+1571910656,1571911679,RU
+1571911680,1571912703,GB
+1571912704,1571913727,DE
1571913728,1571930111,GE
1571930112,1571946495,LV
1571946496,1571962879,SA
@@ -48285,17 +49359,15 @@
1572442112,1572446207,RU
1572446208,1572447231,NL
1572447232,1572448255,RU
-1572448256,1572449279,DE
+1572448256,1572449279,US
1572449280,1572458495,RU
1572458496,1572462591,UA
1572462592,1572466687,LB
1572466688,1572470783,EE
1572470784,1572474879,DE
-1572474880,1572475391,ZA
-1572475392,1572483071,GB
+1572474880,1572483071,GB
1572483072,1572487167,RU
-1572487168,1572491007,RS
-1572491008,1572491263,LU
+1572487168,1572491263,RS
1572491264,1572495359,IT
1572495360,1572499455,RU
1572499456,1572503551,TR
@@ -48382,7 +49454,7 @@
1572659200,1572661247,IT
1572661248,1572663295,NO
1572663296,1572665343,DE
-1572665344,1572667391,JP
+1572665344,1572667391,NL
1572667392,1572669439,GB
1572669440,1572673535,RU
1572673536,1572675583,AT
@@ -48399,8 +49471,8 @@
1572691968,1572694015,SA
1572694016,1572696063,GB
1572696064,1572698111,HU
-1572698112,1572699135,ES
-1572699136,1572700159,RO
+1572698112,1572699647,ES
+1572699648,1572700159,RO
1572700160,1572702207,NL
1572702208,1572704255,IT
1572704256,1572706303,RU
@@ -48512,7 +49584,9 @@
1578588160,1578590207,PL
1578590208,1578590283,FR
1578590284,1578590287,GB
-1578590288,1578590639,FR
+1578590288,1578590511,FR
+1578590512,1578590527,PL
+1578590528,1578590639,FR
1578590640,1578590647,CZ
1578590648,1578590787,FR
1578590788,1578590791,ES
@@ -48533,14 +49607,18 @@
1578591248,1578591263,GB
1578591264,1578591407,FR
1578591408,1578591411,ES
-1578591412,1578591575,FR
+1578591412,1578591463,FR
+1578591464,1578591479,PL
+1578591480,1578591575,FR
1578591576,1578591579,DE
1578591580,1578591583,ES
1578591584,1578591695,FR
1578591696,1578591699,ES
1578591700,1578591791,FR
1578591792,1578591795,ES
-1578591796,1578591935,FR
+1578591796,1578591887,FR
+1578591888,1578591891,PL
+1578591892,1578591935,FR
1578591936,1578591939,DE
1578591940,1578591999,FR
1578592000,1578592031,DE
@@ -48569,7 +49647,9 @@
1578592768,1578592783,DE
1578592784,1578592803,FR
1578592804,1578592807,PL
-1578592808,1578593023,FR
+1578592808,1578592859,FR
+1578592860,1578592863,PL
+1578592864,1578593023,FR
1578593024,1578593279,DE
1578593280,1578593359,FR
1578593360,1578593375,DE
@@ -48590,15 +49670,23 @@
1578594056,1578594059,ES
1578594060,1578594087,FR
1578594088,1578594095,CZ
-1578594096,1578594271,FR
+1578594096,1578594223,FR
+1578594224,1578594239,PL
+1578594240,1578594271,FR
1578594272,1578594303,BE
1578594304,1578594307,FR
1578594308,1578594311,FI
-1578594312,1578594351,FR
+1578594312,1578594319,FR
+1578594320,1578594335,PL
+1578594336,1578594351,FR
1578594352,1578594355,GB
1578594356,1578594479,FR
1578594480,1578594495,ES
-1578594496,1578594559,FR
+1578594496,1578594511,FR
+1578594512,1578594515,PL
+1578594516,1578594527,FR
+1578594528,1578594531,PL
+1578594532,1578594559,FR
1578594560,1578594815,ES
1578594816,1578594879,FR
1578594880,1578594895,DE
@@ -48608,7 +49696,9 @@
1578595104,1578595119,GB
1578595120,1578595127,FR
1578595128,1578595131,PL
-1578595132,1578595295,FR
+1578595132,1578595211,FR
+1578595212,1578595215,PL
+1578595216,1578595295,FR
1578595296,1578595327,DE
1578595328,1578595419,FR
1578595420,1578595423,GB
@@ -48623,7 +49713,9 @@
1578595544,1578595639,FR
1578595640,1578595643,DE
1578595644,1578595647,GB
-1578595648,1578595763,FR
+1578595648,1578595703,FR
+1578595704,1578595711,PL
+1578595712,1578595763,FR
1578595764,1578595767,DE
1578595768,1578595807,FR
1578595808,1578595823,ES
@@ -48658,11 +49750,17 @@
1578611168,1578611175,DE
1578611176,1578611183,FR
1578611184,1578611191,ES
-1578611192,1578611423,FR
+1578611192,1578611399,FR
+1578611400,1578611403,GB
+1578611404,1578611423,FR
1578611424,1578611439,CZ
-1578611440,1578611871,FR
+1578611440,1578611455,FR
+1578611456,1578611583,NL
+1578611584,1578611871,FR
1578611872,1578611887,GB
-1578611888,1578611967,FR
+1578611888,1578611903,FR
+1578611904,1578611907,PL
+1578611908,1578611967,FR
1578611968,1578611971,DE
1578611972,1578611979,FR
1578611980,1578611983,DE
@@ -48676,9 +49774,13 @@
1578612320,1578612351,IT
1578612352,1578612495,FR
1578612496,1578612499,DE
-1578612500,1578612623,FR
+1578612500,1578612519,FR
+1578612520,1578612523,PL
+1578612524,1578612623,FR
1578612624,1578612639,DE
-1578612640,1578612907,FR
+1578612640,1578612895,FR
+1578612896,1578612899,PL
+1578612900,1578612907,FR
1578612908,1578612911,ES
1578612912,1578613436,FR
1578613437,1578613437,ES
@@ -48686,7 +49788,8 @@
1578613492,1578613495,IE
1578613496,1578613503,FR
1578613504,1578613567,DE
-1578613568,1578613679,FR
+1578613568,1578613631,PL
+1578613632,1578613679,FR
1578613680,1578613695,ES
1578613696,1578613735,FR
1578613736,1578613739,ES
@@ -48708,7 +49811,9 @@
1578614476,1578614479,UA
1578614480,1578614495,FR
1578614496,1578614511,DE
-1578614512,1578614575,FR
+1578614512,1578614543,FR
+1578614544,1578614559,PL
+1578614560,1578614575,FR
1578614576,1578614583,DE
1578614584,1578614591,GB
1578614592,1578615915,FR
@@ -48755,7 +49860,9 @@
1578784256,1578786047,BG
1578786048,1578786303,GI
1578786304,1578786559,BG
-1578786560,1578788863,GI
+1578786560,1578786815,GI
+1578786816,1578787071,BG
+1578787072,1578788863,GI
1578788864,1578790143,BG
1578790144,1578790399,GI
1578790400,1578790911,GB
@@ -48772,9 +49879,7 @@
1579102464,1579106303,GB
1579106304,1579122687,DE
1579122688,1579155455,RU
-1579155456,1579589503,IT
-1579589504,1579589631,GB
-1579589632,1579679743,IT
+1579155456,1579679743,IT
1579679744,1579745279,PL
1579745280,1579810815,RU
1579810816,1579876351,PL
@@ -48836,7 +49941,9 @@
1580138496,1580204031,SY
1580204032,1580335103,SA
1580335104,1580466175,RU
-1580466176,1580597247,RO
+1580466176,1580587007,RO
+1580587008,1580587519,HU
+1580587520,1580597247,RO
1580597248,1580728319,TR
1580728320,1580990463,AE
1580990464,1581252607,PT
@@ -48903,7 +50010,7 @@
1583693824,1583697919,RU
1583697920,1583702015,TR
1583702016,1583706111,RU
-1583706112,1583707135,DE
+1583706112,1583707135,US
1583707136,1583708159,MD
1583708160,1583709183,IR
1583709184,1583710207,ES
@@ -48919,7 +50026,9 @@
1583751168,1583755263,NO
1583755264,1583756031,SC
1583756032,1583756287,NL
-1583756288,1583759359,SC
+1583756288,1583757567,SC
+1583757568,1583758335,NL
+1583758336,1583759359,SC
1583759360,1583763455,TR
1583763456,1583765503,SY
1583765504,1583766015,RU
@@ -48997,13 +50106,12 @@
1584857936,1584857943,RS
1584857944,1584857951,TR
1584857952,1584857959,AE
-1584857960,1584858111,DE
+1584857960,1584857967,LU
+1584857968,1584858111,DE
1584858112,1584859007,GB
1584859008,1584859135,NL
1584859136,1584922623,GB
-1584922624,1584926975,TR
-1584926976,1584927743,DE
-1584927744,1585184767,TR
+1584922624,1585184767,TR
1585184768,1585190911,PL
1585190912,1585192959,ES
1585192960,1585195007,IT
@@ -49022,8 +50130,8 @@
1585217536,1585219583,FR
1585219584,1585221631,NL
1585221632,1585223679,SK
-1585223680,1585224191,MQ
-1585224192,1585224703,FR
+1585223680,1585224447,FR
+1585224448,1585224703,GP
1585224704,1585224959,GF
1585224960,1585225471,RE
1585225472,1585225727,FR
@@ -49064,7 +50172,7 @@
1585266688,1585270783,DE
1585270784,1585272831,IT
1585272832,1585274879,RU
-1585274880,1585275903,CZ
+1585274880,1585275903,KZ
1585275904,1585276927,DE
1585276928,1585278975,FR
1585278976,1585281023,AL
@@ -49104,7 +50212,8 @@
1585346560,1585348607,GB
1585348608,1585350655,CH
1585350656,1585352703,IT
-1585352704,1585354094,GB
+1585352704,1585353727,PT
+1585353728,1585354094,GB
1585354095,1585354095,PT
1585354096,1585354751,GB
1585354752,1585356799,RU
@@ -49148,7 +50257,13 @@
1585438720,1585440767,DE
1585440768,1585442815,IT
1585442816,1585446911,RU
-1585446912,1585577983,KW
+1585446912,1585467647,KW
+1585467648,1585467679,IT
+1585467680,1585467695,KW
+1585467696,1585467711,IT
+1585467712,1585467743,KW
+1585467744,1585467903,IT
+1585467904,1585577983,KW
1585577984,1585624156,DE
1585624157,1585624157,GS
1585624158,1585643519,DE
@@ -49186,9 +50301,7 @@
1586216960,1586225151,BG
1586225152,1586233343,RU
1586233344,1586241535,FR
-1586241536,1586242103,SE
-1586242104,1586242111,NO
-1586242112,1586249727,SE
+1586241536,1586249727,SE
1586249728,1586257919,SI
1586257920,1586260479,SE
1586260736,1586261759,SE
@@ -49287,12 +50400,28 @@
1587167232,1587175423,RU
1587175424,1587177471,PL
1587177472,1587179519,RS
+1587183616,1587184639,RU
+1587184640,1587186687,DE
+1587186688,1587187711,IT
+1587187712,1587188735,EE
+1587188736,1587189759,DE
+1587189760,1587190783,AL
+1587190784,1587191807,GB
+1587191808,1587192831,DE
+1587192832,1587193855,CH
+1587193856,1587194879,NL
+1587194880,1587195903,DE
+1587195904,1587197951,CZ
+1587197952,1587198975,ES
+1587198976,1587199999,RU
1587200000,1587216383,UA
1587216384,1587322367,BG
1587322368,1587322623,RS
1587322624,1587347455,BG
1587347456,1587412991,NL
-1587412992,1587418623,RU
+1587412992,1587418111,RU
+1587418112,1587418367,UA
+1587418368,1587418623,RU
1587418624,1587418879,FR
1587418880,1587419135,IN
1587419136,1587420159,BG
@@ -49335,7 +50464,8 @@
1588620288,1588620543,RO
1588620544,1588620799,US
1588620800,1588621311,RO
-1588621312,1588625407,MD
+1588621312,1588623359,MD
+1588623360,1588625407,SK
1588625408,1588626175,RO
1588626176,1588626431,IT
1588626432,1588627455,RO
@@ -49345,13 +50475,14 @@
1588631552,1588636671,RO
1588636672,1588637695,US
1588637696,1588638719,ES
-1588638720,1588640767,RO
+1588638720,1588639743,RO
+1588639744,1588640255,IT
+1588640256,1588640767,RO
1588640768,1588641279,LT
1588641280,1588641535,RO
1588641536,1588641791,GB
1588641792,1588642303,CH
-1588642304,1588642559,DE
-1588642560,1588642815,NL
+1588642304,1588642815,ES
1588642816,1588643071,RO
1588643072,1588643327,NL
1588643328,1588643839,UA
@@ -49443,7 +50574,9 @@
1589477376,1589510143,RS
1589510144,1589542911,RU
1589542912,1589547007,BG
-1589547008,1589551103,EE
+1589547008,1589548543,EE
+1589548544,1589548799,GG
+1589548800,1589551103,EE
1589551104,1589560319,BG
1589560320,1589561343,GI
1589561344,1589563391,NL
@@ -49454,8 +50587,8 @@
1589574400,1589574655,US
1589574656,1589575679,BG
1589575680,1589608447,CN
-1589608448,1589616639,SE
-1589616640,1589624831,DK
+1589608448,1589622783,SE
+1589622784,1589624831,DK
1589624832,1589626879,SE
1589626880,1589630975,DK
1589630976,1589633023,SE
@@ -49506,9 +50639,8 @@
1590120448,1590122495,IT
1590122496,1590124543,DE
1590124544,1590125567,CZ
-1590125568,1590125823,AT
-1590125824,1590126079,RU
-1590126080,1590126591,AT
+1590125568,1590126079,AT
+1590126080,1590126591,US
1590126592,1590128639,RU
1590128640,1590130687,FI
1590130688,1590132735,FR
@@ -49622,7 +50754,7 @@
1592285184,1592287231,RU
1592287232,1592289279,RO
1592289280,1592291327,RU
-1592291328,1592293375,SM
+1592291328,1592293375,NL
1592293376,1592295423,LT
1592295424,1592299519,RU
1592299520,1592303615,PL
@@ -49648,8 +50780,7 @@
1592596480,1592598527,DE
1592598528,1592600575,FI
1592600576,1592602623,NL
-1592602624,1592604671,GB
-1592604672,1592606719,FI
+1592602624,1592606719,GB
1592606720,1592610815,SG
1592610816,1592612863,DE
1592612864,1592623103,FI
@@ -49690,9 +50821,7 @@
1593135104,1593135359,GB
1593135360,1593135615,IE
1593135616,1593136639,GB
-1593136640,1593136895,IE
-1593136896,1593137151,GB
-1593137152,1593139199,IE
+1593136640,1593139199,IE
1593139200,1593140223,NL
1593140224,1593147391,IE
1593147392,1593163775,RU
@@ -49777,9 +50906,7 @@
1593638912,1593671679,RU
1593671680,1593704447,HR
1593704448,1593737215,SE
-1593737216,1593754111,PL
-1593754112,1593754367,GB
-1593754368,1593769983,PL
+1593737216,1593769983,PL
1593769984,1593802751,RU
1593802752,1593835519,SE
1593835520,1594884095,TR
@@ -49877,8 +51004,8 @@
1596941056,1596941311,BY
1596941312,1596942079,RU
1596942080,1596942335,PT
-1596942336,1596945663,UA
-1596945664,1596945919,CZ
+1596942336,1596945407,UA
+1596945408,1596945919,CZ
1596945920,1596946431,RU
1596946432,1596946943,CZ
1596946944,1596948479,UA
@@ -49994,7 +51121,9 @@
1599565824,1599567871,SY
1599567872,1599569919,IT
1599569920,1599586303,SI
-1599586304,1599602687,BG
+1599586304,1599600895,BG
+1599600896,1599601151,GB
+1599601152,1599602687,BG
1599602688,1599864831,DE
1599864832,1600126975,PT
1600126976,1600389119,NL
@@ -50186,7 +51315,7 @@
1603081256,1603081263,FI
1603081264,1603081279,GB
1603081280,1603081295,US
-1603081296,1603081407,DE
+1603081296,1603081407,KE
1603081408,1603081471,ES
1603081472,1603082239,KE
1603082240,1603082495,DE
@@ -50245,10 +51374,33 @@
1603207168,1603215359,RU
1603215360,1603219455,DE
1603219456,1603223551,CH
-1603223552,1603226255,FR
+1603223552,1603224319,FR
+1603224320,1603224335,GB
+1603224336,1603224351,BE
+1603224352,1603224367,NL
+1603224368,1603224383,DE
+1603224384,1603224399,CH
+1603224400,1603224415,IT
+1603224416,1603224431,ES
+1603224432,1603224447,US
+1603224448,1603224463,MX
+1603224464,1603224679,FR
+1603224680,1603224687,NL
+1603224688,1603224695,GB
+1603224696,1603224703,DE
+1603224704,1603225607,FR
+1603225608,1603225615,GB
+1603225616,1603225623,DE
+1603225624,1603225631,IT
+1603225632,1603225639,US
+1603225640,1603225647,CN
+1603225648,1603225883,FR
+1603225884,1603225887,GB
+1603225888,1603226255,FR
1603226256,1603226263,DE
1603226264,1603226271,NL
-1603226272,1603227647,FR
+1603226272,1603226279,DE
+1603226280,1603227647,FR
1603227648,1603231743,AT
1603231744,1603235839,IT
1603235840,1603239935,RU
@@ -50278,7 +51430,9 @@
1604059136,1604075519,MK
1604075520,1604091903,RU
1604091904,1604108287,BA
-1604108288,1604111103,DE
+1604108288,1604109823,DE
+1604109824,1604110079,US
+1604110080,1604111103,DE
1604111104,1604112383,ES
1604112384,1604114431,DE
1604114432,1604115455,IR
@@ -50435,12 +51589,16 @@
1605533696,1605566463,HR
1605566464,1605599231,RU
1605599232,1605607423,NL
-1605607424,1605610495,DE
-1605610496,1605611487,NL
+1605607424,1605610527,DE
+1605610528,1605611487,NL
1605611488,1605611519,DE
1605611520,1605615615,NL
-1605615616,1605618687,GB
-1605618688,1605631999,NL
+1605615616,1605619167,GB
+1605619168,1605619199,NL
+1605619200,1605619711,GB
+1605619712,1605623807,NL
+1605623808,1605627903,GB
+1605627904,1605631999,NL
1605632000,1605664767,RS
1605664768,1605697535,MK
1605697536,1605742591,RU
@@ -50482,8 +51640,10 @@
1607573504,1607575551,SE
1607575552,1607577599,GB
1607577600,1607581695,SE
-1607581696,1607598079,DK
-1607598080,1607599103,GB
+1607581696,1607588863,DK
+1607588864,1607589887,SE
+1607589888,1607598079,DK
+1607598080,1607600127,GB
1607600384,1607600639,DE
1607600640,1607600895,AT
1607600896,1607601151,CH
@@ -50502,10 +51662,10 @@
1607607296,1607607551,PL
1607607552,1607608319,IT
1607608320,1607608575,HU
-1607608576,1607609343,SK
+1607608576,1607608831,SK
1607610368,1607611391,GR
1607611392,1607612415,IE
-1607614464,1607618559,GB
+1607614464,1607617535,GB
1607618560,1607620607,ES
1607620608,1607621375,IT
1607621632,1607622655,IT
@@ -50526,11 +51686,13 @@
1607632896,1607633407,SN
1607633408,1607633919,TG
1607633920,1607634431,ZM
+1607634432,1607634687,GB
1607636480,1607636991,ZA
1607638528,1607639039,GB
-1607639040,1607640805,IT
+1607639353,1607639353,IT
1607640806,1607640806,CH
-1607640807,1607642388,IT
+1607641053,1607641053,IT
+1607641088,1607642388,IT
1607642389,1607642389,NL
1607642390,1607647231,IT
1607647232,1607651327,DE
@@ -50540,11 +51702,7 @@
1607663616,1607701433,NL
1607701434,1607701434,RS
1607701435,1607729151,NL
-1607729152,1607770112,SY
-1607770113,1607773183,EG
-1607773184,1607773184,SY
-1607773185,1607774207,EG
-1607774208,1607786495,SY
+1607729152,1607786495,SY
1607786496,1607794687,EG
1607794688,1607860223,RU
1607925760,1607926783,RU
@@ -50628,8 +51786,15 @@
1611227136,1611235327,CA
1611235328,1611243519,OM
1611243520,1611247615,MY
-1611247616,1611251711,AU
-1611251712,1611777023,US
+1611247616,1611249663,AU
+1611249664,1611251711,HK
+1611251712,1611692543,US
+1611692544,1611693567,NL
+1611693568,1611764735,US
+1611764736,1611764991,NL
+1611764992,1611765759,US
+1611765760,1611766015,NL
+1611766016,1611777023,US
1611777024,1611777279,NL
1611777280,1611778047,US
1611778048,1611778559,NL
@@ -50727,9 +51892,12 @@
1654579472,1654579487,CA
1654579488,1654582015,US
1654582016,1654582271,CN
-1654582272,1654585343,US
-1654585344,1654586367,DE
-1654586368,1654595583,US
+1654582272,1654584575,US
+1654584576,1654585343,JP
+1654585344,1654585855,US
+1654585856,1654586367,DE
+1654586368,1654587391,NL
+1654587392,1654595583,US
1654595584,1654596095,CA
1654596096,1654596215,US
1654596216,1654596223,IS
@@ -50761,11 +51929,7 @@
1666731330,1666731330,FR
1666731331,1673527295,US
1673527296,1673560063,CA
-1673560064,1673580095,US
-1673580096,1673580127,CA
-1673580128,1673581599,US
-1673581600,1673581615,CA
-1673581616,1673986047,US
+1673560064,1673986047,US
1673986048,1674051583,CA
1674051584,1674575871,US
1674575872,1677721599,CA
@@ -50839,33 +52003,64 @@
1698136064,1698160639,JP
1698160640,1698162687,CN
1698162688,1698168831,JP
-1698168832,1698185215,IN
-1698185216,1698193407,IT
-1698193408,1698201599,IN
-1698201600,1698209791,IT
-1698209792,1698226175,IN
-1698226176,1698230271,IT
-1698230272,1698232319,IN
-1698232320,1698234367,IT
-1698234368,1698242559,IN
-1698242560,1698246655,IT
-1698246656,1698247679,IN
-1698247680,1698250751,IT
-1698250752,1698283519,IN
-1698283520,1698297855,IT
+1698168832,1698177023,IT
+1698177024,1698181119,IN
+1698181120,1698197503,IT
+1698197504,1698199551,IN
+1698199552,1698216948,IT
+1698216949,1698216949,IN
+1698216950,1698217983,IT
+1698217984,1698220031,IN
+1698220032,1698297855,IT
1698297856,1698299903,IN
1698299904,1698316287,IT
-1698316288,1698324479,IN
-1698324480,1698349055,IT
-1698349056,1698357247,IN
-1698357248,1698383554,IT
+1698316288,1698318335,IN
+1698318336,1698320383,IT
+1698320384,1698322431,IN
+1698322432,1698383554,IT
1698383555,1698383555,IN
-1698383556,1698422783,IT
-1698422784,1698447359,IN
-1698447360,1698451455,IT
-1698451456,1698578431,IN
-1698578432,1698586623,IT
-1698586624,1698693119,IN
+1698383556,1698433023,IT
+1698433024,1698444799,IN
+1698444800,1698445311,IT
+1698445312,1698447359,IN
+1698447360,1698482175,IT
+1698482176,1698484223,IN
+1698484224,1698494463,IT
+1698494464,1698496511,IN
+1698496512,1698529279,IT
+1698529280,1698535423,IN
+1698535424,1698539519,IT
+1698539520,1698543615,IN
+1698543616,1698547711,IT
+1698547712,1698549759,IN
+1698549760,1698551807,IT
+1698551808,1698553855,IN
+1698553856,1698559999,IT
+1698560000,1698562047,IN
+1698562048,1698576383,IT
+1698576384,1698578431,IN
+1698578432,1698594815,IT
+1698594816,1698596863,IN
+1698596864,1698623487,IT
+1698623488,1698625535,IN
+1698625536,1698633727,IT
+1698633728,1698637823,IN
+1698637824,1698641919,IT
+1698641920,1698646015,IN
+1698646016,1698648063,IT
+1698648064,1698652159,IN
+1698652160,1698654207,IT
+1698654208,1698656255,IN
+1698656256,1698658303,IT
+1698658304,1698660351,IN
+1698660352,1698670591,IT
+1698670592,1698672639,IN
+1698672640,1698678783,IT
+1698678784,1698680831,IN
+1698680832,1698684927,IT
+1698684928,1698686975,IN
+1698686976,1698689023,IT
+1698689024,1698693119,IN
1698693120,1699611647,CN
1699611648,1699612671,JP
1699612672,1699614719,LA
@@ -50917,9 +52112,7 @@
1701216256,1701249023,JP
1701249024,1701314559,AU
1701314560,1701576703,CN
-1701576704,1701669375,TH
-1701669376,1701669631,JP
-1701669632,1701707775,TH
+1701576704,1701707775,TH
1701707776,1701724159,JP
1701724160,1701736447,CN
1701736448,1701737471,NZ
@@ -50971,21 +52164,46 @@
1710972672,1710972927,TW
1710972928,1711210495,CN
1711210496,1711276031,ID
+1715863552,1715994623,MW
1715994624,1716518911,MA
1716518912,1717043199,UG
1717043200,1717567487,NG
1717567488,1718091775,MA
-1718091776,1718468607,TN
-1718468608,1718476799,US
-1718476800,1718616063,TN
+1718091776,1718616063,TN
1718616064,1719140351,MU
1719140352,1719664639,SD
-1719762944,1719795711,ZA
+1719681024,1719683071,CD
+1719683072,1719684095,NG
+1719685120,1719697407,ZA
+1719706624,1719707647,SC
+1719709696,1719711743,EG
+1719730176,1719738367,ZA
+1719740416,1719746559,ZA
+1719746560,1719754751,CG
+1719754752,1719779327,ZA
+1719779328,1719787519,US
+1719787520,1719791615,ZA
+1719791616,1719793663,US
+1719793664,1719795711,ZA
+1719795712,1719799807,NG
+1719799808,1719803903,ZA
+1719803904,1719805951,RW
+1719805952,1719807999,ZA
+1719808000,1719809023,SC
+1719809024,1719810047,NG
+1719810048,1719811071,BF
+1719811072,1719812095,MZ
1719812096,1719814143,AO
-1719816192,1719820287,ZA
+1719814144,1719820287,ZA
+1719821568,1719821823,MW
1719821824,1719822079,KE
+1719822080,1719822335,NG
1719822336,1719844863,ZA
1719844864,1719853055,AO
+1719853056,1719855103,CI
+1719855104,1719856127,ML
+1719856128,1719857151,ZA
+1719859200,1719861247,SD
1719861248,1719865343,ZA
1719865344,1719865855,GH
1719865856,1719869439,ZA
@@ -50993,6 +52211,7 @@
1719870464,1719871487,NG
1719871488,1719873535,AO
1719873536,1719875583,MU
+1719875584,1719876607,TD
1719876608,1719877631,ZA
1719877632,1719926783,NG
1719926784,1719930879,ZA
@@ -51003,11 +52222,13 @@
1720065024,1720066047,GA
1720066048,1720077311,ZA
1720077312,1720078335,MU
+1720078336,1720079359,ZA
1720079360,1720080383,BW
1720080384,1720082431,ZA
1720082432,1720086527,BI
1720086528,1720087551,NG
1720087552,1720090879,ZA
+1720090880,1720091135,KE
1720091136,1720091647,GH
1720091648,1720092671,ZA
1720092672,1720093695,BW
@@ -51018,14 +52239,14 @@
1720123392,1720127487,TZ
1720127488,1720131583,GH
1720131584,1720135679,NG
-1720135680,1720139775,SC
+1720135680,1720139775,ZA
1720139776,1720141823,KE
1720141824,1720143871,SC
1720143872,1720147967,KE
1720147968,1720165375,ZA
1720165376,1720166399,GA
1720166400,1720168447,KE
-1720168448,1720170495,CG
+1720168448,1720170495,CD
1720170496,1720171519,CI
1720171520,1720171775,GH
1720171776,1720172031,CM
@@ -51056,6 +52277,7 @@
1720547328,1720566783,ZA
1720566784,1720567807,SO
1720567808,1720568831,SC
+1720568832,1720569855,TN
1720569856,1720570879,ZA
1720570880,1720571903,NG
1720571904,1720572927,GQ
@@ -51078,9 +52300,7 @@
1721607680,1721656575,TN
1721656576,1721656831,MU
1721656832,1721761791,TN
-1721761792,1721777151,MU
-1721777152,1721778175,FR
-1721778176,1722023935,MU
+1721761792,1722023935,MU
1722023936,1722032127,ZA
1722032128,1722034175,NG
1722034176,1722035199,ML
@@ -51104,7 +52324,11 @@
1722085376,1722086399,ZA
1722086400,1722087423,TD
1722087424,1722089471,GQ
-1722089472,1722114047,ZA
+1722089472,1722097663,ZA
+1722097664,1722099711,US
+1722099712,1722101759,ZA
+1722101760,1722103807,US
+1722103808,1722114047,ZA
1722114048,1722118143,ML
1722118144,1722119167,ZW
1722119168,1722121215,ZA
@@ -51302,8 +52526,13 @@
1728345088,1728346111,BD
1728346112,1728346367,AU
1728346368,1728346623,NZ
-1728346624,1728347135,AU
-1728347136,1728348159,SG
+1728346624,1728347147,AU
+1728347148,1728347148,SG
+1728347149,1728347416,AU
+1728347417,1728347417,SG
+1728347418,1728347421,AU
+1728347422,1728347422,SG
+1728347423,1728348159,AU
1728348160,1728349183,VN
1728349184,1728350207,AU
1728350208,1728351231,NZ
@@ -51399,11 +52628,9 @@
1728431872,1728432127,SG
1728432128,1728433151,IN
1728433152,1728435199,VN
-1728435200,1728435711,AU
-1728435712,1728435967,SG
+1728435200,1728435967,AU
1728435968,1728436223,ID
1728436224,1728436479,IN
-1728436480,1728437247,US
1728437248,1728438271,HK
1728438272,1728439295,NZ
1728439296,1728439807,NP
@@ -51688,8 +52915,8 @@
1728701184,1728701439,ID
1728701440,1728702463,WS
1728702464,1728703487,IN
-1728703488,1728703999,NZ
-1728704000,1728705535,AU
+1728703488,1728704511,NZ
+1728704512,1728705535,AU
1728705536,1728706559,HK
1728706560,1728709631,CN
1728709632,1728710655,TW
@@ -51809,7 +53036,9 @@
1728814080,1728815103,JP
1728815104,1728815359,AU
1728815360,1728815871,PG
-1728815872,1728817151,AU
+1728815872,1728816383,AU
+1728816384,1728816639,SG
+1728816640,1728817151,AU
1728817152,1728818175,CN
1728818176,1728819199,VN
1728819200,1728819711,ID
@@ -51927,12 +53156,12 @@
1728919552,1728920575,AU
1728920576,1728921599,JP
1728921600,1728922099,AF
-1728922100,1728922100,DE
-1728922101,1728922102,AF
-1728922103,1728922103,DE
-1728922104,1728922104,AF
-1728922105,1728922105,DE
-1728922106,1728922623,AF
+1728922100,1728922101,DE
+1728922102,1728922103,AF
+1728922104,1728922105,DE
+1728922106,1728922106,AF
+1728922107,1728922107,IT
+1728922108,1728922623,AF
1728922624,1728923647,AU
1728923648,1728924159,HK
1728924160,1728924671,MY
@@ -51995,7 +53224,7 @@
1728977152,1728977407,AU
1728977408,1728977919,BD
1728977920,1728978943,MY
-1728978944,1728979967,CN
+1728978944,1728979967,HK
1728979968,1728980991,MN
1728980992,1728982015,AU
1728982016,1728982527,ID
@@ -52438,7 +53667,9 @@
1729391104,1729391615,ID
1729392640,1729393663,CN
1729393664,1729394687,KR
-1729394688,1729395711,TH
+1729394688,1729394943,TH
+1729394944,1729395199,US
+1729395200,1729395711,TH
1729395712,1729395967,NR
1729395968,1729396735,IN
1729396736,1729397759,CN
@@ -52473,7 +53704,9 @@
1729424384,1729425407,HK
1729426432,1729427455,AU
1729427456,1729428479,CN
-1729428480,1729430527,AU
+1729428480,1729429247,AU
+1729429248,1729429503,NZ
+1729429504,1729430527,AU
1729431552,1729432575,HK
1729432576,1729433599,PH
1729433600,1729433855,IN
@@ -52625,9 +53858,7 @@
1729606656,1729607679,ID
1729607680,1729609727,AU
1729609728,1729609983,PH
-1729609984,1729609999,HK
-1729610000,1729610003,JP
-1729610004,1729610751,HK
+1729609984,1729610751,HK
1729611776,1729612799,ID
1729612800,1729613823,BD
1729613824,1729614847,SG
@@ -53361,8 +54592,8 @@
1730599424,1730599935,VU
1730600960,1730605055,CN
1730605056,1730607103,IN
-1730608128,1730608895,CN
-1730608896,1730609151,HK
+1730608128,1730608639,CN
+1730608640,1730609151,HK
1730609152,1730610687,IN
1730610688,1730610943,MY
1730610944,1730611199,SG
@@ -53581,9 +54812,7 @@
1730895360,1730895871,NL
1730895872,1730898943,CN
1730898944,1730899967,MO
-1730899968,1730900223,IN
-1730900224,1730900479,SG
-1730900480,1730900991,IN
+1730899968,1730900991,IN
1730900992,1730901503,AU
1730901504,1730901759,DE
1730901760,1730902015,AU
@@ -53707,9 +54936,7 @@
1731119104,1731120127,IN
1731120128,1731121151,JP
1731121152,1731121407,AF
-1731121408,1731121649,DE
-1731121650,1731121650,AF
-1731121651,1731121663,DE
+1731121408,1731121663,DE
1731121664,1731122175,AF
1731122176,1731123199,AU
1731123200,1731124223,PF
@@ -53751,7 +54978,7 @@
1731165184,1731166207,IN
1731167232,1731168255,ID
1731168256,1731170303,CN
-1731170304,1731170559,AU
+1731170304,1731170559,SG
1731170560,1731170687,HK
1731170688,1731170815,MY
1731170816,1731171071,AU
@@ -53828,11 +55055,7 @@
1731249152,1731250175,IN
1731250432,1731250687,AU
1731250688,1731251199,CN
-1731251200,1731251711,TH
-1731251712,1731251738,SE
-1731251739,1731251739,TH
-1731251740,1731251967,SE
-1731251968,1731252223,TH
+1731251200,1731252223,TH
1731252224,1731253247,AU
1731253248,1731253759,IN
1731253760,1731254271,AU
@@ -54171,7 +55394,8 @@
1731653632,1731654655,CN
1731654656,1731655679,IN
1731655680,1731657727,VN
-1731657728,1731658751,TH
+1731657728,1731658495,TH
+1731658496,1731658751,MM
1731658752,1731659775,JP
1731659776,1731660031,HK
1731660032,1731660287,ID
@@ -54190,7 +55414,8 @@
1731669928,1731669928,CC
1731669929,1731670015,AU
1731670016,1731671039,TL
-1731671040,1731671551,AU
+1731671040,1731671295,AU
+1731671296,1731671551,SG
1731671552,1731672063,TH
1731672064,1731672575,ID
1731672576,1731672831,AU
@@ -54428,7 +55653,7 @@
1731987456,1731987711,HK
1731987712,1731987967,ID
1731987968,1731988479,SG
-1731988480,1731989503,US
+1731988480,1731989503,CA
1731989504,1731990527,VN
1731990528,1731990783,AU
1731990784,1731991039,IN
@@ -54480,7 +55705,6 @@
1732043776,1732044799,CN
1732044800,1732045823,HK
1732045824,1732046847,CN
-1732046848,1732047871,AU
1732047872,1732048895,IN
1732048896,1732049919,HK
1732049920,1732050943,PH
@@ -54700,9 +55924,9 @@
1732424752,1732424755,CN
1732424756,1732424767,HK
1732424768,1732424831,CN
-1732424832,1732424955,HK
-1732424956,1732424957,CN
-1732424958,1732425727,HK
+1732424832,1732424915,HK
+1732424916,1732424917,CN
+1732424918,1732425727,HK
1732425728,1732426751,KH
1732426752,1732428799,KR
1732428800,1732429823,ID
@@ -54886,9 +56110,7 @@
1732655616,1732655871,IN
1732655872,1732656127,HK
1732656128,1732657151,IN
-1732657152,1732657663,SG
-1732657664,1732657919,PG
-1732657920,1732658175,SG
+1732657152,1732658175,SG
1732658176,1732658431,ID
1732658432,1732658687,IN
1732658688,1732660223,AU
@@ -54899,7 +56121,8 @@
1732662272,1732663295,PK
1732663296,1732663807,NZ
1732663808,1732675583,IN
-1732675584,1732676095,PK
+1732675584,1732675839,PK
+1732675840,1732676095,US
1732676096,1732676351,NZ
1732676352,1732676607,IN
1732676608,1732677631,BD
@@ -55006,7 +56229,7 @@
1732800000,1732800511,ID
1732800512,1732806655,CN
1732806656,1732808703,IN
-1732808704,1732809727,CN
+1732808704,1732809727,HK
1732809728,1732809983,US
1732809984,1732810751,CN
1732810752,1732811775,HK
@@ -55066,7 +56289,8 @@
1732882432,1732883455,CN
1732883456,1732884479,IN
1732885504,1732886527,IN
-1732887040,1732887551,HK
+1732887040,1732887295,HK
+1732887296,1732887551,US
1732887552,1732888575,BD
1732888576,1732889599,AU
1732889600,1732891647,CN
@@ -55140,8 +56364,7 @@
1732966400,1732967423,HK
1732967424,1732968447,TH
1732968448,1732969471,HK
-1732969472,1732970495,AU
-1732970496,1732971519,IN
+1732969472,1732971519,AU
1732971520,1732972543,HK
1732972544,1732973567,CN
1732973568,1732974079,VU
@@ -55219,7 +56442,8 @@
1733057024,1733057279,AU
1733057536,1733058559,CN
1733058560,1733060607,IN
-1733060608,1733061631,US
+1733060608,1733061119,KR
+1733061120,1733061631,SG
1733062656,1733063679,HK
1733063680,1733064703,TH
1733065728,1733065983,SG
@@ -55439,7 +56663,7 @@
1733288960,1733289471,IN
1733289472,1733289727,NZ
1733289728,1733289983,AU
-1733289984,1733291519,IN
+1733289984,1733292031,IN
1733292032,1733293055,CN
1733293056,1733296127,IN
1733296128,1733297151,BD
@@ -55697,7 +56921,8 @@
1733544960,1733545983,BD
1733545984,1733546495,AU
1733546496,1733550079,IN
-1733550080,1733551103,PH
+1733550080,1733550335,IT
+1733550336,1733551103,PH
1733551104,1733551615,NP
1733551616,1733551871,AU
1733551872,1733552127,HK
@@ -55990,8 +57215,7 @@
1733867008,1733867263,IN
1733867264,1733867519,AU
1733867520,1733869567,CN
-1733869568,1733870079,AF
-1733870080,1733870591,PT
+1733869568,1733870591,AF
1733870592,1733874687,ID
1733874688,1733875711,CN
1733875712,1733879039,IN
@@ -56613,11 +57837,13 @@
1734554624,1734557695,CN
1734557696,1734558719,AU
1734558720,1734559743,IN
-1734559744,1734560767,HK
+1734559744,1734560255,HK
+1734560256,1734560767,TW
1734560768,1734561791,CN
1734561792,1734562815,JP
1734562816,1734563327,ID
-1734563328,1734563839,AU
+1734563328,1734563583,KR
+1734563584,1734563839,VN
1734563840,1734564863,TW
1734564864,1734565887,IN
1734565888,1734566911,SG
@@ -56787,7 +58013,9 @@
1734722048,1734722559,ID
1734722560,1734723583,BD
1734723584,1734724607,SG
-1734724608,1734725631,HK
+1734724608,1734725119,KR
+1734725120,1734725375,JP
+1734725376,1734725631,SG
1734725632,1734726655,KH
1734726656,1734727167,IN
1734727168,1734727423,AU
@@ -56812,7 +58040,9 @@
1734738432,1734738687,IN
1734738688,1734738943,JP
1734738944,1734739199,RU
-1734739200,1734739967,HK
+1734739200,1734739455,HK
+1734739456,1734739711,JP
+1734739712,1734739967,HK
1734739968,1734740991,AU
1734740992,1734742015,ID
1734742016,1734743039,US
@@ -56830,8 +58060,7 @@
1734749184,1734749439,HK
1734749440,1734749695,GI
1734749696,1734749951,SG
-1734749952,1734750207,GI
-1734750208,1734750719,HK
+1734749952,1734750719,HK
1734750720,1734751487,NZ
1734751488,1734751743,AU
1734752256,1734753279,IN
@@ -56869,7 +58098,8 @@
1734790144,1734791167,BD
1734791168,1734793215,CN
1734793216,1734794239,BD
-1734794240,1734794751,AF
+1734794240,1734794495,AF
+1734794496,1734794751,DE
1734794752,1734797823,AU
1734797824,1734798079,IN
1734798080,1734798335,SG
@@ -57066,8 +58296,7 @@
1734965248,1734966271,HK
1734966272,1734967295,IN
1734967296,1734968319,ID
-1734968320,1734969087,CN
-1734969088,1734969343,JP
+1734968320,1734969343,CN
1734969344,1734969855,IN
1734969856,1734970111,MY
1734970112,1734970367,AU
@@ -57296,7 +58525,9 @@
1735182848,1735183359,AU
1735183360,1735184383,IN
1735184384,1735186431,CN
-1735186432,1735186943,HK
+1735186432,1735186687,HK
+1735186688,1735186942,CN
+1735186943,1735186943,HK
1735186944,1735187455,KH
1735187456,1735187711,IN
1735187712,1735187967,BD
@@ -57800,9 +59031,7 @@
1735670784,1735671807,IN
1735671808,1735672831,CN
1735672832,1735673855,TW
-1735673856,1735674111,CN
-1735674112,1735674879,HK
-1735674880,1735675903,CN
+1735673856,1735675903,CN
1735675904,1735677951,IN
1735677952,1735678975,BD
1735678976,1735679999,CN
@@ -57839,7 +59068,8 @@
1735705600,1735706623,IN
1735706624,1735708159,ID
1735708160,1735708671,CN
-1735708672,1735709183,NZ
+1735708672,1735708927,AU
+1735708928,1735709183,NZ
1735709184,1735709439,ID
1735709440,1735709695,AU
1735709696,1735710719,HK
@@ -57982,7 +59212,7 @@
1735855104,1735857151,CN
1735857152,1735858175,BD
1735858176,1735859199,AF
-1735859200,1735860223,CN
+1735859200,1735860223,JP
1735860224,1735860735,AU
1735860736,1735860991,MY
1735860992,1735861247,IN
@@ -58276,7 +59506,7 @@
1736133376,1736133631,PK
1736133632,1736134655,IN
1736134656,1736135679,ID
-1736135680,1736135935,NP
+1736135680,1736135935,US
1736135936,1736136703,IN
1736136704,1736138751,CN
1736138752,1736139775,ID
@@ -58316,6 +59546,168 @@
1736175616,1736176639,TW
1736176640,1736178687,ID
1736178688,1736179711,TW
+1736179712,1736180735,JP
+1736180736,1736182015,ID
+1736182016,1736183807,IN
+1736183808,1736184831,JP
+1736184832,1736185855,TW
+1736185856,1736186879,CN
+1736186880,1736187903,TW
+1736187904,1736188927,BD
+1736188928,1736189439,AU
+1736189440,1736189951,IN
+1736189952,1736190975,TW
+1736190976,1736191999,ID
+1736192000,1736193023,CN
+1736193024,1736194047,BD
+1736194048,1736196095,VN
+1736196096,1736197119,CN
+1736197120,1736198143,ID
+1736198144,1736200191,TW
+1736200192,1736202239,IN
+1736202240,1736203263,ID
+1736203264,1736204287,VN
+1736204288,1736205311,NP
+1736205312,1736206335,KR
+1736206336,1736207103,IN
+1736207104,1736207359,US
+1736207360,1736207871,IN
+1736207872,1736208383,BD
+1736208384,1736210431,ID
+1736210432,1736211455,TW
+1736211456,1736211711,US
+1736211712,1736211967,AU
+1736211968,1736213503,US
+1736213504,1736214527,NZ
+1736214528,1736215551,ID
+1736215552,1736216575,IN
+1736216576,1736217599,ID
+1736217600,1736218623,TW
+1736218624,1736219391,IN
+1736219392,1736219647,HK
+1736219648,1736220159,IN
+1736220160,1736220671,MM
+1736220672,1736221695,ID
+1736221696,1736224767,IN
+1736224768,1736225791,TW
+1736225792,1736226815,BD
+1736226816,1736227327,IN
+1736227328,1736227583,GB
+1736227584,1736227839,TO
+1736227840,1736228863,ID
+1736228864,1736229887,HK
+1736229888,1736230911,ID
+1736230912,1736231935,JP
+1736231936,1736232959,IN
+1736232960,1736233983,TW
+1736233984,1736236031,CN
+1736236032,1736237055,ID
+1736237056,1736238079,BD
+1736238080,1736239103,ID
+1736239104,1736241151,BD
+1736241152,1736242175,IN
+1736242176,1736243199,ID
+1736243200,1736244223,BD
+1736244224,1736246271,TW
+1736246272,1736250367,ID
+1736250368,1736251391,CN
+1736251392,1736251647,BD
+1736251648,1736252415,NP
+1736252416,1736253439,BD
+1736253440,1736254463,SG
+1736254464,1736256511,ID
+1736256512,1736257535,CN
+1736257536,1736258815,ID
+1736258816,1736259071,IN
+1736259072,1736259583,BD
+1736259584,1736260607,ID
+1736260608,1736260863,PK
+1736260864,1736261631,IN
+1736261632,1736262655,TW
+1736262656,1736263679,PK
+1736263680,1736266239,IN
+1736266240,1736266495,TH
+1736266496,1736266751,SG
+1736266752,1736267775,MY
+1736267776,1736268799,BD
+1736268800,1736269823,TH
+1736269824,1736270847,BD
+1736270848,1736271871,AF
+1736271872,1736272895,ID
+1736272896,1736273919,KR
+1736273920,1736274687,IN
+1736274688,1736274943,HK
+1736274944,1736275967,ID
+1736275968,1736276991,BD
+1736276992,1736278015,JP
+1736278016,1736279039,IN
+1736279040,1736280063,CN
+1736280064,1736281087,BD
+1736281088,1736282623,PK
+1736282624,1736283135,US
+1736283136,1736284159,PH
+1736284160,1736284671,AU
+1736284672,1736285183,IN
+1736285184,1736286207,TW
+1736286208,1736287231,IN
+1736287232,1736288255,CN
+1736288256,1736289279,VN
+1736289280,1736290303,ID
+1736290304,1736291327,PK
+1736291328,1736292351,TW
+1736292352,1736292863,ID
+1736292864,1736293119,AF
+1736293120,1736293375,AU
+1736293376,1736295423,VN
+1736295424,1736296447,CN
+1736296448,1736296959,IN
+1736296960,1736297471,ID
+1736297472,1736298495,AU
+1736298496,1736300543,ID
+1736300544,1736301567,NL
+1736301568,1736302079,NZ
+1736302080,1736302335,AU
+1736302336,1736302591,ID
+1736302592,1736304639,TW
+1736304640,1736305663,VU
+1736305664,1736306687,CN
+1736306688,1736307711,PK
+1736307712,1736308735,AU
+1736308736,1736309759,CN
+1736309760,1736310783,BD
+1736310784,1736311807,CN
+1736311808,1736312319,AF
+1736312320,1736312831,IN
+1736312832,1736313855,ID
+1736313856,1736314879,BD
+1736314880,1736315903,CN
+1736315904,1736316927,BD
+1736316928,1736317183,HK
+1736317184,1736317951,AU
+1736317952,1736318975,ID
+1736318976,1736319999,IN
+1736320000,1736321023,BD
+1736321024,1736322047,IN
+1736322048,1736323071,CN
+1736323072,1736324095,BD
+1736324096,1736325119,AU
+1736325120,1736326143,ID
+1736326144,1736326655,BD
+1736326656,1736327167,IN
+1736327168,1736328191,KR
+1736328192,1736330239,IN
+1736330240,1736331263,BD
+1736331264,1736331775,AU
+1736331776,1736332031,SG
+1736332032,1736333311,ID
+1736333312,1736334335,TW
+1736334336,1736335359,HK
+1736335360,1736336383,BD
+1736336384,1736337407,CN
+1736337408,1736338431,MN
+1736338432,1736340479,BD
+1736340480,1736341759,ID
+1736342528,1736344575,CN
1736507392,1736508415,IN
1736508416,1736509439,ID
1736509440,1736510719,IN
@@ -58389,11 +59781,123 @@
1736589312,1736590335,IN
1736590336,1736590847,NZ
1736590848,1736591359,IN
+1736591360,1736592383,BD
1736592384,1736593407,NZ
1736593408,1736595455,TW
1736595456,1736596479,IN
1736596480,1736599551,TW
-1736599552,1736601599,IN
+1736599552,1736601343,IN
+1736601344,1736601599,AU
+1736601600,1736602623,BD
+1736602624,1736605695,TW
+1736605696,1736606719,ID
+1736606720,1736607743,CN
+1736607744,1736608767,ID
+1736608768,1736609791,KH
+1736609792,1736610815,TR
+1736610816,1736611839,MY
+1736611840,1736612095,CN
+1736612096,1736612351,MY
+1736612352,1736612863,AU
+1736612864,1736613887,PK
+1736613888,1736614911,CN
+1736614912,1736615935,ID
+1736615936,1736617983,BD
+1736617984,1736619007,PK
+1736619008,1736619519,TH
+1736619520,1736621055,ID
+1736621056,1736622079,IN
+1736622080,1736623103,ID
+1736623104,1736623615,BD
+1736623616,1736624127,ID
+1736624128,1736624383,HK
+1736624384,1736624639,IN
+1736624640,1736625151,SG
+1736625152,1736625663,IN
+1736625664,1736625919,ID
+1736625920,1736626175,NP
+1736626176,1736630271,VN
+1736630272,1736631295,ID
+1736631296,1736632319,CN
+1736632320,1736633343,JP
+1736633344,1736634367,PK
+1736634368,1736635391,ID
+1736635392,1736635903,AU
+1736635904,1736636415,IN
+1736636416,1736638463,TW
+1736638464,1736640511,ID
+1736640512,1736641535,PK
+1736641536,1736642559,AU
+1736642560,1736643583,ID
+1736643584,1736644607,CN
+1736644608,1736645631,IN
+1736645632,1736645887,AU
+1736645888,1736646143,ID
+1736646144,1736646655,NZ
+1736646656,1736647167,SG
+1736647168,1736647423,HK
+1736647424,1736647679,TH
+1736647680,1736648703,CN
+1736648704,1736649727,AU
+1736649728,1736650751,HK
+1736650752,1736651263,GB
+1736651264,1736651775,ID
+1736651776,1736652799,NZ
+1736652800,1736653823,TW
+1736653824,1736654079,IN
+1736654080,1736654335,ID
+1736654336,1736654847,WS
+1736654848,1736655871,TH
+1736655872,1736658943,VN
+1736658944,1736659455,BD
+1736659456,1736659711,US
+1736659712,1736659967,AU
+1736659968,1736660991,TW
+1736660992,1736662015,BD
+1736662016,1736662527,IN
+1736662528,1736662783,ID
+1736662784,1736663039,PH
+1736663040,1736664063,ID
+1736664064,1736665087,IN
+1736665088,1736665599,ID
+1736665600,1736665855,NZ
+1736665856,1736667135,ID
+1736667136,1736668159,TW
+1736668160,1736669183,ID
+1736669184,1736670207,JP
+1736670208,1736674303,TW
+1736674304,1736675327,MY
+1736675328,1736676351,BD
+1736676352,1736677375,TW
+1736677376,1736678399,CN
+1736678400,1736679423,BD
+1736679424,1736680191,AU
+1736680192,1736680447,SG
+1736680448,1736681471,KR
+1736681472,1736682495,CN
+1736682496,1736683519,TW
+1736683520,1736684543,CN
+1736684544,1736685055,BD
+1736685056,1736686591,IN
+1736686592,1736687615,SG
+1736687616,1736687871,PH
+1736687872,1736688127,NZ
+1736688128,1736688639,JP
+1736688640,1736689663,TW
+1736689664,1736690687,TH
+1736690688,1736691711,HK
+1736691712,1736692735,AU
+1736692736,1736693759,PK
+1736693760,1736694783,ID
+1736694784,1736695039,AU
+1736695040,1736695295,PH
+1736695296,1736695807,AU
+1736695808,1736697855,CN
+1736697856,1736698879,AU
+1736698880,1736699903,ID
+1736699904,1736700927,CN
+1736700928,1736701951,ID
+1736701952,1736703999,TW
1740636160,1740644351,CN
1740644352,1740645375,IN
1740645376,1740647423,HK
@@ -58417,7 +59921,9 @@
1740678144,1740679167,CN
1740679168,1740680447,IN
1740680448,1740680703,AU
-1740680960,1740681215,AU
+1740680960,1740681127,AU
+1740681128,1740681135,NZ
+1740681136,1740681215,AU
1740681216,1740681983,HK
1740681984,1740682239,AU
1740682240,1740683263,KH
@@ -58499,9 +60005,7 @@
1740786688,1740787711,SG
1740787712,1740788735,MY
1740788736,1740789759,KH
-1740789760,1740790015,AU
-1740790016,1740790271,IN
-1740790272,1740790783,AU
+1740789760,1740790783,IN
1740790784,1740791807,PK
1740791808,1740792831,IN
1740792832,1740794879,HK
@@ -58819,7 +60323,9 @@
1741186048,1741188607,IN
1741188608,1741188863,US
1741188864,1741189119,IN
-1741189120,1741191167,HK
+1741189120,1741189887,HK
+1741189888,1741190143,JP
+1741190144,1741191167,HK
1741191168,1741192191,VN
1741192192,1741193215,HK
1741193216,1741194239,ID
@@ -58991,7 +60497,7 @@
1741532160,1741533183,IN
1741533184,1741534207,PK
1741534208,1741535231,BD
-1741535232,1741535487,JP
+1741535232,1741535487,HK
1741535744,1741536255,SG
1741536256,1741540351,CN
1741540352,1741541375,AU
@@ -59133,9 +60639,9 @@
1741724416,1741724671,AU
1741724672,1741725695,IN
1741725696,1741726719,ID
-1741726720,1741726975,NZ
+1741726720,1741726975,AU
1741726976,1741727231,US
-1741727232,1741727743,NZ
+1741727232,1741727743,AU
1741727744,1741729791,IN
1741729792,1741730815,SG
1741730816,1741731839,BD
@@ -59231,9 +60737,11 @@
1741816832,1741817855,PK
1741817856,1741818367,PH
1741818368,1741818879,AU
-1741818880,1741819903,PK
+1741818880,1741819391,BR
+1741819392,1741819647,LA
+1741819648,1741819903,KH
1741819904,1741820927,BD
-1741820928,1741821951,CN
+1741820928,1741821951,HK
1741821952,1741822975,AU
1741822976,1741824511,IN
1741824512,1741825023,ID
@@ -59439,15 +60947,15 @@
1742080000,1742081023,VN
1742081024,1742082047,PH
1742082048,1742083071,HK
-1742083072,1742083327,AU
-1742083328,1742084095,IN
+1742083072,1742084095,AU
1742084096,1742085119,KR
1742085120,1742086143,AU
1742086144,1742087167,CN
1742087168,1742088191,JP
1742088448,1742088703,HK
1742088704,1742089215,AU
-1742089216,1742089727,IN
+1742089216,1742089471,GB
+1742089472,1742089727,IN
1742089728,1742090239,GB
1742090240,1742091263,CN
1742091264,1742092287,ID
@@ -59485,7 +60993,7 @@
1742121984,1742123007,HK
1742123008,1742123263,AU
1742123264,1742124031,IN
-1742124032,1742125055,SG
+1742124032,1742125055,NL
1742125056,1742126079,ID
1742126080,1742127103,IN
1742127104,1742128127,HK
@@ -59569,7 +61077,6 @@
1742231552,1742233599,IN
1742233600,1742234111,TH
1742234112,1742234367,IN
-1742234368,1742234623,US
1742234624,1742235647,HK
1742235648,1742236671,PK
1742236672,1742237695,CN
@@ -59581,13 +61088,16 @@
1742244864,1742247935,IN
1742247936,1742248959,CN
1742248960,1742249983,IN
-1742249984,1742250239,AF
+1742249984,1742250145,DE
+1742250146,1742250146,IT
+1742250147,1742250239,DE
1742250240,1742257151,IN
1742257152,1742257407,ID
1742257408,1742257663,NZ
1742257664,1742258175,AU
1742258176,1742259199,US
-1742259200,1742260223,AU
+1742259200,1742259455,HK
+1742259456,1742260223,AU
1742260224,1742260735,IN
1742260736,1742261247,KR
1742261248,1742264319,IN
@@ -59662,8 +61172,7 @@
1742423040,1742424063,PH
1742424064,1742425343,ID
1742425344,1742425599,US
-1742425600,1742425855,CA
-1742425856,1742426111,US
+1742425600,1742426111,CA
1742426112,1742427135,HK
1742427136,1742432255,CN
1742432256,1742433279,HK
@@ -59743,10 +61252,9 @@
1742559232,1742589951,CN
1742589952,1742590975,IN
1742590976,1742596095,VN
-1742596096,1742596351,NZ
+1742596096,1742596351,JP
1742596352,1742596607,IN
-1742596608,1742596863,NZ
-1742596864,1742597119,IN
+1742596608,1742597119,JP
1742598144,1742599167,SG
1742599168,1742599423,IN
1742599424,1742599679,AU
@@ -59849,7 +61357,8 @@
1742817280,1742818815,IN
1742818816,1742819327,KH
1742819328,1742820351,JP
-1742820352,1742821375,CN
+1742820352,1742820607,HK
+1742820608,1742821375,CN
1742821376,1742822399,ID
1742822400,1742823423,BD
1742823424,1742823679,AU
@@ -59963,8 +61472,8 @@
1742935040,1742938111,AU
1742938112,1742939135,TW
1742939136,1742940159,IN
-1742940160,1742940671,JP
-1742940672,1742942207,PH
+1742940160,1742941183,JP
+1742941184,1742942207,PH
1742942208,1742943231,CN
1742943232,1742945279,IN
1742945280,1742945791,AU
@@ -59972,9 +61481,8 @@
1742946048,1742947327,AU
1742947328,1742948351,IN
1742948352,1742951423,CN
-1742951424,1742952703,HK
-1742952704,1742952959,SG
-1742952960,1742953471,HK
+1742951424,1742952447,HK
+1742952448,1742953471,SG
1742954496,1742955519,IN
1742955520,1742956543,CN
1742956544,1742957567,HK
@@ -60043,7 +61551,8 @@
1743021312,1743021567,NZ
1743021568,1743021823,PH
1743022080,1743023103,US
-1743023104,1743024127,HK
+1743023104,1743023615,HK
+1743023616,1743024127,KR
1743024128,1743025151,IN
1743025152,1743026175,ID
1743026176,1743027199,BD
@@ -60187,8 +61696,8 @@
1743158272,1743159295,MY
1743160320,1743161343,TH
1743161344,1743162367,HK
-1743162368,1743162623,AU
-1743162624,1743162879,BZ
+1743162368,1743162623,BZ
+1743162624,1743162879,AQ
1743162880,1743163135,KR
1743163136,1743163391,BZ
1743163392,1743166463,IN
@@ -60390,7 +61899,9 @@
1743364096,1743364607,IN
1743365120,1743366143,HK
1743366144,1743367167,IN
-1743367168,1743368191,SG
+1743367168,1743367679,SG
+1743367680,1743367935,ID
+1743367936,1743368191,SG
1743369216,1743369727,MY
1743369728,1743369983,NP
1743369984,1743370239,AF
@@ -60411,7 +61922,8 @@
1743384576,1743385087,SG
1743385088,1743385343,AU
1743385344,1743386623,IN
-1743386624,1743388671,HK
+1743386624,1743388159,HK
+1743388160,1743388671,SG
1743388672,1743389695,CN
1743389696,1743390719,KR
1743390720,1743391743,HK
@@ -60591,8 +62103,7 @@
1743619840,1743620095,IN
1743620096,1743621119,AU
1743621120,1743621631,ID
-1743621632,1743621887,FR
-1743621888,1743622143,SG
+1743621632,1743622143,SG
1743622144,1743624191,VN
1743624192,1743625215,CN
1743625216,1743626239,IN
@@ -60779,7 +62290,7 @@
1743873024,1743874047,AU
1743874048,1743874303,JP
1743874304,1743875071,SG
-1743875072,1743876095,HK
+1743875072,1743876095,KZ
1743876096,1743877119,IN
1743877120,1743878143,KR
1743878144,1743879167,NZ
@@ -60885,7 +62396,9 @@
1743985664,1743990783,IN
1743990784,1743991807,ID
1743991808,1743994879,IN
-1743994880,1743995903,AU
+1743994880,1743995583,AU
+1743995584,1743995647,MU
+1743995648,1743995903,AU
1743995904,1743997951,IN
1743997952,1743999999,BD
1744000000,1744001023,AU
@@ -60962,10 +62475,11 @@
1744077824,1744078847,PK
1744078848,1744079871,VN
1744079872,1744080895,BD
-1744080896,1744080961,DE
-1744080962,1744080962,AF
-1744080963,1744081151,DE
-1744081152,1744081919,AF
+1744080896,1744080988,AF
+1744080989,1744080989,DE
+1744080990,1744081219,AF
+1744081220,1744081220,IT
+1744081221,1744081919,AF
1744081920,1744082943,HK
1744082944,1744083711,US
1744083712,1744083967,IN
@@ -61031,7 +62545,6 @@
1744147200,1744147455,IN
1744147456,1744148479,VN
1744148480,1744149503,AU
-1744149504,1744150527,IN
1744150528,1744151551,TO
1744151552,1744152319,LA
1744152320,1744152575,TH
@@ -61167,7 +62680,9 @@
1744275456,1744278527,HK
1744278528,1744279551,IN
1744279552,1744280575,NZ
-1744280576,1744283647,HK
+1744280576,1744282367,HK
+1744282368,1744282623,AU
+1744282624,1744283647,HK
1744283648,1744286719,CN
1744286720,1744286975,SG
1744286976,1744287231,JP
@@ -61314,8 +62829,7 @@
1744434176,1744435199,CN
1744435200,1744436223,IN
1744436224,1744437247,CN
-1744437248,1744438015,KI
-1744438016,1744438271,AU
+1744437248,1744438271,KI
1744438272,1744439295,HK
1744439296,1744439807,AU
1744439808,1744440319,IN
@@ -61696,9 +63210,7 @@
1747235840,1747236863,CA
1747236864,1747247615,US
1747247616,1747247871,JM
-1747247872,1747248127,US
-1747248128,1747249151,NL
-1747249152,1747255807,US
+1747247872,1747255807,US
1747255808,1747256063,PR
1747256064,1747256319,US
1747256320,1747256575,IE
@@ -61888,12 +63400,9 @@
1747852288,1747853311,AU
1747853312,1747861503,NL
1747861504,1747869695,IE
-1747869696,1747877887,US
-1747877888,1747886079,SG
-1747886080,1747894271,HK
-1747894272,1747898367,US
+1747869696,1747898367,US
1747898368,1747906559,JP
-1747906560,1747910655,AU
+1747906560,1747910655,US
1747910656,1747910911,FI
1747910912,1747911167,AT
1747911168,1747911423,IE
@@ -61943,21 +63452,17 @@
1749028864,1749037055,NL
1749037056,1749061631,US
1749061632,1749065727,NL
-1749065728,1749094399,US
-1749094400,1749098495,NL
-1749098496,1749172223,US
+1749065728,1749172223,US
1749172224,1749188607,NL
1749188608,1749196799,US
1749196800,1749204991,NL
-1749204992,1749221375,US
-1749221376,1749229567,NL
+1749204992,1749225471,US
+1749225472,1749229567,NL
1749229568,1749327871,US
1749327872,1749336063,NL
1749336064,1749340159,US
1749340160,1749344255,NL
-1749344256,1749364735,US
-1749364736,1749368831,NL
-1749368832,1749372927,US
+1749344256,1749372927,US
1749372928,1749381119,NL
1749381120,1749397503,US
1749397504,1749406719,NL
@@ -62014,8 +63519,8 @@
1749818368,1749819391,US
1749819392,1749827583,NL
1749827584,1749862399,US
-1749862400,1749863167,NL
-1749863168,1749863679,US
+1749862400,1749862911,NL
+1749862912,1749863679,US
1749863680,1749864191,NL
1749864192,1749864703,US
1749864704,1749865215,NL
@@ -62027,9 +63532,7 @@
1749867776,1749868031,NL
1749868032,1749931007,US
1749931008,1749932031,NL
-1749932032,1749934079,US
-1749934080,1749942271,NL
-1749942272,1749983231,US
+1749932032,1749983231,US
1749983232,1749987327,NL
1749987328,1750079999,US
1750080000,1750080511,NL
@@ -62071,15 +63574,15 @@
1750372352,1750373375,NL
1750373376,1750374399,US
1750374400,1750374911,NL
-1750374912,1750376447,US
-1750376448,1750392831,NL
-1750392832,1750405119,US
+1750374912,1750384639,US
+1750384640,1750388735,NL
+1750388736,1750405119,US
1750405120,1750413311,NL
1750413312,1750413823,US
1750413824,1750415359,NL
1750415360,1750417407,US
-1750417408,1750425599,NL
-1750425600,1750443519,US
+1750417408,1750421503,NL
+1750421504,1750443519,US
1750443520,1750444031,NL
1750444032,1750446079,US
1750446080,1750450175,NL
@@ -62089,8 +63592,8 @@
1750494720,1750503423,NL
1750503424,1750523903,US
1750523904,1750533119,NL
-1750533120,1750536191,US
-1750536192,1750544383,NL
+1750533120,1750540287,US
+1750540288,1750544383,NL
1750544384,1750573055,US
1750573056,1750581247,NL
1750581248,1750585343,US
@@ -62099,14 +63602,16 @@
1750664192,1750665215,NL
1750665216,1750667263,US
1750667264,1750675455,NL
-1750675456,1750694911,US
+1750675456,1750679551,US
+1750679552,1750687743,NL
+1750687744,1750694911,US
1750694912,1750695423,NL
-1750695424,1750706175,US
-1750706176,1750706687,NL
+1750695424,1750705151,US
+1750705152,1750706687,NL
1750706688,1750708223,US
1750708224,1750716415,NL
-1750716416,1750755327,US
-1750755328,1750757375,NL
+1750716416,1750754815,US
+1750754816,1750757375,NL
1750757376,1750761471,US
1750761472,1750778367,NL
1750778368,1750781439,US
@@ -62134,7 +63639,9 @@
1751040512,1751104511,US
1751104512,1751105023,NL
1751105024,1751121919,US
-1751121920,1751124479,NL
+1751121920,1751122431,NL
+1751122432,1751122943,US
+1751122944,1751124479,NL
1751124480,1751125503,US
1751125504,1751134207,NL
1751134208,1751144959,US
@@ -62158,11 +63665,12 @@
1751510016,1751521279,NL
1751521280,1751523327,US
1751523328,1751531519,NL
-1751531520,1751597055,US
-1751597056,1751599103,GB
-1751599104,1751638015,NL
-1751638016,1751646207,GB
-1751646208,1751650303,NL
+1751531520,1751598847,US
+1751598848,1751640319,NL
+1751640320,1751641087,US
+1751641088,1751641599,NL
+1751641600,1751642111,US
+1751642112,1751650303,NL
1751650304,1751682047,US
1751682048,1751683071,NL
1751683072,1751691263,US
@@ -62179,8 +63687,11 @@
1751875584,1751883775,NL
1751883776,1751884799,US
1751884800,1751885823,NL
-1751885824,1751891967,US
-1751891968,1751900159,DE
+1751885824,1751896575,US
+1751896576,1751896831,NL
+1751896832,1751897087,US
+1751897088,1751899135,NL
+1751899136,1751900159,US
1751900160,1751912447,NL
1751912448,1751916543,US
1751916544,1751928831,NL
@@ -62207,9 +63718,7 @@
1752330240,1752338431,NL
1752338432,1752344831,US
1752344832,1752345087,NL
-1752345088,1752458239,US
-1752458240,1752458495,NL
-1752458496,1752495103,US
+1752345088,1752495103,US
1752495104,1752495359,NL
1752495360,1752568575,US
1752568576,1752568831,NL
@@ -62217,11 +63726,11 @@
1752618496,1752619007,NL
1752619008,1752619263,US
1752619264,1752619519,NL
-1752619520,1752674303,US
+1752619520,1752637951,US
+1752637952,1752638463,NL
+1752638464,1752674303,US
1752674304,1752675327,AE
-1752675328,1752675839,US
-1752675840,1752676351,NL
-1752676352,1752730111,US
+1752675328,1752730111,US
1752730112,1752730367,NL
1752730368,1752750079,US
1752750080,1752751615,NL
@@ -62320,80 +63829,150 @@
1753483264,1753483519,IE
1753483520,1753483775,IL
1753483776,1753484031,PH
-1753484032,1753484607,US
-1753484608,1753484655,BR
-1753484656,1753485567,US
-1753485568,1753485823,GH
-1753485824,1753487359,US
+1753484032,1753484543,US
+1753484544,1753484799,BR
+1753484800,1753485567,US
+1753485568,1753485823,PL
+1753485824,1753486079,DE
+1753486080,1753486335,US
+1753486336,1753486591,IN
+1753486592,1753486847,IE
+1753486848,1753487359,US
1753487360,1753487615,CH
1753487616,1753487871,GB
-1753487872,1753489407,US
-1753489408,1753489663,GB
+1753487872,1753488127,NG
+1753488128,1753488383,SE
+1753488384,1753488639,GB
+1753488640,1753489151,US
+1753489152,1753489407,PL
+1753489408,1753489663,AE
1753489664,1753489919,HK
1753489920,1753490175,US
1753490176,1753490431,AU
1753490432,1753490687,IL
-1753490688,1753491455,US
-1753491456,1753492479,NL
-1753492480,1753493503,GB
-1753493504,1753494015,US
+1753490688,1753490943,US
+1753490944,1753491199,KE
+1753491200,1753491455,KR
+1753491456,1753491711,NL
+1753491712,1753491967,US
+1753491968,1753492223,TW
+1753492224,1753492479,UA
+1753492480,1753492991,GB
+1753492992,1753493503,US
+1753493504,1753493759,MY
+1753493760,1753494015,US
1753494016,1753494271,NL
1753494272,1753494527,US
1753494528,1753494783,IL
-1753494784,1753496575,US
-1753496576,1753497407,CA
+1753494784,1753495039,US
+1753495040,1753495295,RU
+1753495296,1753495551,GB
+1753495552,1753495807,US
+1753495808,1753496063,AR
+1753496064,1753496319,IN
+1753496320,1753496831,US
+1753496832,1753497087,DE
+1753497088,1753497343,CA
+1753497344,1753497407,US
1753497408,1753497455,PH
-1753497456,1753497599,CA
-1753497600,1753499391,US
+1753497456,1753497599,US
+1753497600,1753497855,RU
+1753497856,1753498623,US
+1753498624,1753499135,BR
+1753499136,1753499391,US
1753499392,1753499647,PH
1753499648,1753499903,AE
1753499904,1753500159,US
1753500160,1753500415,SK
-1753500416,1753500991,US
-1753500992,1753501039,CA
-1753501040,1753501951,US
+1753500416,1753500927,US
+1753500928,1753501183,CA
+1753501184,1753501951,US
1753501952,1753502207,PT
1753502208,1753502975,US
1753502976,1753503231,AU
-1753503232,1753503551,US
+1753503232,1753503487,FR
+1753503488,1753503551,US
1753503552,1753503599,PE
-1753503600,1753507391,US
-1753507392,1753507439,KR
-1753507440,1753510911,US
-1753510912,1753511423,FR
+1753503600,1753505535,US
+1753505536,1753505791,CH
+1753505792,1753507327,US
+1753507328,1753507583,KR
+1753507584,1753510655,US
+1753510656,1753510911,MY
+1753510912,1753511167,GB
+1753511168,1753511423,FR
1753511424,1753511679,US
1753511680,1753511935,BR
1753511936,1753512703,US
1753512704,1753512959,SG
1753512960,1753513983,US
-1753513984,1753516031,AU
+1753513984,1753514239,MY
+1753514240,1753514495,JP
+1753514496,1753514751,CA
+1753514752,1753515007,US
+1753515008,1753515263,BE
+1753515264,1753515775,AU
+1753515776,1753516031,TH
1753516032,1753516543,US
1753516544,1753516799,ES
1753516800,1753517567,US
1753517568,1753517823,NO
-1753517824,1753518591,US
+1753517824,1753518079,US
+1753518080,1753518335,IT
+1753518336,1753518591,US
1753518592,1753518847,JP
-1753518848,1753520127,US
-1753520128,1753520639,GB
-1753520640,1753522431,US
+1753518848,1753519615,US
+1753519616,1753519871,TW
+1753519872,1753520127,DE
+1753520128,1753520383,KR
+1753520384,1753520639,GB
+1753520640,1753521919,US
+1753521920,1753522175,IN
+1753522176,1753522431,CO
1753522432,1753522687,FR
-1753522688,1753523807,US
+1753522688,1753522943,PL
+1753522944,1753523807,US
1753523808,1753523823,DE
-1753523824,1753526015,US
+1753523824,1753523967,US
+1753523968,1753524223,GR
+1753524224,1753524479,TR
+1753524480,1753524735,IE
+1753524736,1753524991,US
+1753524992,1753525247,GB
+1753525248,1753526015,US
1753526016,1753526271,DE
-1753526272,1753527039,US
+1753526272,1753526783,US
+1753526784,1753527039,FI
1753527040,1753527295,NL
-1753527296,1753528319,US
+1753527296,1753527551,DK
+1753527552,1753527807,IN
+1753527808,1753528319,US
1753528320,1753528575,AR
1753528576,1753528831,CA
1753528832,1753529087,AR
1753529088,1753529343,NZ
-1753529344,1753530367,PL
-1753530368,1753532415,US
+1753529344,1753529599,HU
+1753529600,1753529855,PL
+1753529856,1753530623,US
+1753530624,1753531135,TW
+1753531136,1753531391,US
+1753531392,1753531647,IN
+1753531648,1753531903,US
+1753531904,1753532159,IT
+1753532160,1753532415,US
1753532416,1753532671,JP
-1753532672,1753536511,US
-1753536512,1753537535,PH
-1753537536,1753538815,US
+1753532672,1753533183,US
+1753533184,1753533439,CZ
+1753533440,1753533695,PT
+1753533696,1753534463,US
+1753534464,1753534719,DK
+1753534720,1753535743,US
+1753535744,1753535999,TW
+1753536000,1753536255,US
+1753536256,1753536511,FI
+1753536512,1753536767,US
+1753536768,1753537023,IN
+1753537024,1753538815,US
1753538816,1753539071,PH
1753539072,1753539327,US
1753539328,1753539583,IE
@@ -62403,17 +63982,45 @@
1753541632,1753541887,DE
1753541888,1753542399,US
1753542400,1753542655,TW
-1753542656,1753549823,US
+1753542656,1753543167,US
+1753543168,1753543423,DE
+1753543424,1753544191,US
+1753544192,1753544447,DE
+1753544448,1753548287,US
+1753548288,1753548543,BE
+1753548544,1753549311,US
+1753549312,1753549567,IN
+1753549568,1753549823,US
1753549824,1753550079,IE
1753550080,1753550591,US
1753550592,1753550847,TW
1753550848,1753551103,US
-1753551104,1753551359,TW
-1753551360,1753645055,US
-1753645056,1753645063,NL
-1753645064,1753735167,US
+1753551104,1753551615,TW
+1753551616,1753613311,US
+1753613312,1753613823,DE
+1753613824,1753614847,US
+1753614848,1753615359,TW
+1753615360,1753615871,US
+1753615872,1753616383,IN
+1753616384,1753617663,US
+1753617664,1753617919,DE
+1753617920,1753618431,US
+1753618432,1753618687,IN
+1753618688,1753619199,US
+1753619200,1753619455,TW
+1753619456,1753645055,US
+1753645056,1753645567,NL
+1753645568,1753673727,US
+1753673728,1753673983,GB
+1753673984,1753674239,US
+1753674240,1753674247,IL
+1753674248,1753735167,US
1753735168,1753743359,IE
-1753743360,1754038079,US
+1753743360,1754031167,US
+1754031168,1754031231,NL
+1754031232,1754031871,US
+1754031872,1754032127,NL
+1754032128,1754038079,US
1754038080,1754038143,PL
1754038144,1754136575,US
1754136576,1754169343,CA
@@ -62476,115 +64083,119 @@
1754258432,1754258687,MG
1754258688,1754258943,US
1754258944,1754259199,TN
-1754259200,1754267911,US
-1754267912,1754267935,CA
-1754267936,1754267951,US
-1754267952,1754267959,FI
+1754259200,1754267903,US
+1754267904,1754267935,CA
+1754267936,1754267943,US
+1754267944,1754267959,CA
1754267960,1754267991,US
-1754267992,1754267999,CA
-1754268000,1754268015,US
-1754268016,1754268039,CA
-1754268040,1754268047,US
-1754268048,1754268063,CA
+1754267992,1754268063,CA
1754268064,1754268079,US
1754268080,1754268095,CA
1754268096,1754268159,US
-1754268160,1754268927,CA
-1754268928,1754269087,US
+1754268160,1754268991,CA
+1754268992,1754269087,US
1754269088,1754269103,CA
-1754269104,1754269183,US
-1754269184,1754269199,CA
-1754269200,1754269215,US
-1754269216,1754269247,CA
-1754269248,1754269423,US
-1754269424,1754269431,CA
-1754269432,1754269471,US
-1754269472,1754269535,CA
-1754269536,1754269599,US
-1754269600,1754269607,CA
-1754269608,1754269695,US
-1754269696,1754269951,CA
-1754269952,1754270719,US
-1754270720,1754270911,CA
-1754270912,1754270975,US
-1754270976,1754271039,CA
-1754271040,1754271103,US
-1754271104,1754271135,CA
-1754271136,1754272159,US
+1754269104,1754269119,US
+1754269120,1754269151,CA
+1754269152,1754269183,US
+1754269184,1754269247,CA
+1754269248,1754269311,US
+1754269312,1754269327,CA
+1754269328,1754269343,US
+1754269344,1754269359,CA
+1754269360,1754269423,US
+1754269424,1754269567,CA
+1754269568,1754269599,US
+1754269600,1754269615,CA
+1754269616,1754269631,US
+1754269632,1754269647,CA
+1754269648,1754269663,US
+1754269664,1754269951,CA
+1754269952,1754270207,US
+1754270208,1754270463,CA
+1754270464,1754270719,US
+1754270720,1754271135,CA
+1754271136,1754272127,US
+1754272128,1754272143,CA
+1754272144,1754272159,US
1754272160,1754272191,CA
1754272192,1754272207,US
1754272208,1754272223,CA
1754272224,1754272255,US
1754272256,1754272383,CA
-1754272384,1754272479,US
+1754272384,1754272415,US
+1754272416,1754272431,CA
+1754272432,1754272479,US
1754272480,1754272495,CA
1754272496,1754272511,US
-1754272512,1754272639,CA
-1754272640,1754272671,US
+1754272512,1754272655,CA
+1754272656,1754272671,US
1754272672,1754272703,CA
1754272704,1754272719,US
-1754272720,1754272727,CA
-1754272728,1754272975,US
+1754272720,1754272735,CA
+1754272736,1754272895,US
+1754272896,1754272927,CA
+1754272928,1754272975,US
1754272976,1754272991,CA
1754272992,1754273023,US
-1754273024,1754273055,CA
-1754273056,1754273183,US
-1754273184,1754273191,CA
-1754273192,1754273279,US
+1754273024,1754273151,CA
+1754273152,1754273183,US
+1754273184,1754273199,CA
+1754273200,1754273247,US
+1754273248,1754273263,CA
+1754273264,1754273279,US
1754273280,1754273407,CA
1754273408,1754273439,US
-1754273440,1754273447,CA
-1754273448,1754273535,US
-1754273536,1754273791,CA
-1754273792,1754273871,US
-1754273872,1754273879,CA
-1754273880,1754274175,US
+1754273440,1754273455,CA
+1754273456,1754273487,US
+1754273488,1754273535,CA
+1754273536,1754273791,GB
+1754273792,1754273839,CA
+1754273840,1754273871,US
+1754273872,1754273887,CA
+1754273888,1754274175,US
1754274176,1754274303,CA
-1754274304,1754275023,US
+1754274304,1754274943,US
+1754274944,1754274959,CA
+1754274960,1754274991,US
+1754274992,1754275007,CA
+1754275008,1754275023,US
1754275024,1754275039,CA
1754275040,1754275199,US
1754275200,1754275839,CA
-1754275840,1754276095,US
+1754275840,1754275967,US
+1754275968,1754276031,CA
+1754276032,1754276095,US
1754276096,1754276127,CA
1754276128,1754276159,US
1754276160,1754276223,CA
1754276224,1754276287,US
1754276288,1754276351,CA
1754276352,1754276607,US
-1754276608,1754276631,CA
-1754276632,1754276635,US
-1754276636,1754276671,CA
-1754276672,1754276675,US
-1754276676,1754276687,CA
-1754276688,1754276691,US
-1754276692,1754276751,CA
-1754276752,1754276755,US
-1754276756,1754276863,CA
-1754276864,1754277631,US
-1754277632,1754277887,CA
-1754277888,1754278015,US
-1754278016,1754278271,CA
-1754278272,1754278911,US
-1754278912,1754279167,CA
-1754279168,1754279295,US
-1754279296,1754279327,CA
-1754279328,1754279359,US
-1754279360,1754279679,CA
-1754279680,1754280959,US
-1754280960,1754281223,CA
-1754281224,1754281231,NO
-1754281232,1754281279,CA
+1754276608,1754276863,CA
+1754276864,1754277375,US
+1754277376,1754278399,CA
+1754278400,1754278911,US
+1754278912,1754279231,CA
+1754279232,1754279295,US
+1754279296,1754279935,CA
+1754279936,1754280447,US
+1754280448,1754280703,CA
+1754280704,1754280959,US
+1754280960,1754281279,CA
1754281280,1754281343,US
-1754281344,1754281359,CA
-1754281360,1754281375,US
-1754281376,1754281407,CA
-1754281408,1754281471,US
-1754281472,1754281535,CA
-1754281536,1754281983,US
+1754281344,1754281407,CA
+1754281408,1754281455,US
+1754281456,1754281535,CA
+1754281536,1754281663,US
+1754281664,1754281727,CA
+1754281728,1754281983,US
1754281984,1754282495,CA
1754282496,1754282751,US
-1754282752,1754282815,CA
-1754282816,1754282959,US
+1754282752,1754282895,CA
+1754282896,1754282927,US
+1754282928,1754282943,CA
+1754282944,1754282959,US
1754282960,1754282967,CA
1754282968,1754282975,SE
1754282976,1754283519,US
@@ -62595,49 +64206,73 @@
1754284736,1754284799,CA
1754284800,1754285055,US
1754285056,1754285151,CA
-1754285152,1754285175,US
-1754285176,1754285183,CA
-1754285184,1754285247,US
-1754285248,1754285311,CA
-1754285312,1754285567,US
-1754285568,1754285919,CA
-1754285920,1754286015,US
+1754285152,1754285167,US
+1754285168,1754285951,CA
+1754285952,1754286015,US
1754286016,1754286079,CA
1754286080,1754286335,US
1754286336,1754286591,CA
1754286592,1754286847,US
1754286848,1754287359,CA
-1754287360,1754288159,US
+1754287360,1754287615,US
+1754287616,1754287871,CA
+1754287872,1754288127,US
+1754288128,1754288143,CA
+1754288144,1754288159,US
1754288160,1754288191,CA
1754288192,1754288207,US
-1754288208,1754288215,CA
-1754288216,1754288383,US
+1754288208,1754288223,CA
+1754288224,1754288239,US
+1754288240,1754288255,CA
+1754288256,1754288383,US
1754288384,1754288447,CA
1754288448,1754288575,US
-1754288576,1754288895,CA
-1754288896,1754289055,US
+1754288576,1754288639,CA
+1754288640,1754288895,US
+1754288896,1754288911,CA
+1754288912,1754288927,US
+1754288928,1754288943,CA
+1754288944,1754288991,US
+1754288992,1754289007,CA
+1754289008,1754289055,US
1754289056,1754289071,CA
-1754289072,1754289407,US
+1754289072,1754289087,US
+1754289088,1754289151,CA
+1754289152,1754289407,US
1754289408,1754289471,CA
1754289472,1754289487,US
1754289488,1754289495,CA
1754289496,1754289503,NO
-1754289504,1754289919,US
+1754289504,1754289519,US
+1754289520,1754289535,CA
+1754289536,1754289919,US
1754289920,1754290175,CA
-1754290176,1754290591,US
-1754290592,1754290599,CA
-1754290600,1754291023,US
-1754291024,1754291031,CA
-1754291032,1754291135,US
-1754291136,1754291455,CA
-1754291456,1754291535,US
-1754291536,1754291543,CA
-1754291544,1754291711,US
+1754290176,1754290447,US
+1754290448,1754290479,CA
+1754290480,1754290511,US
+1754290512,1754290527,CA
+1754290528,1754290543,US
+1754290544,1754290559,CA
+1754290560,1754290591,US
+1754290592,1754290607,CA
+1754290608,1754290623,US
+1754290624,1754290687,CA
+1754290688,1754290975,US
+1754290976,1754290991,CA
+1754290992,1754291023,US
+1754291024,1754291039,CA
+1754291040,1754291103,US
+1754291104,1754291119,CA
+1754291120,1754291135,US
+1754291136,1754291471,CA
+1754291472,1754291503,US
+1754291504,1754291519,CA
+1754291520,1754291535,US
+1754291536,1754291551,CA
+1754291552,1754291711,US
1754291712,1754292031,CA
-1754292032,1754292127,US
-1754292128,1754292143,CA
-1754292144,1754292151,US
-1754292152,1754292543,CA
+1754292032,1754292095,US
+1754292096,1754292543,CA
1754292544,1754292607,US
1754292608,1754292639,CA
1754292640,1754292671,US
@@ -62646,72 +64281,96 @@
1754293248,1754293343,CA
1754293344,1754293439,US
1754293440,1754294015,CA
-1754294016,1754294095,US
+1754294016,1754294063,US
+1754294064,1754294079,CA
+1754294080,1754294095,US
1754294096,1754294111,CA
-1754294112,1754294783,US
-1754294784,1754294943,CA
-1754294944,1754294975,US
+1754294112,1754294127,US
+1754294128,1754294143,CA
+1754294144,1754294271,US
+1754294272,1754294527,CA
+1754294528,1754294655,US
+1754294656,1754294943,CA
+1754294944,1754294959,US
+1754294960,1754294967,CA
+1754294968,1754294975,US
1754294976,1754295039,CA
1754295040,1754295295,US
1754295296,1754295551,CA
-1754295552,1754296023,US
-1754296024,1754296031,CA
+1754295552,1754295807,US
+1754295808,1754295951,CA
+1754295952,1754295983,US
+1754295984,1754295999,CA
+1754296000,1754296015,US
+1754296016,1754296031,CA
1754296032,1754296319,US
-1754296320,1754296343,CA
-1754296344,1754296351,US
-1754296352,1754296383,CA
+1754296320,1754296383,CA
1754296384,1754296407,US
1754296408,1754296415,CA
-1754296416,1754296831,US
+1754296416,1754296527,US
+1754296528,1754296543,CA
+1754296544,1754296831,US
1754296832,1754297471,CA
1754297472,1754297487,US
-1754297488,1754297495,CA
-1754297496,1754297583,US
+1754297488,1754297503,CA
+1754297504,1754297535,US
+1754297536,1754297551,CA
+1754297552,1754297583,US
1754297584,1754297855,CA
1754297856,1754298111,US
-1754298112,1754298143,CA
-1754298144,1754298367,US
+1754298112,1754298303,CA
+1754298304,1754298367,US
1754298368,1754298623,CA
1754298624,1754299391,US
1754299392,1754299647,CA
-1754299648,1754299711,US
-1754299712,1754299775,CA
+1754299648,1754299695,US
+1754299696,1754299775,CA
1754299776,1754299791,US
1754299792,1754299839,CA
1754299840,1754299903,US
1754299904,1754300543,CA
1754300544,1754300575,US
-1754300576,1754300583,CA
-1754300584,1754300655,US
-1754300656,1754300671,CA
-1754300672,1754300759,US
-1754300760,1754300767,CA
-1754300768,1754301439,US
+1754300576,1754300591,CA
+1754300592,1754300639,US
+1754300640,1754300671,CA
+1754300672,1754300751,US
+1754300752,1754300767,CA
+1754300768,1754300783,US
+1754300784,1754300799,CA
+1754300800,1754300879,US
+1754300880,1754300895,CA
+1754300896,1754301439,US
1754301440,1754301695,CA
1754301696,1754302719,US
1754302720,1754303231,CA
1754303232,1754303247,US
-1754303248,1754303263,CA
-1754303264,1754303295,US
-1754303296,1754303319,CA
-1754303320,1754303327,US
-1754303328,1754303359,CA
-1754303360,1754303487,US
+1754303248,1754303359,CA
+1754303360,1754303375,US
+1754303376,1754303391,CA
+1754303392,1754303487,US
1754303488,1754303551,CA
1754303552,1754303567,US
1754303568,1754303575,CA
1754303576,1754303679,US
1754303680,1754303999,CA
-1754304000,1754304791,US
-1754304792,1754304799,CA
-1754304800,1754304991,US
+1754304000,1754304783,US
+1754304784,1754304799,CA
+1754304800,1754304895,US
+1754304896,1754304911,CA
+1754304912,1754304943,US
+1754304944,1754304959,CA
+1754304960,1754304991,US
1754304992,1754305023,CA
1754305024,1754305535,US
1754305536,1754305663,CA
-1754305664,1754305759,US
-1754305760,1754305767,CA
+1754305664,1754305695,US
+1754305696,1754305711,CA
+1754305712,1754305743,US
+1754305744,1754305767,CA
1754305768,1754305791,US
-1754305792,1754306559,CA
+1754305792,1754305855,CA
+1754305856,1754305919,CN
+1754305920,1754306559,CA
1754306560,1754306959,US
1754306960,1754306975,CA
1754306976,1754307031,US
@@ -62720,236 +64379,339 @@
1754307072,1754307327,CA
1754307328,1754307391,US
1754307392,1754307423,CA
-1754307424,1754307447,US
-1754307448,1754307455,CA
-1754307456,1754307583,US
-1754307584,1754307855,CA
-1754307856,1754307871,US
-1754307872,1754307895,CA
+1754307424,1754307439,US
+1754307440,1754307455,CA
+1754307456,1754307487,US
+1754307488,1754307503,CA
+1754307504,1754307583,US
+1754307584,1754307895,CA
1754307896,1754307903,SE
-1754307904,1754308095,US
-1754308096,1754308103,CA
+1754307904,1754308015,US
+1754308016,1754308103,CA
1754308104,1754308111,US
1754308112,1754308127,CA
-1754308128,1754308191,US
+1754308128,1754308143,US
+1754308144,1754308159,CA
+1754308160,1754308191,US
1754308192,1754308223,CA
-1754308224,1754308303,US
+1754308224,1754308255,US
+1754308256,1754308271,CA
+1754308272,1754308303,US
1754308304,1754308311,CA
1754308312,1754308319,US
1754308320,1754308351,CA
1754308352,1754308367,US
1754308368,1754308383,CA
-1754308384,1754308447,US
+1754308384,1754308415,US
+1754308416,1754308431,CA
+1754308432,1754308447,US
1754308448,1754308455,CA
-1754308456,1754308575,US
+1754308456,1754308463,US
+1754308464,1754308479,CA
+1754308480,1754308543,US
+1754308544,1754308559,CA
+1754308560,1754308575,US
1754308576,1754308607,CA
-1754308608,1754308943,US
+1754308608,1754308879,US
+1754308880,1754308895,CA
+1754308896,1754308943,US
1754308944,1754308951,CA
1754308952,1754308959,SE
-1754308960,1754308991,US
-1754308992,1754309007,CA
-1754309008,1754309055,US
+1754308960,1754308975,CA
+1754308976,1754308991,US
+1754308992,1754309023,CA
+1754309024,1754309055,US
1754309056,1754309119,CA
-1754309120,1754309471,US
+1754309120,1754309375,US
+1754309376,1754309439,CA
+1754309440,1754309471,US
1754309472,1754309479,CA
-1754309480,1754309919,US
-1754309920,1754309935,CA
+1754309480,1754309487,US
+1754309488,1754309503,CA
+1754309504,1754309583,US
+1754309584,1754309615,CA
+1754309616,1754309903,US
+1754309904,1754309935,CA
1754309936,1754309951,US
1754309952,1754309983,CA
-1754309984,1754310015,US
-1754310016,1754310079,CA
-1754310080,1754310479,US
+1754309984,1754309999,US
+1754310000,1754310079,CA
+1754310080,1754310111,US
+1754310112,1754310127,CA
+1754310128,1754310399,US
+1754310400,1754310415,CA
+1754310416,1754310431,US
+1754310432,1754310463,CA
+1754310464,1754310479,US
1754310480,1754310495,CA
1754310496,1754310527,US
1754310528,1754310655,CA
1754310656,1754310943,US
1754310944,1754310975,CA
-1754310976,1754311007,US
-1754311008,1754311055,CA
-1754311056,1754311519,US
-1754311520,1754311567,CA
-1754311568,1754311583,US
-1754311584,1754311615,CA
-1754311616,1754311759,US
-1754311760,1754311775,CA
-1754311776,1754311967,US
+1754310976,1754310991,US
+1754310992,1754311055,CA
+1754311056,1754311119,US
+1754311120,1754311151,CA
+1754311152,1754311487,US
+1754311488,1754311503,CA
+1754311504,1754311519,US
+1754311520,1754311615,CA
+1754311616,1754311647,US
+1754311648,1754311663,CA
+1754311664,1754311679,US
+1754311680,1754311695,CA
+1754311696,1754311711,US
+1754311712,1754311743,CA
+1754311744,1754311759,US
+1754311760,1754311791,CA
+1754311792,1754311967,US
1754311968,1754311975,CA
-1754311976,1754312463,US
-1754312464,1754312471,CA
-1754312472,1754312703,US
+1754311976,1754311983,US
+1754311984,1754311999,CA
+1754312000,1754312463,US
+1754312464,1754312495,CA
+1754312496,1754312575,US
+1754312576,1754312639,CA
+1754312640,1754312655,US
+1754312656,1754312671,CA
+1754312672,1754312703,US
1754312704,1754312719,CA
1754312720,1754312735,US
1754312736,1754312767,CA
1754312768,1754312783,US
-1754312784,1754312799,CA
-1754312800,1754312959,US
+1754312784,1754312815,CA
+1754312816,1754312831,US
+1754312832,1754312847,CA
+1754312848,1754312863,US
+1754312864,1754312879,CA
+1754312880,1754312959,US
1754312960,1754313023,CA
-1754313024,1754313151,US
-1754313152,1754313183,CA
-1754313184,1754313215,US
-1754313216,1754313239,CA
-1754313240,1754313391,US
-1754313392,1754313455,CA
-1754313456,1754313471,US
-1754313472,1754313487,CA
-1754313488,1754313503,US
-1754313504,1754313535,CA
-1754313536,1754313615,US
+1754313024,1754313055,US
+1754313056,1754313071,CA
+1754313072,1754313119,US
+1754313120,1754313135,CA
+1754313136,1754313151,US
+1754313152,1754313247,CA
+1754313248,1754313327,US
+1754313328,1754313343,CA
+1754313344,1754313391,US
+1754313392,1754313535,CA
+1754313536,1754313583,US
+1754313584,1754313599,CA
+1754313600,1754313615,US
1754313616,1754313663,CA
-1754313664,1754313695,US
-1754313696,1754313791,CA
-1754313792,1754313839,US
+1754313664,1754313679,US
+1754313680,1754313791,CA
+1754313792,1754313807,US
+1754313808,1754313823,CA
+1754313824,1754313839,US
1754313840,1754313847,CA
-1754313848,1754313951,US
-1754313952,1754314015,CA
-1754314016,1754314079,US
-1754314080,1754314111,CA
-1754314112,1754314143,US
+1754313848,1754313903,US
+1754313904,1754314031,CA
+1754314032,1754314079,US
+1754314080,1754314127,CA
+1754314128,1754314143,US
1754314144,1754314175,CA
-1754314176,1754314239,US
+1754314176,1754314191,US
+1754314192,1754314207,CA
+1754314208,1754314239,US
1754314240,1754314255,CA
-1754314256,1754314463,US
-1754314464,1754314495,CA
-1754314496,1754314527,US
+1754314256,1754314415,US
+1754314416,1754314431,CA
+1754314432,1754314463,US
+1754314464,1754314511,CA
+1754314512,1754314527,US
1754314528,1754314559,CA
1754314560,1754314575,US
-1754314576,1754314591,CA
-1754314592,1754314783,US
-1754314784,1754314815,CA
-1754314816,1754314991,US
-1754314992,1754315007,CA
-1754315008,1754315039,US
-1754315040,1754315071,CA
-1754315072,1754315135,US
+1754314576,1754314623,CA
+1754314624,1754314719,US
+1754314720,1754314735,CA
+1754314736,1754314767,US
+1754314768,1754314815,CA
+1754314816,1754314847,US
+1754314848,1754314863,CA
+1754314864,1754314991,US
+1754314992,1754315071,CA
+1754315072,1754315087,US
+1754315088,1754315103,CA
+1754315104,1754315135,US
1754315136,1754315199,CA
1754315200,1754315215,US
1754315216,1754315223,CA
-1754315224,1754315295,US
-1754315296,1754315311,CA
-1754315312,1754315359,US
-1754315360,1754315391,CA
-1754315392,1754315423,US
+1754315224,1754315263,US
+1754315264,1754315311,CA
+1754315312,1754315343,US
+1754315344,1754315407,CA
+1754315408,1754315423,US
1754315424,1754315471,CA
-1754315472,1754315551,US
+1754315472,1754315519,US
+1754315520,1754315535,CA
+1754315536,1754315551,US
1754315552,1754315559,CA
1754315560,1754315615,US
1754315616,1754315623,CA
-1754315624,1754316287,US
-1754316288,1754317823,CA
-1754317824,1754317903,US
+1754315624,1754315631,US
+1754315632,1754315647,CA
+1754315648,1754316287,US
+1754316288,1754317839,CA
+1754317840,1754317903,US
1754317904,1754317919,CA
1754317920,1754317935,US
1754317936,1754317943,CA
1754317944,1754318111,US
1754318112,1754318119,CA
-1754318120,1754318175,US
+1754318120,1754318143,US
+1754318144,1754318159,CA
+1754318160,1754318175,US
1754318176,1754318207,CA
1754318208,1754318335,US
1754318336,1754318847,CA
1754318848,1754319119,US
1754319120,1754319135,CA
-1754319136,1754319199,US
-1754319200,1754319207,CA
-1754319208,1754319263,US
+1754319136,1754319167,US
+1754319168,1754319207,CA
+1754319208,1754319215,US
+1754319216,1754319247,CA
+1754319248,1754319263,US
1754319264,1754319295,CA
-1754319296,1754319391,US
+1754319296,1754319311,US
+1754319312,1754319327,CA
+1754319328,1754319391,US
1754319392,1754319479,CA
-1754319480,1754319519,US
-1754319520,1754319551,CA
-1754319552,1754319647,US
-1754319648,1754319663,CA
-1754319664,1754319743,US
-1754319744,1754319767,CA
-1754319768,1754319807,US
-1754319808,1754319935,CA
-1754319936,1754319999,US
+1754319480,1754319487,US
+1754319488,1754319551,CA
+1754319552,1754319567,US
+1754319568,1754319599,CA
+1754319600,1754319615,US
+1754319616,1754319663,CA
+1754319664,1754319727,US
+1754319728,1754319935,CA
+1754319936,1754319951,US
+1754319952,1754319983,CA
+1754319984,1754319999,US
1754320000,1754320063,CA
-1754320064,1754320127,US
+1754320064,1754320095,US
+1754320096,1754320111,CA
+1754320112,1754320127,US
1754320128,1754320167,CA
1754320168,1754320223,US
1754320224,1754320231,CA
-1754320232,1754320287,US
-1754320288,1754320319,CA
+1754320232,1754320255,US
+1754320256,1754320319,CA
1754320320,1754320415,US
1754320416,1754320447,CA
-1754320448,1754320575,US
-1754320576,1754320623,CA
-1754320624,1754320671,US
-1754320672,1754320687,CA
-1754320688,1754320719,US
+1754320448,1754320479,US
+1754320480,1754320495,CA
+1754320496,1754320527,US
+1754320528,1754320543,CA
+1754320544,1754320559,US
+1754320560,1754320623,CA
+1754320624,1754320639,US
+1754320640,1754320655,CA
+1754320656,1754320671,US
+1754320672,1754320703,CA
+1754320704,1754320719,US
1754320720,1754320767,CA
-1754320768,1754320927,US
+1754320768,1754320799,US
+1754320800,1754320815,CA
+1754320816,1754320927,US
1754320928,1754320951,CA
-1754320952,1754321055,US
+1754320952,1754320975,US
+1754320976,1754321023,CA
+1754321024,1754321055,US
1754321056,1754321103,CA
1754321104,1754321119,US
1754321120,1754321151,CA
1754321152,1754321167,US
-1754321168,1754321183,CA
-1754321184,1754321231,US
+1754321168,1754321199,CA
+1754321200,1754321231,US
1754321232,1754321239,CA
1754321240,1754321439,US
1754321440,1754321447,CA
1754321448,1754321487,US
1754321488,1754321511,CA
-1754321512,1754321919,US
-1754321920,1754321951,CA
-1754321952,1754322047,US
+1754321512,1754321519,US
+1754321520,1754321535,CA
+1754321536,1754321551,US
+1754321552,1754321567,CA
+1754321568,1754321615,US
+1754321616,1754321663,CA
+1754321664,1754321919,US
+1754321920,1754321983,CA
+1754321984,1754322047,US
1754322048,1754322175,CA
1754322176,1754322239,US
-1754322240,1754322271,CA
-1754322272,1754322687,US
+1754322240,1754322303,CA
+1754322304,1754322687,US
1754322688,1754322695,CA
1754322696,1754322703,US
1754322704,1754322719,CA
-1754322720,1754323199,US
+1754322720,1754322767,US
+1754322768,1754322783,CA
+1754322784,1754322879,US
+1754322880,1754322943,CA
+1754322944,1754323199,US
1754323200,1754323207,CA
-1754323208,1754323279,US
+1754323208,1754323215,US
+1754323216,1754323231,CA
+1754323232,1754323247,US
+1754323248,1754323263,CA
+1754323264,1754323279,US
1754323280,1754323287,CA
-1754323288,1754323359,US
-1754323360,1754323391,CA
-1754323392,1754323583,US
+1754323288,1754323327,US
+1754323328,1754323391,CA
+1754323392,1754323455,US
+1754323456,1754323519,CA
+1754323520,1754323583,US
1754323584,1754323711,CA
-1754323712,1754323999,US
-1754324000,1754324031,CA
+1754323712,1754323967,US
+1754323968,1754324031,CA
1754324032,1754324735,US
1754324736,1754324999,CA
-1754325000,1754325071,US
+1754325000,1754325007,US
+1754325008,1754325039,CA
+1754325040,1754325071,US
1754325072,1754325079,CA
-1754325080,1754325247,US
-1754325248,1754325263,CA
-1754325264,1754325343,US
-1754325344,1754325375,CA
-1754325376,1754325407,US
+1754325080,1754325087,US
+1754325088,1754325103,CA
+1754325104,1754325247,US
+1754325248,1754325279,CA
+1754325280,1754325343,US
+1754325344,1754325391,CA
+1754325392,1754325407,US
1754325408,1754325439,CA
-1754325440,1754325503,US
-1754325504,1754325527,CA
-1754325528,1754325535,US
-1754325536,1754325567,CA
-1754325568,1754325631,US
+1754325440,1754325487,US
+1754325488,1754325599,CA
+1754325600,1754325631,US
1754325632,1754325695,CA
1754325696,1754325759,US
1754325760,1754325767,CA
-1754325768,1754325791,US
-1754325792,1754325823,CA
-1754325824,1754325855,US
+1754325768,1754325775,US
+1754325776,1754325839,CA
+1754325840,1754325855,US
1754325856,1754325887,CA
1754325888,1754325919,US
1754325920,1754325927,CA
-1754325928,1754325951,US
-1754325952,1754326031,CA
-1754326032,1754326047,US
-1754326048,1754326079,CA
-1754326080,1754326271,US
+1754325928,1754325935,US
+1754325936,1754326079,CA
+1754326080,1754326127,US
+1754326128,1754326207,CA
+1754326208,1754326239,US
+1754326240,1754326255,CA
+1754326256,1754326271,US
1754326272,1754326335,CA
-1754326336,1754326431,US
+1754326336,1754326399,US
+1754326400,1754326415,CA
+1754326416,1754326431,US
1754326432,1754326463,CA
-1754326464,1754326527,US
+1754326464,1754326495,US
+1754326496,1754326511,CA
+1754326512,1754326527,US
1754326528,1754326535,CA
-1754326536,1754326559,US
-1754326560,1754326591,CA
-1754326592,1754326687,US
-1754326688,1754326719,CA
+1754326536,1754326543,US
+1754326544,1754326591,CA
+1754326592,1754326655,US
+1754326656,1754326719,CA
1754326720,1754326751,US
1754326752,1754326759,CA
1754326760,1754326783,US
@@ -62960,61 +64722,69 @@
1754327040,1754327103,CA
1754327104,1754327231,US
1754327232,1754327295,CA
-1754327296,1754328143,US
+1754327296,1754328063,US
+1754328064,1754328079,CA
+1754328080,1754328111,US
+1754328112,1754328127,CA
+1754328128,1754328143,US
1754328144,1754328151,CA
1754328152,1754328319,US
1754328320,1754328575,CA
1754328576,1754329087,US
-1754329088,1754329103,CA
-1754329104,1754329119,US
-1754329120,1754329151,CA
+1754329088,1754329151,CA
1754329152,1754329183,US
1754329184,1754329215,CA
1754329216,1754329247,US
1754329248,1754329279,CA
-1754329280,1754329327,US
-1754329328,1754329335,CA
+1754329280,1754329311,US
+1754329312,1754329335,CA
1754329336,1754329343,US
-1754329344,1754329359,CA
-1754329360,1754329375,US
-1754329376,1754329407,CA
-1754329408,1754329599,US
+1754329344,1754329407,CA
+1754329408,1754329455,US
+1754329456,1754329471,CA
+1754329472,1754329599,US
1754329600,1754329607,CA
1754329608,1754329631,US
1754329632,1754329663,CA
-1754329664,1754329687,US
-1754329688,1754329695,CA
-1754329696,1754329759,US
+1754329664,1754329679,US
+1754329680,1754329695,CA
+1754329696,1754329711,US
+1754329712,1754329743,CA
+1754329744,1754329759,US
1754329760,1754329791,CA
-1754329792,1754329887,US
+1754329792,1754329839,US
+1754329840,1754329871,CA
+1754329872,1754329887,US
1754329888,1754329919,CA
1754329920,1754329935,US
1754329936,1754329951,CA
1754329952,1754330111,US
1754330112,1754330623,CA
1754330624,1754331135,US
-1754331136,1754331167,CA
-1754331168,1754331199,US
-1754331200,1754331263,CA
+1754331136,1754331263,CA
1754331264,1754331295,US
1754331296,1754331303,CA
1754331304,1754331375,US
-1754331376,1754331391,CA
-1754331392,1754331423,US
+1754331376,1754331407,CA
+1754331408,1754331423,US
1754331424,1754331455,CA
1754331456,1754331487,US
1754331488,1754331495,CA
1754331496,1754331647,US
-1754331648,1754331775,CA
-1754331776,1754331823,US
+1754331648,1754331791,CA
+1754331792,1754331823,US
1754331824,1754331839,CA
1754331840,1754331855,US
1754331856,1754331871,CA
1754331872,1754332191,US
1754332192,1754332199,CA
-1754332200,1754332271,US
+1754332200,1754332223,US
+1754332224,1754332239,CA
+1754332240,1754332271,US
1754332272,1754332287,CA
-1754332288,1754332703,US
+1754332288,1754332671,US
+1754332672,1754332687,CA
+1754332688,1754332703,US
1754332704,1754332735,CA
1754332736,1754332751,US
1754332752,1754332767,CA
@@ -63320,7 +65090,9 @@
1755113472,1755113983,AU
1755113984,1755115007,US
1755115008,1755115519,JP
-1755115520,1755119615,US
+1755115520,1755115615,US
+1755115616,1755115679,GB
+1755115680,1755119615,US
1755119616,1755283455,CA
1755283456,1755319807,US
1755319808,1755320319,DK
@@ -63456,12 +65228,16 @@
1757426688,1757427711,CA
1757427712,1757432831,US
1757432832,1757433855,CA
-1757433856,1757443071,US
+1757433856,1757434687,US
+1757434688,1757434688,CN
+1757434689,1757443071,US
1757443072,1757446143,CA
1757446144,1757447167,US
1757447168,1757447343,CA
1757447344,1757447344,US
-1757447345,1757448191,CA
+1757447345,1757448087,CA
+1757448088,1757448091,US
+1757448092,1757448191,CA
1757448192,1757450239,US
1757450240,1757451263,CA
1757451264,1757452287,US
@@ -63474,7 +65250,9 @@
1757466624,1757468671,CA
1757468672,1757472767,US
1757472768,1757473791,CA
-1757473792,1757487103,US
+1757473792,1757480959,US
+1757480960,1757481983,CA
+1757481984,1757487103,US
1757487104,1757489151,CA
1757489152,1757491199,US
1757491200,1757497343,CA
@@ -63520,7 +65298,9 @@
1757958144,1757962239,CA
1757962240,1757966335,BB
1757966336,1757970431,JP
-1757970432,1757996287,US
+1757970432,1757971455,US
+1757971456,1757971711,CA
+1757971712,1757996287,US
1757996288,1757996543,GB
1757996544,1758002431,US
1758002432,1758002687,GB
@@ -63581,7 +65361,8 @@
1758986240,1759128575,US
1759128576,1759129599,CA
1759129600,1759131647,US
-1759131648,1759133695,CA
+1759131648,1759132671,LT
+1759132672,1759133695,CA
1759133696,1759138815,US
1759138816,1759139839,CA
1759139840,1759140863,US
@@ -63593,7 +65374,8 @@
1759150080,1759158783,US
1759158784,1759159295,SG
1759159296,1759159807,GB
-1759159808,1759160319,US
+1759159808,1759160063,HK
+1759160064,1759160319,US
1759160320,1759162367,BM
1759162368,1759163391,BB
1759163392,1759166463,US
@@ -63759,22 +65541,22 @@
1759707760,1759707783,US
1759707784,1759707807,CA
1759707808,1759707823,US
-1759707824,1759707839,CA
-1759707840,1759707863,US
-1759707864,1759707871,CA
-1759707872,1759707887,US
+1759707824,1759707855,CA
+1759707856,1759707863,US
+1759707864,1759707879,CA
+1759707880,1759707887,US
1759707888,1759707911,CA
-1759707912,1759707927,US
-1759707928,1759707935,CA
+1759707912,1759707919,US
+1759707920,1759707935,CA
1759707936,1759707943,US
1759707944,1759707975,CA
1759707976,1759707991,US
-1759707992,1759707999,CA
-1759708000,1759708007,US
-1759708008,1759708031,CA
+1759707992,1759708031,CA
1759708032,1759708159,US
1759708160,1759708351,CA
-1759708352,1759708751,US
+1759708352,1759708399,US
+1759708400,1759708407,CA
+1759708408,1759708751,US
1759708752,1759708759,CA
1759708760,1759709439,US
1759709440,1759710207,CA
@@ -63782,7 +65564,9 @@
1759711704,1759711711,CA
1759711712,1759711727,US
1759711728,1759711743,CA
-1759711744,1759712287,US
+1759711744,1759712255,US
+1759712256,1759712271,CA
+1759712272,1759712287,US
1759712288,1759712319,CA
1759712320,1759712335,US
1759712336,1759712351,CA
@@ -63796,55 +65580,65 @@
1759715072,1759715327,CA
1759715328,1759715375,US
1759715376,1759715391,CA
-1759715392,1759715423,US
-1759715424,1759715439,CA
+1759715392,1759715407,US
+1759715408,1759715439,CA
1759715440,1759715839,US
1759715840,1759715903,CA
1759715904,1759715967,US
-1759715968,1759715983,CA
-1759715984,1759716031,US
-1759716032,1759716159,CA
+1759715968,1759716159,CA
1759716160,1759716223,US
1759716224,1759716255,CA
1759716256,1759716287,US
-1759716288,1759716351,CA
-1759716352,1759717023,US
-1759717024,1759717031,CA
-1759717032,1759717375,US
-1759717376,1759717631,CA
-1759717632,1759717887,US
-1759717888,1759718399,CA
+1759716288,1759716863,CA
+1759716864,1759717023,US
+1759717024,1759717039,CA
+1759717040,1759717055,US
+1759717056,1759717071,CA
+1759717072,1759717375,US
+1759717376,1759718399,CA
1759718400,1759718655,US
-1759718656,1759718911,CA
-1759718912,1759719167,US
-1759719168,1759719519,CA
+1759718656,1759719519,CA
1759719520,1759719679,US
-1759719680,1759719711,CA
-1759719712,1759719743,US
-1759719744,1759719807,CA
+1759719680,1759719807,CA
1759719808,1759719839,US
-1759719840,1759719847,CA
-1759719848,1759719967,US
+1759719840,1759719855,CA
+1759719856,1759719919,US
+1759719920,1759719935,CA
+1759719936,1759719967,US
1759719968,1759719999,CA
-1759720000,1759720023,US
-1759720024,1759720031,CA
-1759720032,1759720047,US
-1759720048,1759720063,CA
-1759720064,1759720191,US
-1759720192,1759720207,CA
-1759720208,1759720319,US
+1759720000,1759720015,US
+1759720016,1759720063,CA
+1759720064,1759720095,US
+1759720096,1759720127,CA
+1759720128,1759720159,US
+1759720160,1759720207,CA
+1759720208,1759720223,US
+1759720224,1759720255,CA
+1759720256,1759720271,US
+1759720272,1759720287,CA
+1759720288,1759720319,US
1759720320,1759720383,CA
-1759720384,1759720703,US
+1759720384,1759720415,US
+1759720416,1759720431,CA
+1759720432,1759720543,US
+1759720544,1759720575,CA
+1759720576,1759720703,US
1759720704,1759720767,CA
1759720768,1759720783,US
1759720784,1759720791,CA
-1759720792,1759721423,US
+1759720792,1759720815,US
+1759720816,1759720831,CA
+1759720832,1759721183,US
+1759721184,1759721215,CA
+1759721216,1759721375,US
+1759721376,1759721391,CA
+1759721392,1759721423,US
1759721424,1759721439,CA
-1759721440,1759721503,US
-1759721504,1759721511,CA
-1759721512,1759721519,US
-1759721520,1759721535,CA
-1759721536,1759721695,US
+1759721440,1759721471,US
+1759721472,1759721535,CA
+1759721536,1759721647,US
+1759721648,1759721663,CA
+1759721664,1759721695,US
1759721696,1759721727,CA
1759721728,1759721743,US
1759721744,1759721759,CA
@@ -63852,86 +65646,102 @@
1759721824,1759721831,CA
1759721832,1759721839,NO
1759721840,1759722047,US
-1759722048,1759722063,CA
-1759722064,1759722303,US
-1759722304,1759722319,CA
-1759722320,1759722335,US
-1759722336,1759722367,CA
+1759722048,1759722079,CA
+1759722080,1759722271,US
+1759722272,1759722367,CA
1759722368,1759722383,US
1759722384,1759722431,CA
-1759722432,1759722511,US
+1759722432,1759722479,US
+1759722480,1759722495,CA
+1759722496,1759722511,US
1759722512,1759722527,CA
1759722528,1759722559,US
-1759722560,1759722591,CA
-1759722592,1759722895,US
+1759722560,1759722607,CA
+1759722608,1759722655,US
+1759722656,1759722687,CA
+1759722688,1759722895,US
1759722896,1759722911,CA
-1759722912,1759723007,US
+1759722912,1759722975,US
+1759722976,1759722991,CA
+1759722992,1759723007,US
1759723008,1759723071,CA
-1759723072,1759723159,US
-1759723160,1759723167,CA
-1759723168,1759723247,US
-1759723248,1759723263,CA
-1759723264,1759723343,US
+1759723072,1759723151,US
+1759723152,1759723167,CA
+1759723168,1759723199,US
+1759723200,1759723231,CA
+1759723232,1759723247,US
+1759723248,1759723279,CA
+1759723280,1759723343,US
1759723344,1759723359,CA
1759723360,1759723551,US
1759723552,1759723583,CA
-1759723584,1759723607,US
-1759723608,1759723615,CA
-1759723616,1759723823,US
+1759723584,1759723599,US
+1759723600,1759723615,CA
+1759723616,1759723631,US
+1759723632,1759723647,CA
+1759723648,1759723823,US
1759723824,1759723831,CA
1759723832,1759723839,US
-1759723840,1759723855,CA
-1759723856,1759723999,US
-1759724000,1759724031,CA
-1759724032,1759724287,US
-1759724288,1759725151,CA
-1759725152,1759725247,US
-1759725248,1759725375,CA
-1759725376,1759725455,US
+1759723840,1759723887,CA
+1759723888,1759723999,US
+1759724000,1759724159,CA
+1759724160,1759724223,US
+1759724224,1759724239,CA
+1759724240,1759724255,US
+1759724256,1759724799,CA
+1759724800,1759725055,US
+1759725056,1759725183,CA
+1759725184,1759725247,US
+1759725248,1759725439,CA
+1759725440,1759725455,US
1759725456,1759725471,CA
1759725472,1759725503,US
-1759725504,1759725631,CA
-1759725632,1759725695,US
-1759725696,1759725711,CA
-1759725712,1759725823,US
-1759725824,1759725919,CA
-1759725920,1759726015,US
-1759726016,1759726079,CA
-1759726080,1759726591,US
+1759725504,1759725759,CA
+1759725760,1759725823,US
+1759725824,1759725951,CA
+1759725952,1759726015,US
+1759726016,1759726335,CA
+1759726336,1759726591,US
1759726592,1759726847,CA
-1759726848,1759727087,US
+1759726848,1759727007,US
+1759727008,1759727023,CA
+1759727024,1759727087,US
1759727088,1759727095,CA
1759727096,1759727103,US
1759727104,1759727359,CA
1759727360,1759727615,US
1759727616,1759727679,CA
-1759727680,1759727871,US
-1759727872,1759727935,CA
+1759727680,1759727807,US
+1759727808,1759727935,CA
1759727936,1759728063,US
1759728064,1759728383,CA
-1759728384,1759728703,US
-1759728704,1759728735,CA
-1759728736,1759728895,US
+1759728384,1759728639,US
+1759728640,1759728671,CA
+1759728672,1759728703,US
+1759728704,1759728767,CA
+1759728768,1759728799,US
+1759728800,1759728831,CA
+1759728832,1759728895,US
1759728896,1759729151,CA
1759729152,1759729663,US
-1759729664,1759729695,CA
-1759729696,1759729743,US
+1759729664,1759729711,CA
+1759729712,1759729743,US
1759729744,1759729751,CA
-1759729752,1759729975,US
-1759729976,1759730015,CA
-1759730016,1759730207,US
+1759729752,1759729967,US
+1759729968,1759730015,CA
+1759730016,1759730175,US
+1759730176,1759730191,CA
+1759730192,1759730207,US
1759730208,1759730239,CA
1759730240,1759730303,US
-1759730304,1759730319,CA
-1759730320,1759730351,US
-1759730352,1759730367,CA
+1759730304,1759730367,CA
1759730368,1759730399,US
1759730400,1759730415,CA
1759730416,1759730463,US
1759730464,1759730487,CA
1759730488,1759730519,US
-1759730520,1759730527,CA
-1759730528,1759730559,US
+1759730520,1759730543,CA
+1759730544,1759730559,US
1759730560,1759730623,CA
1759730624,1759730839,US
1759730840,1759730847,CA
@@ -63950,31 +65760,37 @@
1759734168,1759734207,US
1759734208,1759734271,CA
1759734272,1759734279,US
-1759734280,1759734287,CA
-1759734288,1759734351,US
+1759734280,1759734303,CA
+1759734304,1759734351,US
1759734352,1759734367,CA
-1759734368,1759734623,US
-1759734624,1759734639,CA
-1759734640,1759734783,US
-1759734784,1759735935,CA
-1759735936,1759736015,US
+1759734368,1759734383,US
+1759734384,1759734399,CA
+1759734400,1759734431,US
+1759734432,1759734463,CA
+1759734464,1759734607,US
+1759734608,1759734639,CA
+1759734640,1759734735,US
+1759734736,1759734751,CA
+1759734752,1759734783,US
+1759734784,1759735967,CA
+1759735968,1759736015,US
1759736016,1759736031,CA
1759736032,1759736063,US
1759736064,1759736383,CA
1759736384,1759736447,US
-1759736448,1759736479,CA
-1759736480,1759737007,US
+1759736448,1759736575,CA
+1759736576,1759737007,US
1759737008,1759737015,CA
-1759737016,1759737343,US
+1759737016,1759737071,US
+1759737072,1759737087,CA
+1759737088,1759737343,US
1759737344,1759737407,CA
1759737408,1759737423,US
1759737424,1759737431,CA
1759737432,1759737599,US
-1759737600,1759738111,CA
-1759738112,1759738623,US
-1759738624,1759738879,CA
-1759738880,1759739039,US
-1759739040,1759739055,CA
+1759737600,1759738879,CA
+1759738880,1759739023,US
+1759739024,1759739055,CA
1759739056,1759739103,US
1759739104,1759739135,CA
1759739136,1759739391,US
@@ -63989,9 +65805,9 @@
1759739904,1759739999,CA
1759740000,1759740015,US
1759740016,1759740023,CA
-1759740024,1759740095,US
-1759740096,1759740255,CA
-1759740256,1759740351,US
+1759740024,1759740031,US
+1759740032,1759740287,CA
+1759740288,1759740351,US
1759740352,1759740927,CA
1759740928,1759741439,US
1759741440,1759742929,CA
@@ -63999,8 +65815,8 @@
1759742931,1759742939,CA
1759742940,1759742942,US
1759742943,1759743999,CA
-1759744000,1759744511,US
-1759744512,1759744767,CA
+1759744000,1759744255,US
+1759744256,1759744767,CA
1759744768,1759745023,US
1759745024,1759745279,CA
1759745280,1759745535,US
@@ -64015,9 +65831,7 @@
1759747392,1759747407,US
1759747408,1759747415,CA
1759747416,1759747455,US
-1759747456,1759747487,CA
-1759747488,1759747519,US
-1759747520,1759747647,CA
+1759747456,1759747647,CA
1759747648,1759747663,US
1759747664,1759747671,CA
1759747672,1759747927,US
@@ -64031,15 +65845,15 @@
1759748408,1759748431,US
1759748432,1759748439,CA
1759748440,1759748479,US
-1759748480,1759748511,CA
-1759748512,1759748543,US
-1759748544,1759748607,CA
+1759748480,1759748607,CA
1759748608,1759748639,US
1759748640,1759748647,CA
1759748648,1759748655,SE
1759748656,1759748671,US
1759748672,1759748687,CA
-1759748688,1759748863,US
+1759748688,1759748719,US
+1759748720,1759748735,CA
+1759748736,1759748863,US
1759748864,1759749183,CA
1759749184,1759749199,US
1759749200,1759749207,CA
@@ -64048,50 +65862,76 @@
1759749440,1759749455,US
1759749456,1759749463,CA
1759749464,1759749567,US
-1759749568,1759749631,CA
-1759749632,1759749919,US
+1759749568,1759749823,CA
+1759749824,1759749887,US
+1759749888,1759749903,CA
+1759749904,1759749919,US
1759749920,1759749935,CA
1759749936,1759749975,US
1759749976,1759749983,CA
-1759749984,1759750223,US
+1759749984,1759750191,US
+1759750192,1759750207,CA
+1759750208,1759750223,US
1759750224,1759750239,CA
1759750240,1759750335,US
1759750336,1759750351,CA
-1759750352,1759750423,US
-1759750424,1759750431,CA
+1759750352,1759750367,US
+1759750368,1759750399,CA
+1759750400,1759750415,US
+1759750416,1759750431,CA
1759750432,1759750463,US
1759750464,1759750479,CA
-1759750480,1759750655,US
+1759750480,1759750495,US
+1759750496,1759750511,CA
+1759750512,1759750655,US
1759750656,1759750719,CA
-1759750720,1759750847,US
+1759750720,1759750799,US
+1759750800,1759750807,CA
+1759750808,1759750847,US
1759750848,1759750911,CA
1759750912,1759751679,US
-1759751680,1759751811,CA
-1759751812,1759751839,US
-1759751840,1759751986,CA
-1759751987,1759751987,US
-1759751988,1759752191,CA
+1759751680,1759751823,CA
+1759751824,1759751839,US
+1759751840,1759752191,CA
1759752192,1759752447,US
1759752448,1759752543,CA
1759752544,1759752639,US
-1759752640,1759752959,CA
-1759752960,1759753047,US
+1759752640,1759753023,CA
+1759753024,1759753047,US
1759753048,1759753055,CA
-1759753056,1759753215,US
+1759753056,1759753087,US
+1759753088,1759753103,CA
+1759753104,1759753135,US
+1759753136,1759753151,CA
+1759753152,1759753215,US
1759753216,1759754239,CA
-1759754240,1759754719,US
+1759754240,1759754495,US
+1759754496,1759754639,CA
+1759754640,1759754719,US
1759754720,1759754735,CA
-1759754736,1759755263,US
+1759754736,1759755007,US
+1759755008,1759755151,CA
+1759755152,1759755167,US
+1759755168,1759755199,CA
+1759755200,1759755263,US
1759755264,1759755519,CA
-1759755520,1759755935,US
+1759755520,1759755647,US
+1759755648,1759755663,CA
+1759755664,1759755935,US
1759755936,1759755943,CA
-1759755944,1759756239,US
+1759755944,1759755967,US
+1759755968,1759755983,CA
+1759755984,1759755999,US
+1759756000,1759756031,CA
+1759756032,1759756239,US
1759756240,1759756247,CA
1759756248,1759764479,US
-1759764480,1759770623,CA
-1759770624,1759770757,US
-1759770758,1759770758,NL
-1759770759,1760034815,US
+1759764480,1759766527,CA
+1759766528,1759766783,US
+1759766784,1759767039,CY
+1759767040,1759768575,US
+1759768576,1759770623,CA
+1759770624,1760034815,US
1760038912,1760044031,US
1760044032,1760044159,SE
1760044160,1760044319,US
@@ -64099,7 +65939,7 @@
1760044416,1760047103,US
1760047104,1760051199,CA
1760051200,1760086015,US
-1760086016,1760088063,GB
+1760086016,1760088063,CA
1760088064,1760116735,US
1760116736,1760133119,CA
1760133120,1760165887,US
@@ -64167,7 +66007,7 @@
1760818432,1760818687,MX
1760818688,1760818943,AW
1760818944,1760819199,US
-1760819200,1760819455,RO
+1760819200,1760819455,DE
1760819456,1760819711,AM
1760819712,1760819967,MA
1760819968,1760820223,US
@@ -64187,8 +66027,8 @@
1760870400,1760871423,US
1760871424,1760872447,CA
1760872448,1760878591,US
-1760878592,1760882687,JM
-1760882688,1760883711,US
+1760878592,1760880639,JM
+1760880640,1760883711,US
1760883712,1760884735,CA
1760884736,1760886783,US
1760886784,1760888831,CA
@@ -64206,7 +66046,8 @@
1760904192,1760909311,US
1760909312,1760910335,VG
1760910336,1760911359,GD
-1760911360,1760915455,US
+1760911360,1760913407,CA
+1760913408,1760915455,US
1760915456,1760917503,MQ
1760917504,1760918679,US
1760918680,1760918687,NL
@@ -64256,7 +66097,9 @@
1761124352,1761128447,GB
1761128448,1761132543,US
1761132544,1761136639,NL
-1761136640,1761181695,US
+1761136640,1761144831,US
+1761144832,1761148927,DE
+1761148928,1761181695,US
1761181696,1761181951,MX
1761181952,1761182207,US
1761182208,1761182463,GB
@@ -64328,8 +66171,7 @@
1761257984,1761258239,GB
1761258240,1761258495,SI
1761258496,1761258751,IT
-1761258752,1761259007,LU
-1761259008,1761259519,US
+1761258752,1761259519,US
1761259520,1761259775,KH
1761259776,1761260031,AZ
1761260032,1761260287,ET
@@ -64383,20 +66225,23 @@
1761508352,1761509375,VG
1761509376,1761515519,US
1761515520,1761517567,CA
-1761517568,1761519615,US
-1761519616,1761521151,PR
-1761521152,1761522687,US
+1761517568,1761522687,US
1761522688,1761523711,CA
1761523712,1761526783,US
1761526784,1761527807,CA
1761527808,1761544191,US
1761544192,1761546239,CA
-1761546240,1761554431,US
+1761546240,1761550335,US
+1761550336,1761550591,CA
+1761550592,1761554431,US
1761554432,1761555455,CA
-1761555456,1761581055,US
+1761555456,1761558527,US
+1761558528,1761560575,CA
+1761560576,1761581055,US
1761581056,1761583103,CA
1761583104,1761587199,US
-1761587200,1761588223,AI
+1761587200,1761587455,MS
+1761587456,1761588223,AI
1761588224,1761589247,PR
1761589248,1761595391,US
1761595392,1761596415,CA
@@ -64465,9 +66310,18 @@
1763352576,1763385343,MU
1763385344,1763393535,AE
1763393536,1763401727,GB
-1763401728,1763402239,ZA
+1763401728,1763402239,MU
1763402240,1763402751,KE
-1763402752,1763429887,ZA
+1763402752,1763405823,MU
+1763405824,1763407871,ZA
+1763407872,1763411967,MU
+1763411968,1763414015,ZA
+1763414016,1763416063,MU
+1763416064,1763418111,ZA
+1763418112,1763420159,MU
+1763420160,1763424255,ZA
+1763424256,1763426303,MU
+1763426304,1763429887,ZA
1763429888,1763438591,KE
1763438592,1763442687,UG
1763442688,1763446783,RW
@@ -64480,14 +66334,16 @@
1763483648,1763524607,MU
1763524608,1763532799,ZA
1763532800,1763573759,MU
-1763573760,1763581951,ZA
+1763573760,1763577855,US
+1763577856,1763581951,ZA
1763581952,1763598335,MU
1763598336,1763602431,IN
1763602432,1763606527,NL
1763606528,1763610623,SE
1763610624,1763614719,DE
1763614720,1763631103,MU
-1763631104,1763639295,ZA
+1763631104,1763635199,AE
+1763635200,1763639295,ZA
1763639296,1763657727,MU
1763657728,1763659775,ZA
1763659776,1763661823,MU
@@ -64609,7 +66465,7 @@
1805021952,1805022207,TH
1805022208,1805022463,US
1805022464,1805022719,DE
-1805022720,1805024767,US
+1805022720,1805024767,HK
1805024768,1805025279,KR
1805025280,1805033983,US
1805033984,1805035007,TR
@@ -64632,23 +66488,17 @@
1805150720,1805156351,US
1805156352,1805156415,CA
1805156416,1805156431,US
-1805156432,1805156479,CA
-1805156480,1805156487,FI
-1805156488,1805156511,CA
+1805156432,1805156511,CA
1805156512,1805156519,US
1805156520,1805156599,CA
-1805156600,1805156671,US
-1805156672,1805156679,CA
-1805156680,1805156703,US
-1805156704,1805156719,CA
+1805156600,1805156607,US
+1805156608,1805156719,CA
1805156720,1805156815,US
1805156816,1805156823,CA
1805156824,1805156863,US
1805156864,1805156871,CA
1805156872,1805156879,US
-1805156880,1805156887,CA
-1805156888,1805156895,US
-1805156896,1805156911,CA
+1805156880,1805156911,CA
1805156912,1805156919,US
1805156920,1805156927,CA
1805156928,1805156935,US
@@ -64656,59 +66506,47 @@
1805156952,1805156959,US
1805156960,1805156999,CA
1805157000,1805157015,US
-1805157016,1805157023,CA
-1805157024,1805157031,US
-1805157032,1805157039,CA
-1805157040,1805157047,US
-1805157048,1805157055,CA
-1805157056,1805157063,US
-1805157064,1805157079,CA
+1805157016,1805157079,CA
1805157080,1805157095,US
1805157096,1805157159,CA
-1805157160,1805157375,US
-1805157376,1805157411,CA
-1805157412,1805157419,US
-1805157420,1805157547,CA
+1805157160,1805157279,US
+1805157280,1805157311,CA
+1805157312,1805157375,US
+1805157376,1805157547,CA
1805157548,1805157551,US
-1805157552,1805157631,CA
-1805157632,1805157887,US
-1805157888,1805157951,CA
+1805157552,1805157951,CA
1805157952,1805158031,US
1805158032,1805158047,CA
1805158048,1805158143,US
1805158144,1805158399,CA
1805158400,1805158655,US
-1805158656,1805158679,CA
-1805158680,1805158683,US
-1805158684,1805158787,CA
-1805158788,1805158791,US
-1805158792,1805158823,CA
+1805158656,1805158823,CA
1805158824,1805158831,US
-1805158832,1805158855,CA
-1805158856,1805158887,US
+1805158832,1805158879,CA
+1805158880,1805158887,US
1805158888,1805158895,CA
-1805158896,1805159047,US
-1805159048,1805159055,CA
+1805158896,1805158903,US
+1805158904,1805158951,CA
+1805158952,1805158959,US
+1805158960,1805158975,CA
+1805158976,1805158991,US
+1805158992,1805159015,CA
+1805159016,1805159039,US
+1805159040,1805159055,CA
1805159056,1805159071,US
-1805159072,1805159087,CA
-1805159088,1805159095,US
-1805159096,1805159119,CA
+1805159072,1805159119,CA
1805159120,1805159127,US
1805159128,1805159167,CA
1805159168,1805159175,US
1805159176,1805159191,CA
1805159192,1805159199,US
-1805159200,1805159247,CA
-1805159248,1805159279,US
-1805159280,1805159327,CA
-1805159328,1805159335,US
-1805159336,1805159359,CA
+1805159200,1805159263,CA
+1805159264,1805159279,US
+1805159280,1805159359,CA
1805159360,1805159423,US
1805159424,1805160191,CA
1805160192,1805160215,US
-1805160216,1805160239,CA
-1805160240,1805160247,US
-1805160248,1805160271,CA
+1805160216,1805160271,CA
1805160272,1805160279,US
1805160280,1805160295,CA
1805160296,1805160303,US
@@ -64719,82 +66557,106 @@
1805160352,1805160359,CA
1805160360,1805160367,US
1805160368,1805160407,CA
-1805160408,1805160439,US
+1805160408,1805160415,US
+1805160416,1805160423,CA
+1805160424,1805160439,US
1805160440,1805160447,CA
-1805160448,1805160895,US
+1805160448,1805160703,US
+1805160704,1805160719,CA
+1805160720,1805160735,US
+1805160736,1805160767,CA
+1805160768,1805160783,US
+1805160784,1805160799,CA
+1805160800,1805160895,US
1805160896,1805160911,CA
1805160912,1805160943,US
-1805160944,1805160951,CA
-1805160952,1805161215,US
+1805160944,1805160959,CA
+1805160960,1805161215,US
1805161216,1805161471,CA
1805161472,1805161727,US
1805161728,1805161983,CA
-1805161984,1805162495,US
+1805161984,1805162239,US
+1805162240,1805162255,CA
+1805162256,1805162495,US
1805162496,1805163519,CA
-1805163520,1805164031,US
-1805164032,1805164047,CA
-1805164048,1805164055,US
-1805164056,1805164071,CA
+1805163520,1805163647,US
+1805163648,1805163775,CA
+1805163776,1805164031,US
+1805164032,1805164071,CA
1805164072,1805164079,US
1805164080,1805164111,CA
1805164112,1805164127,US
1805164128,1805164159,CA
-1805164160,1805164287,US
-1805164288,1805164335,CA
-1805164336,1805164343,US
-1805164344,1805164351,CA
-1805164352,1805164799,US
-1805164800,1805164839,CA
-1805164840,1805164847,FI
-1805164848,1805164863,CA
-1805164864,1805165055,US
+1805164160,1805164223,US
+1805164224,1805164239,CA
+1805164240,1805164287,US
+1805164288,1805164351,CA
+1805164352,1805164367,US
+1805164368,1805164383,CA
+1805164384,1805164799,US
+1805164800,1805164863,CA
+1805164864,1805164879,US
+1805164880,1805164895,CA
+1805164896,1805164975,US
+1805164976,1805164991,CA
+1805164992,1805165055,US
1805165056,1805165311,CA
1805165312,1805165439,US
1805165440,1805165455,CA
-1805165456,1805166399,US
-1805166400,1805166463,CA
+1805165456,1805166335,US
+1805166336,1805166463,CA
1805166464,1805166591,US
1805166592,1805166687,CA
1805166688,1805166703,US
-1805166704,1805166711,CA
-1805166712,1805166719,US
-1805166720,1805166751,CA
-1805166752,1805167103,US
+1805166704,1805166751,CA
+1805166752,1805166847,US
+1805166848,1805167103,CA
1805167104,1805167359,FR
-1805167360,1805167455,US
-1805167456,1805167487,CA
-1805167488,1805167583,US
+1805167360,1805167439,CA
+1805167440,1805167455,US
+1805167456,1805167519,CA
+1805167520,1805167583,US
1805167584,1805167615,CA
-1805167616,1805167839,US
+1805167616,1805167743,US
+1805167744,1805167823,CA
+1805167824,1805167839,US
1805167840,1805167887,CA
-1805167888,1805168767,US
-1805168768,1805168783,CA
+1805167888,1805167903,US
+1805167904,1805167935,CA
+1805167936,1805168223,US
+1805168224,1805168255,CA
+1805168256,1805168671,US
+1805168672,1805168703,CA
+1805168704,1805168751,US
+1805168752,1805168783,CA
1805168784,1805168847,US
1805168848,1805168855,CA
1805168856,1805168863,SE
1805168864,1805168895,CA
-1805168896,1805169983,US
-1805169984,1805170047,CA
-1805170048,1805170111,US
-1805170112,1805170303,CA
-1805170304,1805170311,US
-1805170312,1805170403,CA
+1805168896,1805169151,US
+1805169152,1805169183,CA
+1805169184,1805169199,US
+1805169200,1805169215,CA
+1805169216,1805169663,US
+1805169664,1805170063,CA
+1805170064,1805170079,US
+1805170080,1805170403,CA
1805170404,1805170407,US
1805170408,1805170687,CA
1805170688,1805171199,US
1805171200,1805171239,CA
1805171240,1805171247,US
-1805171248,1805171279,CA
-1805171280,1805171287,US
-1805171288,1805171303,CA
-1805171304,1805171327,US
+1805171248,1805171255,CA
+1805171256,1805171263,BH
+1805171264,1805171311,CA
+1805171312,1805171327,US
1805171328,1805171343,CA
1805171344,1805171351,US
-1805171352,1805171359,CA
-1805171360,1805171391,US
-1805171392,1805171455,CA
-1805171456,1805171463,US
-1805171464,1805171551,CA
+1805171352,1805171367,CA
+1805171368,1805171375,US
+1805171376,1805171383,CA
+1805171384,1805171391,US
+1805171392,1805171551,CA
1805171552,1805171559,US
1805171560,1805171583,CA
1805171584,1805171591,US
@@ -64803,51 +66665,73 @@
1805171664,1805171687,CA
1805171688,1805171703,US
1805171704,1805171711,CA
-1805171712,1805171775,US
-1805171776,1805171807,CA
-1805171808,1805171951,US
+1805171712,1805171759,US
+1805171760,1805171839,CA
+1805171840,1805171887,US
+1805171888,1805171903,CA
+1805171904,1805171951,US
1805171952,1805171967,CA
1805171968,1805172047,US
-1805172048,1805172055,CA
-1805172056,1805172191,US
+1805172048,1805172095,CA
+1805172096,1805172159,US
+1805172160,1805172175,CA
+1805172176,1805172191,US
1805172192,1805172223,CA
-1805172224,1805173079,US
+1805172224,1805172735,US
+1805172736,1805173007,CA
+1805173008,1805173039,US
+1805173040,1805173055,CA
+1805173056,1805173079,US
1805173080,1805173087,CA
1805173088,1805173247,US
-1805173248,1805173503,CA
-1805173504,1805173535,US
-1805173536,1805173567,CA
-1805173568,1805173759,US
+1805173248,1805173567,CA
+1805173568,1805173599,US
+1805173600,1805173615,CA
+1805173616,1805173759,US
1805173760,1805173791,CA
-1805173792,1805174303,US
+1805173792,1805174271,US
+1805174272,1805174287,CA
+1805174288,1805174303,US
1805174304,1805174335,CA
1805174336,1805174527,US
1805174528,1805174783,CA
-1805174784,1805174831,US
-1805174832,1805174847,CA
-1805174848,1805174911,US
+1805174784,1805174815,US
+1805174816,1805174823,CA
+1805174824,1805174831,US
+1805174832,1805174863,CA
+1805174864,1805174911,US
1805174912,1805174943,CA
1805174944,1805175103,US
1805175104,1805175119,CA
-1805175120,1805176063,US
-1805176064,1805176319,CA
-1805176320,1805176831,US
-1805176832,1805177087,CA
+1805175120,1805175159,US
+1805175160,1805175167,CA
+1805175168,1805175807,US
+1805175808,1805176319,CA
+1805176320,1805176575,US
+1805176576,1805177087,CA
1805177088,1805177375,US
-1805177376,1805177407,CA
-1805177408,1805177471,US
+1805177376,1805177423,CA
+1805177424,1805177439,US
+1805177440,1805177455,CA
+1805177456,1805177471,US
1805177472,1805177599,CA
-1805177600,1805178111,US
-1805178112,1805178367,CA
+1805177600,1805177855,US
+1805177856,1805178367,CA
1805178368,1805178623,US
-1805178624,1805179135,CA
-1805179136,1805179647,US
+1805178624,1805179391,CA
+1805179392,1805179647,US
1805179648,1805179903,CA
-1805179904,1805181183,US
-1805181184,1805181695,CA
-1805181696,1805183135,US
-1805183136,1805183151,CA
-1805183152,1805183743,US
+1805179904,1805180927,US
+1805180928,1805181695,CA
+1805181696,1805182207,US
+1805182208,1805182463,CA
+1805182464,1805183039,US
+1805183040,1805183071,CA
+1805183072,1805183135,US
+1805183136,1805183167,CA
+1805183168,1805183199,US
+1805183200,1805183231,CA
+1805183232,1805183743,US
1805183744,1805184063,CA
1805184064,1805184127,US
1805184128,1805184159,CA
@@ -64855,84 +66739,115 @@
1805184192,1805184511,CA
1805184512,1805184527,US
1805184528,1805184535,CA
-1805184536,1805184607,US
+1805184536,1805184543,US
+1805184544,1805184575,CA
+1805184576,1805184607,US
1805184608,1805184639,CA
1805184640,1805184687,US
1805184688,1805184703,CA
1805184704,1805184735,US
1805184736,1805184783,CA
-1805184784,1805184863,US
-1805184864,1805184879,CA
-1805184880,1805185039,US
-1805185040,1805185055,CA
-1805185056,1805185063,US
-1805185064,1805185071,CA
-1805185072,1805185151,US
+1805184784,1805184799,US
+1805184800,1805184831,CA
+1805184832,1805184863,US
+1805184864,1805184895,CA
+1805184896,1805184927,US
+1805184928,1805184943,CA
+1805184944,1805185023,US
+1805185024,1805185071,CA
+1805185072,1805185103,US
+1805185104,1805185119,CA
+1805185120,1805185151,US
1805185152,1805185159,CA
1805185160,1805185167,FI
1805185168,1805185215,CA
-1805185216,1805185279,US
-1805185280,1805185295,CA
-1805185296,1805185303,US
-1805185304,1805185311,CA
-1805185312,1805185327,US
-1805185328,1805185343,CA
-1805185344,1805185407,US
+1805185216,1805185231,US
+1805185232,1805185247,CA
+1805185248,1805185279,US
+1805185280,1805185343,CA
+1805185344,1805185359,US
+1805185360,1805185375,CA
+1805185376,1805185407,US
1805185408,1805185423,CA
-1805185424,1805185647,US
+1805185424,1805185439,US
+1805185440,1805185471,CA
+1805185472,1805185519,US
+1805185520,1805185535,CA
+1805185536,1805185599,US
+1805185600,1805185615,CA
+1805185616,1805185647,US
1805185648,1805185655,CA
1805185656,1805185663,US
-1805185664,1805185671,CA
-1805185672,1805185951,US
-1805185952,1805185959,CA
+1805185664,1805185679,CA
+1805185680,1805185759,US
+1805185760,1805185775,CA
+1805185776,1805185919,US
+1805185920,1805185959,CA
1805185960,1805185967,NO
-1805185968,1805186095,US
+1805185968,1805185999,US
+1805186000,1805186063,CA
+1805186064,1805186095,US
1805186096,1805186127,CA
1805186128,1805186143,US
1805186144,1805186239,CA
-1805186240,1805186335,US
+1805186240,1805186287,US
+1805186288,1805186319,CA
+1805186320,1805186335,US
1805186336,1805186351,CA
-1805186352,1805186551,US
+1805186352,1805186495,US
+1805186496,1805186511,CA
+1805186512,1805186551,US
1805186552,1805186575,CA
-1805186576,1805186879,US
+1805186576,1805186687,US
+1805186688,1805186703,CA
+1805186704,1805186783,US
+1805186784,1805186799,CA
+1805186800,1805186879,US
1805186880,1805186911,CA
1805186912,1805186943,US
1805186944,1805186959,CA
-1805186960,1805186999,US
+1805186960,1805186975,US
+1805186976,1805186991,CA
+1805186992,1805186999,US
1805187000,1805187023,CA
-1805187024,1805187103,US
-1805187104,1805187111,CA
+1805187024,1805187071,US
+1805187072,1805187111,CA
1805187112,1805187119,NO
1805187120,1805187127,CA
-1805187128,1805187359,US
-1805187360,1805187391,CA
+1805187128,1805187327,US
+1805187328,1805187391,CA
1805187392,1805187455,US
-1805187456,1805187487,CA
-1805187488,1805187551,US
+1805187456,1805187503,CA
+1805187504,1805187551,US
1805187552,1805187567,CA
1805187568,1805187871,US
1805187872,1805187887,CA
1805187888,1805188175,US
-1805188176,1805188223,CA
-1805188224,1805188287,US
+1805188176,1805188255,CA
+1805188256,1805188287,US
1805188288,1805188295,CA
1805188296,1805188367,US
1805188368,1805188375,CA
1805188376,1805188383,FI
-1805188384,1805188415,CA
-1805188416,1805188479,US
+1805188384,1805188447,CA
+1805188448,1805188479,US
1805188480,1805188511,CA
-1805188512,1805188639,US
-1805188640,1805188647,CA
-1805188648,1805188703,US
-1805188704,1805188735,CA
+1805188512,1805188591,US
+1805188592,1805188647,CA
+1805188648,1805188671,US
+1805188672,1805188735,CA
1805188736,1805188751,US
1805188752,1805188767,CA
1805188768,1805188863,US
1805188864,1805188879,CA
1805188880,1805188911,US
1805188912,1805188927,CA
-1805188928,1805189119,US
+1805188928,1805189039,US
+1805189040,1805189055,CA
+1805189056,1805189071,US
+1805189072,1805189087,CA
+1805189088,1805189103,US
+1805189104,1805189119,CA
1805189120,1805189887,JP
1805189888,1805190399,US
1805190400,1805190655,ES
@@ -65101,10 +67016,8 @@
1806132172,1806135130,US
1806135131,1806135132,IN
1806135133,1806135295,US
-1806135296,1806135551,GB
-1806135552,1806135583,US
-1806135584,1806135585,GB
-1806135586,1806168831,US
+1806135296,1806135807,GB
+1806135808,1806168831,US
1806168832,1806169087,CA
1806169088,1806170111,US
1806170112,1806172159,CA
@@ -65268,11 +67181,14 @@
1816068096,1816133631,CA
1816133632,1819976622,US
1819976623,1819976623,RE
-1819976624,1822429183,US
+1819976624,1820327935,US
+1820327936,1820545695,IE
+1820545696,1820545696,US
+1820545697,1820852223,IE
+1820852224,1822429183,US
1822429184,1822433279,CA
1822433280,1822445567,US
-1822445568,1822451199,CA
-1822451200,1822451455,US
+1822445568,1822451455,CA
1822451456,1822451711,BB
1822451712,1822457855,US
1822457856,1822461951,JP
@@ -65333,8 +67249,7 @@
1823179200,1823179263,DE
1823179264,1823180287,US
1823180288,1823180543,AU
-1823180544,1823180799,US
-1823180800,1823181055,BR
+1823180544,1823181055,US
1823181056,1823181311,DK
1823181312,1823181567,BR
1823181568,1823181823,FR
@@ -65343,16 +67258,20 @@
1823182336,1823182591,JP
1823182592,1823182847,HK
1823182848,1823183103,IN
-1823183104,1823184895,ZA
-1823184896,1823186687,US
+1823183104,1823183359,ZA
+1823183360,1823186687,US
1823186688,1823186943,IN
1823186944,1823211519,US
1823211520,1823342591,CA
1823342592,1823346687,US
1823346688,1823350783,CA
-1823350784,1823358799,US
+1823350784,1823358495,US
+1823358496,1823358503,GB
+1823358504,1823358799,US
1823358800,1823358807,GB
-1823358808,1823375359,US
+1823358808,1823358895,US
+1823358896,1823358911,GB
+1823358912,1823375359,US
1823375360,1823379455,CA
1823379456,1823383551,US
1823383552,1823387647,CA
@@ -65361,59 +67280,58 @@
1823423488,1823428607,US
1823428608,1823432703,CA
1823432704,1823440895,US
-1823440896,1823444991,CA
-1823444992,1823465471,US
+1823440896,1823442943,CA
+1823442944,1823465471,US
1823465472,1823469567,CA
1823469568,1823735807,US
1823735808,1823866879,CA
1823866880,1824130623,US
1824130624,1824130655,CN
1824130656,1828716543,US
-1828716544,1830639615,FR
-1830639616,1830639647,MQ
-1830639648,1830813695,FR
+1828716544,1830813695,FR
1830813696,1831337983,NL
1831337984,1831338284,DE
1831338285,1831338285,CH
1831338286,1831862271,DE
1831862272,1832124415,PT
1832124416,1832386559,IT
-1832386560,1832399871,DK
-1832399872,1832400127,SE
-1832400128,1832414591,DK
-1832414592,1832414719,SE
-1832414720,1832473599,DK
-1832473600,1832473727,SE
-1832473728,1832501503,DK
-1832501504,1832501759,SE
-1832501760,1832510463,DK
-1832510464,1832510719,SE
-1832510720,1832550399,DK
-1832550400,1832558591,SE
-1832558592,1832585727,DK
-1832585728,1832585983,SE
-1832585984,1832595327,DK
-1832595328,1832595455,SE
-1832595456,1832601599,DK
-1832601600,1832601855,SE
-1832601856,1832648703,DK
+1832386560,1832393215,DK
+1832393216,1832393471,SE
+1832393472,1832396031,DK
+1832396032,1832396287,SE
+1832396288,1832414463,DK
+1832414464,1832414719,SE
+1832414720,1832554495,DK
+1832554496,1832556543,SE
+1832556544,1832630783,DK
+1832630784,1832631295,SE
+1832631296,1832648703,DK
1832648704,1832681471,HR
1832681472,1832714239,RU
1832714240,1832747007,HU
1832747008,1832779775,RU
-1832779776,1832783871,MQ
-1832783872,1832785919,GP
-1832785920,1832787967,GF
-1832787968,1832795391,GP
-1832795392,1832795647,GF
-1832795648,1832797183,GP
-1832797184,1832797503,MQ
-1832797504,1832797535,GF
-1832797536,1832797567,MQ
-1832797568,1832797695,GP
-1832797696,1832798207,MQ
+1832779776,1832781311,MQ
+1832781312,1832781823,FR
+1832781824,1832783871,MQ
+1832783872,1832784639,GP
+1832784640,1832784831,FR
+1832784832,1832785919,GP
+1832785920,1832786943,FR
+1832786944,1832787967,GF
+1832787968,1832794111,FR
+1832794112,1832795135,GP
+1832795136,1832795647,GF
+1832795648,1832797439,FR
+1832797440,1832797471,MQ
+1832797472,1832797503,GP
+1832797504,1832797567,GF
+1832797568,1832797695,MQ
+1832797696,1832798207,FR
1832798208,1832800255,GP
-1832800256,1832806399,MQ
+1832800256,1832800511,FR
+1832800512,1832801791,MQ
+1832801792,1832802047,FR
+1832802048,1832806399,MQ
1832806400,1832808447,GP
1832808448,1832812543,FR
1832812544,1832845311,RU
@@ -65425,8 +67343,7 @@
1833179136,1833181183,IT
1833181184,1833183231,GB
1833183232,1833185279,UA
-1833185280,1833187327,DE
-1833187328,1833189375,NL
+1833185280,1833189375,DE
1833189376,1833191423,GB
1833191424,1833193471,RU
1833193472,1833195519,ES
@@ -65446,7 +67363,10 @@
1833220096,1833222143,RU
1833222144,1833224191,GB
1833224192,1833228287,RU
-1833228288,1833232383,DE
+1833228288,1833230335,DE
+1833230336,1833231967,US
+1833231968,1833231999,DE
+1833232000,1833232383,US
1833232384,1833234431,TJ
1833234432,1833236479,GB
1833236480,1833238527,FI
@@ -65483,9 +67403,7 @@
1833308160,1833310207,FR
1833310208,1833312255,RU
1833312256,1833314303,ES
-1833314304,1833315963,IM
-1833315964,1833315967,GB
-1833315968,1833316351,IM
+1833314304,1833316351,IM
1833316352,1833318399,DK
1833318400,1833320447,GB
1833320960,1833321215,IQ
@@ -65507,8 +67425,7 @@
1833351168,1833353215,RU
1833353216,1833355263,DE
1833355264,1833357311,IT
-1833357312,1833357823,GB
-1833357824,1833357903,IE
+1833357312,1833357903,IE
1833357904,1833358335,GB
1833358336,1833359359,IE
1833359360,1833361407,DE
@@ -65565,7 +67482,8 @@
1833468672,1833471999,CH
1833472000,1833473023,NL
1833474048,1833475071,UA
-1833476096,1833484287,NL
+1833476096,1833480191,NO
+1833480192,1833484287,NL
1833484288,1833488383,IR
1833488384,1833492479,GB
1833492480,1833504767,RU
@@ -65578,7 +67496,8 @@
1833529344,1833533439,GB
1833533440,1833534463,ES
1833534464,1833535487,DE
-1833535488,1833537535,RU
+1833535488,1833536511,RU
+1833536512,1833537535,DE
1833537536,1833541631,AT
1833541632,1833541887,GB
1833541888,1833542143,IN
@@ -65633,22 +67552,20 @@
1833684992,1833689087,DE
1833689088,1833693183,FI
1833693184,1833697279,RU
-1833697280,1833728383,IE
-1833728384,1833728511,GB
-1833728512,1833880831,IE
-1833880832,1833880895,GB
-1833880896,1833959423,IE
+1833697280,1833959423,IE
1833959424,1834090495,CZ
1834090496,1834221567,SA
1834221568,1834352639,DE
1834352640,1834483711,UA
1834483712,1834614783,BE
1834614784,1834745855,DE
-1834745856,1834786815,RS
+1834745856,1834759167,RS
+1834759168,1834760191,XK
+1834760192,1834775039,RS
+1834775040,1834775551,XK
+1834775552,1834786815,RS
1834786816,1834787327,XK
-1834787328,1834801151,RS
-1834801152,1834802175,XK
-1834802176,1834817023,RS
+1834787328,1834817023,RS
1834817024,1834817535,XK
1834817536,1834876927,RS
1834876928,1834885119,RU
@@ -65663,19 +67580,17 @@
1834913792,1834917887,US
1834917888,1834918911,DE
1834918912,1834919935,IR
-1834919936,1834920959,GB
+1834919936,1834920191,JP
+1834920192,1834920447,GB
+1834920448,1834920959,JP
1834920960,1834921215,US
1834921216,1834921471,TR
1834921472,1834921727,IN
-1834921728,1834921983,CN
-1834921984,1834930431,RU
+1834921728,1834930431,RU
1834930432,1834930687,EE
1834930688,1834931199,RU
1834931200,1834932223,TR
-1834932224,1834933247,RU
-1834933248,1834933503,US
-1834933504,1834933759,TR
-1834933760,1834934015,IN
+1834932224,1834934015,RU
1834934016,1834934271,CN
1834934272,1834938367,RS
1834938368,1834944511,PL
@@ -65708,8 +67623,7 @@
1835565056,1835573247,AL
1835573248,1835581439,UA
1835581440,1835589631,BG
-1835589632,1835590015,SK
-1835590016,1835597823,IT
+1835589632,1835597823,IT
1835597824,1835606015,HU
1835606016,1835614207,CZ
1835614208,1835622399,RU
@@ -65722,7 +67636,11 @@
1835638784,1835646975,RU
1835646976,1835655167,BA
1835655168,1835663359,CY
-1835663360,1835671551,UA
+1835663360,1835664383,UA
+1835664384,1835665407,PL
+1835665408,1835668479,UA
+1835668480,1835669503,RU
+1835669504,1835671551,UA
1835671552,1835679743,CH
1835679744,1835687935,FR
1835687936,1835696127,IE
@@ -65964,13 +67882,19 @@
1836679168,1836680703,BG
1836680704,1836681215,MK
1836681216,1836687359,BG
-1836687360,1836689151,MK
-1836689152,1836711935,BG
+1836687360,1836689407,MK
+1836689408,1836711935,BG
1836711936,1836728319,UA
1836728320,1836744703,RS
-1836744704,1836751359,RE
-1836751360,1836751615,FR
-1836751616,1836761087,RE
+1836744704,1836753023,RE
+1836753024,1836753111,FR
+1836753112,1836753112,RE
+1836753113,1836753151,FR
+1836753152,1836756991,RE
+1836756992,1836758015,FR
+1836758016,1836759807,RE
+1836759808,1836760063,FR
+1836760064,1836761087,RE
1836761088,1836777471,IR
1836777472,1836793855,SI
1836793856,1836794567,GB
@@ -66078,7 +68002,9 @@
1839202304,1839235071,BG
1839235072,1839267839,IL
1839267840,1839300607,RU
-1839300608,1839333375,BH
+1839300608,1839305599,BH
+1839305600,1839305727,IT
+1839305728,1839333375,BH
1839333376,1839366143,UA
1839366144,1839398911,IR
1839398912,1839431679,NO
@@ -66159,7 +68085,9 @@
1841602560,1841603583,AL
1841603584,1841604607,RU
1841604608,1841605631,RO
-1841605632,1841606655,RU
+1841605632,1841606143,RU
+1841606144,1841606399,EE
+1841606400,1841606655,GB
1841606656,1841610751,UA
1841610752,1841618943,RU
1841618944,1841627135,PL
@@ -66287,9 +68215,7 @@
1842173952,1842175999,RO
1842176000,1842178047,FI
1842178048,1842180095,IT
-1842180096,1842180607,IQ
-1842180608,1842181119,IT
-1842181120,1842182143,IQ
+1842180096,1842182143,IQ
1842182144,1842184191,LV
1842184192,1842186239,DE
1842186240,1842188287,ES
@@ -66317,6 +68243,13 @@
1842249728,1842257919,RU
1842257920,1842266111,NL
1842266112,1842274303,PL
+1842274304,1842275327,NL
+1842275328,1842276351,FR
+1842276352,1842277375,CH
+1842277376,1842279423,DE
+1842279424,1842280447,HK
+1842280448,1842281471,LT
+1842281472,1842282495,IR
1842282496,1842286591,RU
1842286592,1842290687,GB
1842290688,1842294783,RS
@@ -66545,7 +68478,7 @@
1844196864,1844197119,IN
1844197120,1844197375,CN
1844197376,1844198399,RU
-1844198400,1844199423,DE
+1844198400,1844199423,US
1844199424,1844203519,RU
1844203520,1844207615,NL
1844207616,1844211711,RU
@@ -66618,15 +68551,16 @@
1844969472,1844971519,RU
1844971520,1844971775,KZ
1844971776,1844972031,GB
-1844972032,1845006335,RU
+1844972032,1844980479,RU
+1844980480,1844980735,CZ
+1844980736,1845006335,RU
1845006336,1845007780,KZ
1845007781,1845007781,LV
1845007782,1845010431,KZ
-1845010432,1845020671,RU
-1845020672,1845021695,UA
-1845021696,1845022719,RU
+1845010432,1845022719,RU
1845022720,1845023743,KZ
-1845023744,1845024255,RU
+1845023744,1845023999,RU
+1845024000,1845024255,UA
1845024256,1845024767,GB
1845024768,1845025535,RU
1845025536,1845025791,KZ
@@ -66694,9 +68628,7 @@
1848401920,1848404991,IN
1848404992,1848406015,BD
1848406016,1848410111,NP
-1848410112,1848411135,JP
-1848411136,1848411391,PH
-1848411392,1848412415,JP
+1848410112,1848412415,JP
1848412416,1848412671,PH
1848412672,1848413439,JP
1848413440,1848413951,PH
@@ -66722,9 +68654,7 @@
1848832000,1848836095,JP
1848836096,1849032703,CN
1849032704,1849065471,JP
-1849065472,1849092607,PH
-1849092608,1849092863,US
-1849092864,1849163775,PH
+1849065472,1849163775,PH
1849163776,1849819135,CN
1849819136,1849950207,JP
1849950208,1850212351,KR
@@ -66802,7 +68732,8 @@
1856847872,1856864255,CN
1856864256,1856872447,AU
1856872448,1856876543,NZ
-1856876544,1856880639,IN
+1856876544,1856880383,IN
+1856880384,1856880639,SG
1856880640,1856888831,CN
1856888832,1856892927,AU
1856892928,1856897023,JP
@@ -66836,10 +68767,12 @@
1860831232,1860832255,DE
1860832256,1860833279,JP
1860833280,1860834303,US
-1860834304,1860848639,SG
+1860834304,1860835327,SG
+1860835328,1860836351,US
+1860836352,1860837375,DE
+1860837376,1860848639,SG
1860848640,1860849663,IN
-1860849664,1860893695,SG
-1860893696,1860894719,JP
+1860849664,1860894719,SG
1860894720,1860951039,IN
1860951040,1860952063,KH
1860952064,1860956159,IN
@@ -66991,9 +68924,7 @@
1876886528,1876890623,CN
1876890624,1876893695,IN
1876893696,1876901887,TH
-1876901888,1876913151,SG
-1876913152,1876913663,AU
-1876913664,1876918271,SG
+1876901888,1876918271,SG
1876918272,1876934655,LK
1876934656,1876942847,JP
1876942848,1876946943,AU
@@ -67159,13 +69090,13 @@
1897267200,1897365503,VN
1897365504,1897398271,MY
1897398272,1897660415,CN
-1897660416,1897687039,HK
-1897687040,1897687295,AU
-1897687296,1897725951,HK
-1897725952,1897729792,JP
-1897729793,1897730047,US
+1897660416,1897725951,HK
+1897725952,1897727999,JP
+1897728000,1897730047,US
1897730048,1897733888,AU
-1897733889,1897734143,US
+1897733889,1897733999,US
+1897734000,1897734007,AU
+1897734008,1897734143,US
1897734144,1897736223,HK
1897736224,1897736255,US
1897736256,1897737984,HK
@@ -67174,13 +69105,12 @@
1897742848,1897743359,SI
1897743360,1897743871,SG
1897743872,1897744383,SI
-1897744384,1897745151,SG
-1897745152,1897745407,SI
+1897744384,1897744895,SG
+1897744896,1897745407,SI
1897745408,1897746431,SG
-1897746432,1897748511,CN
+1897746432,1897748511,US
1897748512,1897748514,HK
-1897748515,1897750527,CN
-1897750528,1897758719,US
+1897748515,1897758719,US
1897758720,1897779199,KR
1897779200,1897781247,AU
1897781248,1897783295,JP
@@ -67241,9 +69171,7 @@
1908408320,1908424703,AU
1908424704,1908441087,KR
1908441088,1908473855,JP
-1908473856,1908538367,IN
-1908538368,1908538879,AU
-1908538880,1908539391,IN
+1908473856,1908539391,IN
1908539392,1908670463,CN
1908670464,1908735999,TW
1908736000,1908740095,AU
@@ -67268,9 +69196,7 @@
1909161984,1909194751,PK
1909194752,1909456895,CN
1909456896,1909473279,JP
-1909473280,1909474303,HK
-1909474304,1909475327,PH
-1909475328,1909479423,HK
+1909473280,1909479423,HK
1909479424,1909481471,SG
1909481472,1909587967,CN
1909587968,1909719039,MY
@@ -67348,9 +69274,7 @@
1919811584,1919815679,CN
1919815680,1919817727,ID
1919817728,1919819775,KR
-1919819776,1919820543,NZ
-1919820544,1919820799,AU
-1919820800,1919821823,NZ
+1919819776,1919821823,NZ
1919821824,1919823871,ID
1919823872,1919827967,JP
1919827968,1919844351,CN
@@ -67364,10 +69288,10 @@
1919942656,1919999999,CN
1920000000,1920002047,HK
1920002048,1920003071,CN
-1920003072,1920008191,HK
-1920008192,1920057343,CN
-1920057344,1920058111,HK
-1920058112,1920069631,CN
+1920003072,1920003839,HK
+1920003840,1920004095,AU
+1920004096,1920008191,HK
+1920008192,1920069631,CN
1920069632,1920071167,HK
1920071168,1920072703,CN
1920072704,1920072959,HK
@@ -67536,8 +69460,7 @@
1937536000,1937536511,GB
1937536512,1937537023,US
1937537024,1937539071,IN
-1937539072,1937635327,JP
-1937635328,1937637375,DE
+1937539072,1937637375,JP
1937637376,1937670143,HK
1937670144,1937672191,NZ
1937672192,1937678335,JP
@@ -67601,9 +69524,7 @@
1941635072,1941639167,CN
1941639168,1941643263,NP
1941643264,1941651455,IN
-1941651456,1941652167,JP
-1941652168,1941652175,CA
-1941652176,1941655551,JP
+1941651456,1941655551,JP
1941655552,1941657599,KR
1941657600,1941658623,MN
1941658624,1941659647,JP
@@ -67627,7 +69548,9 @@
1946175616,1946175743,CN
1946175744,1946175759,SG
1946175760,1946175791,HK
-1946175792,1946175999,SG
+1946175792,1946175871,SG
+1946175872,1946175935,HK
+1946175936,1946175999,SG
1946176000,1946176255,JP
1946176256,1946176511,SG
1946176512,1946176767,AU
@@ -67648,7 +69571,9 @@
1946955776,1946957823,SG
1946957824,1946959871,NZ
1946959872,1946976255,LK
-1946976256,1947009023,SG
+1946976256,1946999807,SG
+1946999808,1947000319,MY
+1947000320,1947009023,SG
1947009024,1947074559,CN
1947074560,1947205631,SG
1947205632,1948254207,CN
@@ -67659,14 +69584,13 @@
1949440000,1949442047,ID
1949442048,1949446143,TW
1949446144,1949448191,JP
-1949448192,1949448447,AU
+1949448192,1949448447,IN
1949448448,1949448703,HK
1949448704,1949448959,AU
1949448960,1949449215,IN
1949449216,1949449471,SG
1949449472,1949449727,JP
-1949449728,1949450239,AU
-1949450240,1949466623,IN
+1949449728,1949466623,IN
1949466624,1949499391,PH
1949499392,1949564927,SG
1949564928,1949958143,CN
@@ -67687,8 +69611,7 @@
1950516224,1950516735,IN
1950516736,1950518271,US
1950518272,1950519295,IN
-1950519296,1950520319,US
-1950520320,1950521343,PH
+1950519296,1950521343,PH
1950521344,1950523391,IN
1950523392,1950527487,AU
1950527488,1950528511,CN
@@ -67769,9 +69692,7 @@
1952220672,1952233471,JP
1952233472,1952249855,HK
1952249856,1952251903,JP
-1952251904,1952283647,PH
-1952283648,1952283903,CN
-1952283904,1952284671,PH
+1952251904,1952284671,PH
1952284672,1952288767,NZ
1952288768,1952292863,JP
1952292864,1952317439,KR
@@ -67813,6 +69734,7 @@
1959102464,1959104511,JP
1959104512,1959106559,AU
1959106560,1959107583,IN
+1959107584,1959108607,PK
1959108608,1959110655,CN
1959110656,1959112703,JP
1959112704,1959113215,HK
@@ -67823,7 +69745,8 @@
1959114240,1959114495,AU
1959114496,1959114751,HK
1959114752,1959115775,IN
-1959115776,1959116799,AU
+1959115776,1959116031,SG
+1959116032,1959116799,IN
1959116800,1959133183,SG
1959133184,1959239679,CN
1959239680,1959241727,KR
@@ -67834,28 +69757,32 @@
1959256064,1959260159,AU
1959260160,1959264255,JP
1959264256,1959395327,KR
-1959395328,1959405055,IN
-1959405056,1959405183,NG
-1959405184,1959405311,IN
-1959405312,1959405567,NG
-1959405568,1959440383,IN
-1959440384,1959444479,DE
-1959444480,1959477247,IN
-1959477248,1959479295,DE
-1959479296,1959481087,IN
-1959481088,1959485439,DE
-1959485440,1959489535,IN
-1959489536,1959490559,DE
-1959490560,1959491583,IN
-1959491584,1959493631,DE
-1959493632,1959526399,IN
+1959395328,1959526399,DE
1959526400,1959559167,CN
1959559168,1959560191,ID
1959560192,1959561215,CN
1959561216,1959562239,NZ
1959562240,1959563263,BD
1959563264,1959564287,AU
-1959564288,1959657471,CN
+1959564288,1959566335,BD
+1959566336,1959567359,HK
+1959567360,1959568383,AF
+1959568384,1959569407,PK
+1959569408,1959570431,CN
+1959570432,1959571455,NP
+1959571456,1959572479,HK
+1959572480,1959573503,TH
+1959573504,1959574527,HK
+1959574528,1959575551,IN
+1959575552,1959576575,PA
+1959576576,1959577599,IN
+1959577600,1959578623,MY
+1959578624,1959579647,IN
+1959579648,1959580671,HK
+1959580672,1959581695,LK
+1959581696,1959582719,CN
+1959582720,1959583743,BD
+1959583744,1959657471,CN
1959657472,1959657727,US
1959657728,1959658495,HK
1959658496,1959661567,ID
@@ -67950,12 +69877,10 @@
1960187904,1960189951,KH
1960189952,1960202239,CN
1960202240,1960206335,JP
-1960206336,1960210431,SG
-1960210432,1960210943,TH
+1960206336,1960210687,SG
+1960210688,1960210943,TH
1960210944,1960211199,IN
-1960211200,1960211455,SG
-1960211456,1960211903,AU
-1960211904,1960211967,SG
+1960211200,1960211967,SG
1960211968,1960212479,AU
1960212480,1960212991,IN
1960212992,1960214015,SG
@@ -67967,9 +69892,7 @@
1961885696,1961951231,AU
1961951232,1962016767,TW
1962016768,1962541055,CN
-1962541056,1962586943,AU
-1962586944,1962587007,CX
-1962587008,1962622975,AU
+1962541056,1962622975,AU
1962622976,1962639359,CN
1962639360,1962658815,NZ
1962658816,1962659839,HK
@@ -68025,7 +69948,9 @@
1964244992,1964249087,AU
1964249088,1964253183,PK
1964253184,1964255231,WF
-1964255232,1964257279,SG
+1964255232,1964255487,SG
+1964255488,1964255743,ID
+1964255744,1964257279,SG
1964257280,1964261375,ID
1964261376,1964263423,AU
1964263424,1964265471,JP
@@ -68058,8 +69983,10 @@
1966538752,1966571519,JP
1966571520,1966587903,KR
1966587904,1966591241,AF
-1966591242,1966591242,DE
-1966591243,1966591999,AF
+1966591242,1966591243,DE
+1966591244,1966591244,IT
+1966591245,1966591246,DE
+1966591247,1966591999,AF
1966592000,1966596095,JP
1966596096,1966600191,AU
1966600192,1966602239,IN
@@ -68243,7 +70170,9 @@
1988853760,1988861951,MY
1988861952,1988870143,SG
1988870144,1988886527,KR
-1988886528,1989148671,HK
+1988886528,1989137919,HK
+1989137920,1989138175,PH
+1989138176,1989148671,HK
1989148672,1989410815,CN
1989410816,1989541887,NZ
1989541888,1989607423,TW
@@ -68254,9 +70183,7 @@
1989663744,1989664767,ID
1989664768,1990197247,JP
1990197248,1990983679,TW
-1990983680,1991056383,TH
-1991056384,1991056895,SG
-1991056896,1991245823,TH
+1990983680,1991245823,TH
1991245824,1991311359,KR
1991311360,1991376895,JP
1991376896,1991442431,CN
@@ -68326,9 +70253,7 @@
1997117176,1997117183,AU
1997117184,1997119871,HK
1997119872,1997119903,AU
-1997119904,1997124667,HK
-1997124668,1997124679,AU
-1997124680,1997126495,HK
+1997119904,1997126495,HK
1997126496,1997126503,AU
1997126504,1997144063,HK
1997144064,1997176831,CN
@@ -68379,17 +70304,16 @@
1998271273,1998274047,JP
1998274048,1998274303,US
1998274304,1998274559,JP
-1998274560,1998332415,CN
-1998332416,1998332927,HK
-1998332928,1998348287,CN
+1998274560,1998323711,CN
+1998323712,1998348287,HK
1998348288,1998354943,SG
-1998354944,1998360575,CN
+1998354944,1998355455,CN
+1998355456,1998355967,HK
+1998355968,1998356479,SG
+1998356480,1998360575,HK
1998360576,1998365695,KR
-1998365696,1998380287,CN
-1998380288,1998380543,HK
-1998380544,1998380618,CN
-1998380619,1998380619,HK
-1998380620,1998383103,CN
+1998365696,1998366719,CN
+1998366720,1998383103,HK
1998383104,1998385151,KR
1998385152,1998389247,IN
1998389248,1998454783,CN
@@ -68403,13 +70327,7 @@
1998503936,1998520319,JP
1998520320,1998553087,TH
1998553088,1998561279,JP
-1998561280,1998561535,IN
-1998561536,1998561780,ID
-1998561781,1998561781,IN
-1998561782,1998561784,ID
-1998561785,1998561785,IN
-1998561786,1998561791,ID
-1998561792,1998562559,IN
+1998561280,1998562559,IN
1998562560,1998562815,CN
1998562816,1998562863,IN
1998562864,1998562864,HK
@@ -68437,6 +70355,7 @@
1999249408,1999250431,AU
1999250432,1999250943,BR
1999250944,1999251455,AR
+1999251456,1999252479,ID
1999252480,1999253503,GB
1999253504,1999254527,MY
1999254528,1999255551,CN
@@ -68481,7 +70400,9 @@
2000674816,2001207295,KR
2001207296,2001272831,JP
2001272832,2001305599,PK
-2001305600,2001420287,SG
+2001305600,2001307903,SG
+2001307904,2001308159,MY
+2001308160,2001420287,SG
2001420288,2001453055,KR
2001453056,2001457151,SG
2001457152,2001461247,CN
@@ -68532,7 +70453,8 @@
2003763200,2003828735,PH
2003828736,2006188031,CN
2006188032,2006204415,BD
-2006204416,2006212607,AU
+2006204416,2006213631,AU
+2006213632,2006214655,BD
2006214656,2006216703,JP
2006216704,2006228991,KR
2006228992,2006237183,CN
@@ -68548,8 +70470,7 @@
2007027712,2007031807,TH
2007031808,2007033855,NZ
2007033856,2007034879,MY
-2007034880,2007035135,PK
-2007035136,2007035903,AE
+2007034880,2007035903,PK
2007035904,2007039999,TW
2007040000,2007048191,KR
2007048192,2007064575,AU
@@ -68700,12 +70621,11 @@
2022320679,2022321151,AU
2022321152,2022321407,SG
2022321408,2022322175,AU
-2022322176,2022322431,JP
-2022322432,2022322695,AU
+2022322176,2022322695,JP
2022322696,2022322696,TW
-2022322697,2022323199,AU
+2022322697,2022323199,JP
2022323200,2022323455,KR
-2022323456,2022324223,AU
+2022323456,2022324223,JP
2022324224,2022324225,TH
2022324226,2022324483,AU
2022324484,2022324484,MY
@@ -68844,9 +70764,7 @@
2043201536,2043203583,JP
2043203584,2043205631,AU
2043205632,2043207679,JP
-2043207680,2043208703,AU
-2043208704,2043208831,NZ
-2043208832,2043211775,AU
+2043207680,2043211775,AU
2043211776,2043215871,SG
2043215872,2043281407,CN
2043281408,2043412479,HK
@@ -68876,7 +70794,14 @@
2047366656,2047367423,PK
2047367424,2047367935,CN
2047367936,2047377407,PK
-2047377408,2047410175,CN
+2047377408,2047381503,CN
+2047381504,2047383551,PK
+2047383552,2047387647,CN
+2047387648,2047391743,PK
+2047391744,2047395839,CN
+2047395840,2047399935,PK
+2047399936,2047406079,CN
+2047406080,2047410175,PK
2047410176,2047492095,HK
2047492096,2047496191,KR
2047496192,2047508479,HK
@@ -68899,7 +70824,9 @@
2050097152,2050098175,PK
2050098176,2050099199,ID
2050099200,2050101247,SG
-2050101248,2050129919,JP
+2050101248,2050129730,JP
+2050129731,2050129731,US
+2050129732,2050129919,JP
2050129920,2050162687,IN
2050162688,2050228223,CN
2050228224,2050490367,PH
@@ -68930,11 +70857,8 @@
2053532672,2053533183,NZ
2053533184,2053533695,AU
2053533696,2053534719,VN
-2053535168,2053535199,IN
-2053535744,2053537791,IN
-2053537792,2053623807,JP
-2053623808,2053624063,AU
-2053624064,2053636095,JP
+2053534720,2053537791,IN
+2053537792,2053636095,JP
2053636096,2054160383,AU
2054160384,2054376447,CN
2054376448,2054377471,HK
@@ -68981,15 +70905,15 @@
2056794112,2056796159,BD
2056796160,2056806399,JP
2056806400,2056814591,KR
-2056814592,2056815215,JP
-2056815216,2056815231,HK
-2056815232,2056816863,JP
+2056814592,2056816863,JP
2056816864,2056816895,MY
2056816896,2056817335,JP
2056817336,2056817343,HK
-2056817344,2056817727,JP
+2056817344,2056817663,JP
+2056817664,2056817727,MY
2056817728,2056817791,AU
-2056817792,2056819087,JP
+2056817792,2056818687,MY
+2056818688,2056819087,JP
2056819088,2056819103,SG
2056819104,2056823849,JP
2056823850,2056823850,SG
@@ -69045,7 +70969,10 @@
2060451840,2061500415,JP
2061500416,2063073279,CN
2063073280,2063077375,BD
-2063077376,2063077887,HK
+2063077376,2063077377,AU
+2063077378,2063077378,HK
+2063077379,2063077631,AU
+2063077632,2063077887,HK
2063077888,2063078143,SG
2063078144,2063079423,HK
2063079424,2063081471,CN
@@ -69062,9 +70989,7 @@
2063114240,2063115263,IN
2063115264,2063116871,JP
2063116872,2063116879,KR
-2063116880,2063118091,JP
-2063118092,2063118095,PH
-2063118096,2063118159,JP
+2063116880,2063118159,JP
2063118160,2063118191,PH
2063118192,2063118287,JP
2063118288,2063118303,PH
@@ -69283,7 +71208,7 @@
2080780288,2080780799,ID
2080780800,2080781311,MY
2080781312,2080781823,JP
-2080781824,2080782335,VN
+2080781824,2080782335,AU
2080782336,2080784383,SG
2080784384,2080800767,CN
2080800768,2080817151,PH
@@ -69305,9 +71230,7 @@
2082324480,2082340863,PK
2082340864,2082406399,IN
2082406400,2082471935,CN
-2082471936,2083009028,JP
-2083009029,2083009029,AU
-2083009030,2083024895,JP
+2082471936,2083024895,JP
2083024896,2083053567,CN
2083053568,2083057663,TH
2083057664,2083058687,CN
@@ -69352,7 +71275,8 @@
2087454720,2087456767,CN
2087456768,2087457791,IN
2087457792,2087458303,HK
-2087458304,2087458815,US
+2087458304,2087458559,JP
+2087458560,2087458815,SG
2087458816,2087460863,FJ
2087460864,2087462911,JP
2087462912,2087464959,CN
@@ -69541,7 +71465,9 @@
2108358656,2108424191,CN
2108424192,2108686335,JP
2108686336,2109734911,KR
-2109734912,2110783487,JP
+2109734912,2109935103,JP
+2109935104,2109935359,CN
+2109935360,2110783487,JP
2110783488,2110799871,CN
2110799872,2110816255,KR
2110816256,2110832639,ID
@@ -69562,7 +71488,9 @@
2111201280,2111209471,CN
2111209472,2111217663,JP
2111217664,2111225855,LK
-2111225856,2111242239,HK
+2111225856,2111241471,HK
+2111241472,2111241727,SG
+2111241728,2111242239,HK
2111242240,2111258623,CN
2111258624,2111275007,JP
2111275008,2111307775,HK
@@ -69577,9 +71505,9 @@
2113560320,2113683455,KR
2113683456,2113684607,JP
2113684608,2113684671,TW
-2113684672,2113685663,JP
-2113685664,2113685695,SG
-2113685696,2113687999,JP
+2113684672,2113685503,JP
+2113685504,2113685759,SG
+2113685760,2113687999,JP
2113688000,2113688031,AU
2113688032,2113688959,JP
2113688960,2113688991,SG
@@ -69609,7 +71537,9 @@
2113813504,2113830911,AU
2113830912,2113863679,CN
2113863680,2113929215,AU
-2113929216,2130706431,JP
+2113929216,2114392087,JP
+2114392088,2114392095,BR
+2114392096,2130706431,JP
2147483648,2147483903,NL
2147483904,2147484671,RO
2147484672,2147485695,TR
@@ -69672,7 +71602,9 @@
2147563264,2147563519,RU
2147563520,2147564031,US
2147564032,2147564287,PH
-2147564288,2147564543,GB
+2147564288,2147564369,GB
+2147564370,2147564372,AE
+2147564373,2147564543,GB
2147564544,2147564799,VN
2147564800,2147565055,SG
2147565056,2147565311,HK
@@ -69699,7 +71631,9 @@
2147579904,2147580927,US
2147580928,2147581183,ID
2147581184,2147581439,KR
-2147581440,2147592703,US
+2147581440,2147582719,US
+2147582720,2147584767,HK
+2147584768,2147592703,US
2147592704,2147592959,HK
2147592960,2147600127,US
2147600128,2147600383,SG
@@ -69707,7 +71641,9 @@
2147603712,2147603967,IN
2147603968,2147942399,US
2147942400,2148007935,DE
-2148007936,2148457471,US
+2148007936,2148455423,US
+2148455424,2148455679,BR
+2148455680,2148457471,US
2148457472,2148458495,BR
2148458496,2148459007,DE
2148459008,2148459519,TW
@@ -69717,7 +71653,8 @@
2148460544,2148461055,ID
2148461056,2148461823,US
2148461824,2148462335,TW
-2148462336,2148532223,US
+2148462336,2148462591,HK
+2148462592,2148532223,US
2148532224,2148597759,GB
2148597760,2148925439,US
2148925440,2148990975,JP
@@ -69856,7 +71793,8 @@
2153426432,2153426687,LV
2153426688,2153426943,SI
2153426944,2153427199,SK
-2153427200,2153428991,US
+2153427200,2153427455,LI
+2153427456,2153428991,US
2153428992,2153431039,TW
2153431040,2153433087,HK
2153433088,2153434879,MO
@@ -69944,7 +71882,8 @@
2160541696,2160590847,SG
2160590848,2160656383,US
2160656384,2160657407,BR
-2160657408,2160658431,HN
+2160657408,2160657919,HN
+2160657920,2160658431,US
2160658432,2160661503,BR
2160661504,2160662527,AR
2160662528,2160664575,BR
@@ -69981,9 +71920,7 @@
2160914432,2160918527,SA
2160918528,2161508351,US
2161508352,2161573887,FI
-2161573888,2162228223,US
-2162228224,2162228479,CA
-2162228480,2162687999,US
+2161573888,2162687999,US
2162688000,2162753535,GB
2162753536,2162819071,CA
2162819072,2162884607,SA
@@ -70018,9 +71955,7 @@
2166562560,2166562815,FI
2166562816,2166594559,US
2166594560,2166594815,PL
-2166594816,2166612991,US
-2166612992,2166614015,DE
-2166614016,2166729471,US
+2166594816,2166729471,US
2166729472,2166729727,CA
2166729728,2166989823,US
2166989824,2166990335,IN
@@ -70056,11 +71991,7 @@
2171076608,2171142143,FR
2171142144,2172256255,US
2172256256,2172272639,GH
-2172272640,2172277759,RE
-2172277760,2172278271,FR
-2172278272,2172280319,RE
-2172280320,2172280575,FR
-2172280576,2172289023,RE
+2172272640,2172289023,RE
2172289024,2172321791,AO
2172321792,2172452863,US
2172452864,2172518399,NL
@@ -70093,15 +72024,16 @@
2176434176,2176450559,FR
2176450560,2176516095,US
2176516096,2176581631,DE
-2176581632,2176862463,US
-2176862464,2176862719,GB
+2176581632,2176860159,US
+2176860160,2176861183,CA
+2176861184,2176862719,US
2176862720,2176862975,DE
2176862976,2176863231,SG
2176863232,2176868607,US
2176868608,2176868863,IT
2176868864,2176897023,US
-2176897024,2176898047,AU
-2176898048,2176974847,US
+2176897024,2176897535,AU
+2176897536,2176974847,US
2176974848,2177105919,CH
2177105920,2177302527,US
2177302528,2177368063,FR
@@ -70122,16 +72054,20 @@
2178351104,2178416639,GB
2178416640,2178482175,US
2178482176,2178547711,DE
-2178547712,2178777087,US
-2178777088,2178787327,HU
-2178787328,2178899967,US
-2178899968,2178908159,NZ
-2178908160,2179071999,US
+2178547712,2178783231,US
+2178783232,2178785279,HU
+2178785280,2179071999,US
2179072000,2179137535,SG
2179137536,2179398399,US
2179398400,2179399679,GB
2179399680,2179465215,US
-2179465216,2179497983,LS
+2179465216,2179477503,LS
+2179477504,2179477887,ZA
+2179477888,2179478015,LS
+2179478016,2179479551,ZA
+2179479552,2179482111,LS
+2179482112,2179482367,ZA
+2179482368,2179497983,LS
2179497984,2179530751,ZA
2179530752,2179596287,DE
2179596288,2179661823,GB
@@ -70155,8 +72091,8 @@
2180646953,2180646953,ES
2180646954,2180649005,US
2180649006,2180649006,ES
-2180649007,2180903423,US
-2180903424,2180903935,NL
+2180649007,2180903679,US
+2180903680,2180903935,NL
2180903936,2180907007,US
2180907008,2180972543,KR
2180972544,2181038079,US
@@ -70267,10 +72203,12 @@
2188719616,2188719743,FR
2188719744,2188719871,DE
2188724224,2188725247,NL
+2188729472,2188729535,ES
2188729856,2188730111,ES
2188736512,2188738047,GB
2188738307,2188738307,GB
2188740608,2188741631,GB
+2188752896,2188754943,DE
2188769472,2188769503,DE
2188769600,2188769631,DE
2188769664,2188770175,DE
@@ -70327,7 +72265,7 @@
2193190016,2193190079,CZ
2193190080,2193190911,DE
2193190912,2193191935,RO
-2193191936,2193192959,DE
+2193191936,2193192959,US
2193192960,2193193983,NL
2193193984,2193195007,DE
2193195008,2193199103,DK
@@ -70418,16 +72356,44 @@
2196439040,2197094399,SE
2197094400,2197159935,US
2197159936,2197225471,GB
-2197225472,2197318655,US
-2197318656,2197323775,IN
+2197225472,2197303295,US
+2197303296,2197303807,IE
+2197303808,2197304319,NL
+2197304320,2197304831,ES
+2197304832,2197305343,CH
+2197305344,2197305855,DE
+2197305856,2197306367,BE
+2197306368,2197306879,RO
+2197306880,2197307391,DK
+2197307392,2197307903,GB
+2197307904,2197308415,DE
+2197308416,2197308927,ZA
+2197308928,2197309951,GB
+2197309952,2197310463,IT
+2197310464,2197310975,MD
+2197310976,2197311487,DE
+2197311488,2197311999,FR
+2197312000,2197312511,IT
+2197312512,2197313023,SE
+2197313024,2197313535,PL
+2197313536,2197314047,CH
+2197314048,2197318655,IE
+2197318656,2197319167,SG
+2197319168,2197320703,IN
+2197320704,2197321215,HK
+2197321216,2197321727,AU
+2197321728,2197322239,KR
+2197322240,2197322751,JP
+2197322752,2197323775,IN
2197323776,2197487615,US
2197487616,2197553151,IT
2197553152,2197749759,US
-2197749760,2197753855,RU
+2197749760,2197751807,IQ
+2197751808,2197753855,RU
2197753856,2197754623,GB
-2197754624,2197754698,PT
+2197754624,2197754698,ES
2197754699,2197754699,GB
-2197754700,2197754879,PT
+2197754700,2197754879,ES
2197754880,2197755135,DK
2197755136,2197756159,GB
2197756160,2197756175,PT
@@ -70451,7 +72417,11 @@
2197798912,2197815295,IR
2197815296,2197816319,BO
2197816320,2197828607,BR
-2197828608,2197829631,CL
+2197828608,2197829247,CL
+2197829248,2197829287,AR
+2197829288,2197829295,CL
+2197829296,2197829375,AR
+2197829376,2197829631,CL
2197829632,2197833727,BR
2197833728,2197834751,CR
2197834752,2197841919,BR
@@ -70478,7 +72448,11 @@
2197880832,2197941247,IT
2197941248,2197941503,DE
2197941504,2197946367,IT
-2197946368,2202533887,US
+2197946368,2200921216,US
+2200921217,2200921217,GU
+2200921218,2201190527,US
+2201190528,2201190529,GB
+2201190530,2202533887,US
2202533888,2202534911,AR
2202534912,2202540031,BR
2202540032,2202541055,PY
@@ -70505,15 +72479,17 @@
2202593280,2202595327,CL
2202595328,2202596351,AR
2202596352,2202599423,BR
-2202599424,2202969087,US
-2202969088,2202976255,BH
-2202976256,2204172287,US
+2202599424,2202968291,US
+2202968292,2202968293,BH
+2202968294,2204172287,US
2204172288,2204237823,SE
2204237824,2204303359,US
2204303360,2204368895,DE
2204368896,2204369151,MX
-2204369152,2204369919,PA
-2204370944,2204375039,BR
+2204369152,2204369407,PA
+2204369408,2204369663,US
+2204369664,2204369919,PA
+2204370944,2204376063,BR
2204376064,2204377087,CL
2204377088,2204378111,BR
2204378112,2204379135,TT
@@ -70659,7 +72635,8 @@
2210668544,2210669567,CR
2210669568,2210670591,AR
2210670592,2210673663,BR
-2210673664,2210674687,HN
+2210673664,2210674175,HN
+2210674176,2210674687,US
2210674688,2210675711,BR
2210675712,2210676735,EC
2210676736,2210678783,BR
@@ -70725,19 +72702,19 @@
2212560896,2212691967,US
2212691968,2212757503,GB
2212757504,2212759551,FI
-2212759552,2212760575,US
+2212759552,2212760575,IN
2212760576,2212761599,FI
2212761600,2212762623,GB
-2212762624,2212764927,US
+2212762624,2212764927,IN
2212764928,2212765183,GB
-2212765184,2212765695,US
+2212765184,2212765695,IN
2212765696,2212766719,DE
2212766720,2212767743,GB
-2212767744,2212773887,US
-2212773888,2212777983,IN
-2212777984,2212779519,US
+2212767744,2212769791,IN
+2212769792,2212773887,US
+2212773888,2212779519,IN
2212779520,2212780031,FI
-2212780032,2212788223,US
+2212780032,2212788223,IN
2212788224,2212790271,FI
2212796416,2212798463,NL
2212803972,2212803975,DE
@@ -70745,6 +72722,7 @@
2212804000,2212804003,FR
2212804096,2212804351,NL
2212806656,2212808703,US
+2212812800,2212814847,DE
2212816384,2212816639,SG
2212816640,2212816895,IN
2212816896,2212817151,KR
@@ -70789,7 +72767,11 @@
2214405632,2214405735,US
2214405736,2214405743,IE
2214405744,2214405751,SG
-2214405752,2214428671,US
+2214405752,2214406199,US
+2214406200,2214406207,IE
+2214406208,2214406223,US
+2214406224,2214406239,IE
+2214406240,2214428671,US
2214428672,2214428927,IN
2214428928,2214429375,US
2214429376,2214429439,NL
@@ -70842,15 +72824,9 @@
2214589440,2214590463,BR
2214590464,2214591487,AR
2214591488,2214592511,BR
-2214592512,2214792525,US
-2214792526,2214792528,KR
-2214792529,2215633279,US
-2215633280,2215633280,JP
-2215633281,2215856996,US
-2215856997,2215856997,GB
-2215856998,2215967615,US
-2215967616,2215967616,JP
-2215967617,2218786815,US
+2214592512,2217904127,US
+2217904128,2217906175,PR
+2217906176,2218786815,US
2218786816,2219769855,IL
2219769856,2223075327,US
2223075328,2223079423,VI
@@ -70883,9 +72859,7 @@
2226716672,2226782207,GB
2226782208,2226847743,ZA
2226847744,2226913279,DE
-2226913280,2226999039,US
-2226999040,2226999295,IE
-2226999296,2227109887,US
+2226913280,2227109887,US
2227109888,2227175423,PE
2227175424,2227372031,US
2227372032,2227437567,DE
@@ -70905,9 +72879,9 @@
2229796864,2229862399,CN
2229862400,2229927935,US
2229927936,2229993471,AU
-2229993472,2230167551,US
-2230167552,2230168575,MY
-2230168576,2230583295,US
+2229993472,2230166527,US
+2230166528,2230167551,GB
+2230167552,2230583295,US
2230583296,2230603775,GB
2230603776,2230607871,US
2230607872,2230637567,GB
@@ -71201,9 +73175,7 @@
2248169472,2248171519,NL
2248171520,2248177663,RU
2248177664,2248179711,DE
-2248179712,2248201727,OM
-2248201728,2248201983,GB
-2248201984,2248212479,OM
+2248179712,2248212479,OM
2248212480,2248409087,DE
2248409088,2248605695,US
2248605696,2248671231,AU
@@ -71253,9 +73225,11 @@
2251948032,2252013567,BE
2252013568,2252079103,FR
2252079104,2252210175,DE
-2252210176,2252414975,US
-2252414976,2252423167,GB
-2252423168,2253062143,US
+2252210176,2252417023,US
+2252417024,2252419071,GB
+2252419072,2252449791,US
+2252449792,2252451839,BR
+2252451840,2253062143,US
2253062144,2253127679,KR
2253127680,2253193215,DE
2253193216,2253455359,US
@@ -71472,9 +73446,13 @@
2258607904,2258607999,HK
2258608000,2258608063,AU
2258608064,2258608127,HK
-2258608128,2258608183,JP
+2258608128,2258608183,AU
2258608184,2258608187,TW
-2258608188,2258608383,JP
+2258608188,2258608255,AU
+2258608256,2258608259,JP
+2258608260,2258608279,AU
+2258608280,2258608283,JP
+2258608284,2258608383,AU
2258608384,2258608639,HK
2258608640,2258608655,AU
2258608656,2258608663,JP
@@ -71566,11 +73544,11 @@
2260467712,2260533247,NL
2260533248,2260598783,US
2260598784,2260664319,CA
-2260664320,2260720639,GB
-2260720640,2260720703,DE
+2260664320,2260719615,GB
+2260719616,2260720703,DE
2260720704,2260720719,GB
-2260720720,2260720895,DE
-2260720896,2260723711,GB
+2260720720,2260721663,DE
+2260721664,2260723711,GB
2260723712,2260724223,IL
2260724224,2260729343,GB
2260729344,2260729599,IL
@@ -71591,9 +73569,7 @@
2262040576,2262106111,FR
2262106112,2262171647,GB
2262171648,2262237183,FR
-2262237184,2262410495,US
-2262410496,2262410751,FR
-2262410752,2262414335,US
+2262237184,2262414335,US
2262414336,2262415359,IN
2262415360,2262499327,US
2262499328,2262630399,GB
@@ -71700,7 +73676,9 @@
2281733376,2281750527,US
2281750528,2281755135,CN
2281755136,2281755391,US
-2281755392,2281758719,CN
+2281755392,2281757439,CN
+2281757440,2281757695,US
+2281757696,2281758719,CN
2281758720,2281760511,US
2281760512,2281760767,CH
2281760768,2282225663,US
@@ -71710,10 +73688,36 @@
2282226244,2282226245,US
2282226246,2282226943,AU
2282226944,2282227199,US
-2282227200,2282233855,AU
-2282233856,2283151359,US
+2282227200,2282227711,AU
+2282227712,2282233855,US
+2282233856,2282235903,GB
+2282235904,2283151359,US
2283151360,2283159551,IN
-2283159552,2283174399,US
+2283159552,2283163455,US
+2283163456,2283163471,CA
+2283163472,2283163487,MX
+2283163488,2283163495,PR
+2283163496,2283163503,VI
+2283163504,2283163511,UM
+2283163512,2283163583,US
+2283163584,2283163599,CA
+2283163600,2283163615,MX
+2283163616,2283163623,PR
+2283163624,2283163631,VI
+2283163632,2283163639,UM
+2283163640,2283164479,US
+2283164480,2283164495,CA
+2283164496,2283164511,MX
+2283164512,2283164519,PR
+2283164520,2283164527,VI
+2283164528,2283164535,UM
+2283164536,2283164607,US
+2283164608,2283164623,CA
+2283164624,2283164639,MX
+2283164640,2283164647,PR
+2283164648,2283164655,VI
+2283164656,2283164663,UM
+2283164664,2283174399,US
2283174400,2283174407,DE
2283174408,2283174415,FR
2283174416,2283174431,GB
@@ -71755,7 +73759,10 @@
2291073024,2291105791,NL
2291105792,2291108863,US
2291108864,2291109887,CA
-2291109888,2291130367,US
+2291109888,2291122943,US
+2291122944,2291123199,VI
+2291123200,2291126271,US
+2291126272,2291130367,CA
2291130368,2291138559,AU
2291138560,2291142655,US
2291142656,2291142911,SG
@@ -71774,7 +73781,9 @@
2291147520,2291147775,ES
2291147776,2291148799,CH
2291148800,2291149055,NL
-2291149056,2291154943,US
+2291149056,2291151103,US
+2291151104,2291151359,NL
+2291151360,2291154943,US
2291154944,2291171327,GB
2291171328,2291204095,NL
2291204096,2291269631,PR
@@ -71799,7 +73808,8 @@
2292908032,2292973567,US
2292973568,2293039103,DE
2293054976,2293055231,LU
-2293080064,2293088255,BE
+2293080064,2293082111,BE
+2293084160,2293086207,BE
2293104640,2293825535,US
2293825536,2293891071,IN
2293891072,2293956607,AU
@@ -71834,11 +73844,7 @@
2297626624,2297661437,DE
2297661438,2297661438,NL
2297661439,2297692159,DE
-2297692160,2298142719,US
-2298142720,2298150911,GB
-2298150912,2298258175,US
-2298258176,2298258431,GB
-2298258432,2298413055,US
+2297692160,2298413055,US
2298413056,2298478591,RO
2298478592,2299461631,US
2299461632,2299527167,CA
@@ -71879,13 +73885,13 @@
2302372864,2302373887,MY
2302373888,2302374911,TH
2302374912,2302375935,VN
-2302375936,2302376191,AF
-2302376192,2302376447,DE
-2302376448,2302376959,AF
+2302375936,2302376959,AF
2302376960,2302377983,ID
2302377984,2302382079,IN
2302382080,2302383103,PK
-2302383104,2302384127,IN
+2302383104,2302383304,IN
+2302383305,2302383305,HK
+2302383306,2302384127,IN
2302384128,2302385151,BD
2302385152,2302386175,IN
2302386176,2302387199,ID
@@ -71915,8 +73921,8 @@
2302738432,2302935039,US
2302935040,2303000575,KR
2303000576,2303189503,US
-2303189504,2303189759,IE
-2303189760,2303262719,US
+2303189504,2303190015,IE
+2303190016,2303262719,US
2303262720,2303328255,GB
2303328256,2303330303,PL
2303330304,2303330591,FR
@@ -71941,7 +73947,9 @@
2303334272,2303334399,ES
2303334400,2303336543,FR
2303336544,2303336575,PL
-2303336576,2303336943,FR
+2303336576,2303336671,FR
+2303336672,2303336687,PL
+2303336688,2303336943,FR
2303336944,2303336959,PL
2303336960,2303337855,FR
2303337856,2303337887,PT
@@ -71955,7 +73963,9 @@
2303340800,2303340927,PL
2303340928,2303341283,FR
2303341284,2303341287,FI
-2303341288,2303341951,FR
+2303341288,2303341663,FR
+2303341664,2303341695,PL
+2303341696,2303341951,FR
2303341952,2303341967,ES
2303341968,2303342031,FR
2303342032,2303342039,ES
@@ -71981,14 +73991,18 @@
2303343828,2303343831,DE
2303343832,2303344127,FR
2303344128,2303344191,CZ
-2303344192,2303344471,FR
+2303344192,2303344307,FR
+2303344308,2303344311,GB
+2303344312,2303344471,FR
2303344472,2303344479,IE
-2303344480,2303344511,PL
-2303344512,2303344559,FR
+2303344480,2303344527,PL
+2303344528,2303344559,FR
2303344560,2303344575,PL
2303344576,2303344847,FR
2303344848,2303344863,ES
-2303344864,2303348863,FR
+2303344864,2303347091,FR
+2303347092,2303347095,BE
+2303347096,2303348863,FR
2303348864,2303348991,GB
2303348992,2303349119,FR
2303349120,2303349247,ES
@@ -72014,7 +74028,8 @@
2303353696,2303353727,DE
2303353728,2303353783,FR
2303353784,2303353787,GB
-2303353788,2303354555,FR
+2303353788,2303354551,FR
+2303354552,2303354555,NL
2303354556,2303354559,FI
2303354560,2303355147,FR
2303355148,2303355151,DE
@@ -72033,7 +74048,9 @@
2303365280,2303365295,GB
2303365296,2303365679,FR
2303365680,2303365695,NL
-2303365696,2303367923,FR
+2303365696,2303367879,FR
+2303367880,2303367883,DE
+2303367884,2303367923,FR
2303367924,2303367927,DE
2303367928,2303368191,FR
2303368192,2303368207,DE
@@ -72058,7 +74075,9 @@
2303382880,2303382895,ES
2303382896,2303383151,FR
2303383152,2303383167,LT
-2303383168,2303383503,FR
+2303383168,2303383295,FR
+2303383296,2303383359,ES
+2303383360,2303383503,FR
2303383504,2303383519,GB
2303383520,2303383807,FR
2303383808,2303383935,ES
@@ -72068,7 +74087,10 @@
2303385088,2303385103,FI
2303385104,2303386879,FR
2303386880,2303387007,BE
-2303387008,2303387535,FR
+2303387008,2303387171,FR
+2303387172,2303387175,CZ
+2303387176,2303387179,PT
+2303387180,2303387535,FR
2303387536,2303387551,PT
2303387552,2303387567,FI
2303387568,2303387591,FR
@@ -72082,7 +74104,9 @@
2303388416,2303388543,ES
2303388544,2303390015,FR
2303390016,2303390079,GB
-2303390080,2303390655,FR
+2303390080,2303390119,FR
+2303390120,2303390127,DE
+2303390128,2303390655,FR
2303390656,2303390719,PL
2303390720,2303391007,FR
2303391008,2303391039,IE
@@ -72097,7 +74121,8 @@
2303392844,2303392847,FI
2303392848,2303392895,FR
2303392896,2303392899,DE
-2303392900,2303393247,FR
+2303392900,2303392903,BE
+2303392904,2303393247,FR
2303393248,2303393263,GB
2303393264,2303393535,FR
2303393536,2303393567,PT
@@ -72110,8 +74135,7 @@
2304507904,2304573439,AU
2304573440,2304638975,NO
2304638976,2304704511,CA
-2304704512,2304712703,DE
-2304712704,2304770047,US
+2304704512,2304770047,US
2304770048,2304835583,FI
2304835584,2304901119,IN
2304901120,2304966655,CZ
@@ -72142,7 +74166,9 @@
2306932736,2306998271,FR
2306998272,2307129343,US
2307129344,2307194879,SG
-2307194880,2307197951,NO
+2307194880,2307195903,BR
+2307195904,2307196927,NO
+2307196928,2307197951,FI
2307197952,2307198975,DE
2307198976,2307260415,NO
2307260416,2307278847,US
@@ -72185,7 +74211,8 @@
2311127040,2311192575,DE
2311192576,2311258111,FR
2311258112,2311315455,GB
-2311315456,2311323647,MY
+2311315456,2311319551,MY
+2311319552,2311323647,GB
2311323648,2311389183,MW
2311389184,2311847935,US
2311847936,2311913471,IT
@@ -72268,15 +74295,15 @@
2317221888,2317287423,JP
2317287424,2317357567,US
2317357568,2317357823,AU
-2317357824,2317393919,US
-2317393920,2317398015,NO
-2317398016,2317402111,GB
-2317402112,2317412351,US
+2317357824,2317395967,US
+2317395968,2317398015,NO
+2317398016,2317400063,GB
+2317400064,2317412351,US
2317412352,2317413375,CA
2317413376,2317413631,ID
-2317413632,2317414655,US
-2317414656,2317414911,AU
-2317414912,2317484031,US
+2317413632,2317414399,US
+2317414400,2317415423,AU
+2317415424,2317484031,US
2317484032,2317487359,CA
2317487360,2317487615,US
2317487616,2317549567,CA
@@ -72320,9 +74347,8 @@
2318663680,2319122431,US
2319122432,2319123455,AR
2319123456,2319123967,HN
-2319123968,2319124991,US
-2319124992,2319125247,VE
-2319125248,2319125503,US
+2319123968,2319124479,US
+2319124480,2319125503,VE
2319125504,2319126527,UY
2319126528,2319127551,CR
2319127552,2319128575,BR
@@ -72337,8 +74363,7 @@
2319156224,2319157247,CR
2319157248,2319158271,BR
2319158272,2319159295,AR
-2319159296,2319160319,BR
-2319160320,2319161343,PA
+2319159296,2319161343,BR
2319162368,2319164415,BR
2319164416,2319165439,PY
2319165440,2319167487,AR
@@ -72397,8 +74422,7 @@
2321446912,2321447935,HN
2321447936,2321452031,BR
2321452032,2321453055,MX
-2321453056,2321453567,US
-2321453568,2321454079,HN
+2321453056,2321454079,US
2321454080,2321467136,BR
2321467137,2321467137,US
2321467138,2321471487,BR
@@ -72477,7 +74501,8 @@
2321797632,2321797887,SE
2321797888,2321798143,NL
2321798144,2321799167,CW
-2321799168,2321800191,BZ
+2321799168,2321799935,BZ
+2321799936,2321800191,CL
2321800192,2321801215,AR
2321801216,2321802239,CL
2321803264,2321804287,BR
@@ -72486,8 +74511,9 @@
2321809408,2321874943,ES
2321874944,2321940479,JP
2321940480,2322006015,FR
-2322006016,2322014207,US
-2322014208,2322071551,SE
+2322006016,2322010383,SE
+2322010384,2322010399,US
+2322010400,2322071551,SE
2322071552,2322129919,GB
2322129920,2322130175,IN
2322130176,2322130431,GB
@@ -72498,7 +74524,11 @@
2322268160,2322333695,JP
2322333696,2322341887,US
2322341888,2322342399,MX
-2322342400,2322368511,US
+2322342400,2322342911,US
+2322342912,2322343167,BR
+2322343168,2322356223,US
+2322356224,2322358271,GB
+2322358272,2322368511,US
2322368512,2322368767,MY
2322368768,2322923519,US
2322923520,2322924543,BR
@@ -72616,71 +74646,83 @@
2323315712,2323316735,MX
2323316736,2323382271,US
2323382272,2323447807,NO
-2323447808,2323644447,US
-2323644448,2323644479,CA
-2323644480,2323644487,US
-2323644488,2323644495,CA
+2323447808,2323644431,US
+2323644432,2323644495,CA
2323644496,2323644511,US
2323644512,2323644543,CA
-2323644544,2323644631,US
+2323644544,2323644575,US
+2323644576,2323644607,CA
+2323644608,2323644631,US
2323644632,2323644639,CA
2323644640,2323644655,US
2323644656,2323644671,CA
-2323644672,2323644735,US
-2323644736,2323644783,CA
-2323644784,2323645119,US
+2323644672,2323644719,US
+2323644720,2323644799,CA
+2323644800,2323644895,US
+2323644896,2323644927,CA
+2323644928,2323645071,US
+2323645072,2323645087,CA
+2323645088,2323645119,US
2323645120,2323645135,CA
2323645136,2323645151,US
-2323645152,2323645191,CA
-2323645192,2323645199,SE
+2323645152,2323645199,CA
2323645200,2323645263,US
-2323645264,2323645271,CA
-2323645272,2323645471,US
+2323645264,2323645279,CA
+2323645280,2323645471,US
2323645472,2323645503,CA
-2323645504,2323645967,US
-2323645968,2323645983,CA
+2323645504,2323645535,US
+2323645536,2323645567,CA
+2323645568,2323645663,US
+2323645664,2323645695,CA
+2323645696,2323645951,US
+2323645952,2323645983,CA
2323645984,2323645999,US
2323646000,2323646015,CA
2323646016,2323646079,US
-2323646080,2323646119,CA
-2323646120,2323646127,FI
+2323646080,2323646127,CA
2323646128,2323646335,US
2323646336,2323646383,CA
2323646384,2323646415,US
-2323646416,2323646423,CA
-2323646424,2323646463,US
+2323646416,2323646431,CA
+2323646432,2323646463,US
2323646464,2323646479,CA
2323646480,2323646495,US
2323646496,2323646527,CA
-2323646528,2323646823,US
-2323646824,2323646831,CA
+2323646528,2323646783,US
+2323646784,2323646799,CA
+2323646800,2323646815,US
+2323646816,2323646831,CA
2323646832,2323646911,US
-2323646912,2323646943,CA
-2323646944,2323647199,US
+2323646912,2323646975,CA
+2323646976,2323647119,US
+2323647120,2323647135,CA
+2323647136,2323647199,US
2323647200,2323647215,CA
-2323647216,2323647327,US
-2323647328,2323647359,CA
-2323647360,2323647391,US
-2323647392,2323647407,CA
-2323647408,2323647551,US
-2323647552,2323647583,CA
-2323647584,2323647759,US
-2323647760,2323647775,CA
+2323647216,2323647311,US
+2323647312,2323647407,CA
+2323647408,2323647487,US
+2323647488,2323647519,CA
+2323647520,2323647535,US
+2323647536,2323647583,CA
+2323647584,2323647743,US
+2323647744,2323647775,CA
2323647776,2323647871,US
-2323647872,2323647887,CA
-2323647888,2323647999,US
+2323647872,2323647903,CA
+2323647904,2323647999,US
2323648000,2323648007,CA
2323648008,2323648015,FI
-2323648016,2323648319,US
+2323648016,2323648031,US
+2323648032,2323648063,CA
+2323648064,2323648319,US
2323648320,2323648335,CA
-2323648336,2323648639,US
+2323648336,2323648351,US
+2323648352,2323648367,CA
+2323648368,2323648639,US
2323648640,2323648655,CA
-2323648656,2323648767,US
-2323648768,2323648875,CA
-2323648876,2323648879,US
-2323648880,2323648899,CA
-2323648900,2323648903,US
-2323648904,2323648943,CA
+2323648656,2323648671,US
+2323648672,2323648703,CA
+2323648704,2323648767,US
+2323648768,2323648943,CA
2323648944,2323648951,US
2323648952,2323649023,CA
2323649024,2323649279,US
@@ -72688,29 +74730,24 @@
2323649752,2323649759,US
2323649760,2323649775,CA
2323649776,2323649783,US
-2323649784,2323649791,CA
-2323649792,2323649799,US
-2323649800,2323649823,CA
+2323649784,2323649823,CA
2323649824,2323649831,NO
2323649832,2323649855,CA
2323649856,2323649863,US
2323649864,2323649895,CA
-2323649896,2323649911,US
-2323649912,2323649919,CA
-2323649920,2323649943,US
-2323649944,2323649951,CA
+2323649896,2323649903,US
+2323649904,2323649919,CA
+2323649920,2323649935,US
+2323649936,2323649951,CA
2323649952,2323649959,US
-2323649960,2323649983,CA
-2323649984,2323650007,US
+2323649960,2323649999,CA
+2323650000,2323650007,US
2323650008,2323650015,RO
-2323650016,2323650031,US
+2323650016,2323650023,CA
+2323650024,2323650031,US
2323650032,2323650039,CA
2323650040,2323650047,US
-2323650048,2323650063,CA
-2323650064,2323650071,US
-2323650072,2323650079,CA
-2323650080,2323650095,US
-2323650096,2323650135,CA
+2323650048,2323650135,CA
2323650136,2323650151,US
2323650152,2323650167,CA
2323650168,2323650175,US
@@ -72722,88 +74759,81 @@
2323650240,2323650255,US
2323650256,2323650263,CA
2323650264,2323650271,US
-2323650272,2323650355,CA
-2323650356,2323650359,US
-2323650360,2323650367,CA
-2323650368,2323650375,SE
-2323650376,2323650447,CA
+2323650272,2323650447,CA
2323650448,2323650455,US
-2323650456,2323650503,CA
-2323650504,2323650511,US
-2323650512,2323650527,CA
-2323650528,2323650859,US
-2323650860,2323650863,CA
-2323650864,2323651071,US
-2323651072,2323651103,CA
-2323651104,2323651135,US
-2323651136,2323651327,CA
-2323651328,2323651839,US
-2323651840,2323652223,CA
-2323652224,2323652255,US
-2323652256,2323652271,CA
-2323652272,2323652351,US
-2323652352,2323652863,CA
-2323652864,2323653887,US
+2323650456,2323651327,CA
+2323651328,2323651583,US
+2323651584,2323652287,CA
+2323652288,2323652335,US
+2323652336,2323652863,CA
+2323652864,2323653119,US
+2323653120,2323653151,CA
+2323653152,2323653887,US
2323653888,2323654143,CA
2323654144,2323654655,US
2323654656,2323655423,CA
2323655424,2323655503,US
2323655504,2323655511,CA
-2323655512,2323655935,US
+2323655512,2323655519,US
+2323655520,2323655551,CA
+2323655552,2323655823,US
+2323655824,2323655871,CA
+2323655872,2323655935,US
2323655936,2323655967,CA
2323655968,2323655983,US
2323655984,2323655991,CA
2323655992,2323655999,US
-2323656000,2323656007,CA
-2323656008,2323656015,US
-2323656016,2323656031,CA
+2323656000,2323656031,CA
2323656032,2323656207,US
2323656208,2323656255,CA
-2323656256,2323656447,US
-2323656448,2323656543,CA
-2323656544,2323656575,US
-2323656576,2323656607,CA
+2323656256,2323656271,US
+2323656272,2323656287,CA
+2323656288,2323656447,US
+2323656448,2323656607,CA
2323656608,2323656639,US
-2323656640,2323656703,CA
-2323656704,2323656735,US
+2323656640,2323656719,CA
+2323656720,2323656735,US
2323656736,2323656767,CA
2323656768,2323656815,US
2323656816,2323656831,CA
2323656832,2323656895,US
2323656896,2323656927,CA
-2323656928,2323657311,US
+2323656928,2323657263,US
+2323657264,2323657279,CA
+2323657280,2323657311,US
2323657312,2323657343,CA
-2323657344,2323657567,US
-2323657568,2323657663,CA
-2323657664,2323657839,US
+2323657344,2323657535,US
+2323657536,2323657551,CA
+2323657552,2323657559,US
+2323657560,2323657663,CA
+2323657664,2323657695,US
+2323657696,2323657711,CA
+2323657712,2323657759,US
+2323657760,2323657775,CA
+2323657776,2323657839,US
2323657840,2323657919,CA
2323657920,2323658495,US
2323658496,2323658751,CA
2323658752,2323659519,US
2323659520,2323659775,CA
-2323659776,2323660223,US
-2323660224,2323660287,CA
+2323659776,2323660191,US
+2323660192,2323660287,CA
2323660288,2323660543,US
-2323660544,2323660799,CA
-2323660800,2323661055,US
-2323661056,2323661103,CA
+2323660544,2323661103,CA
2323661104,2323661111,US
2323661112,2323661143,CA
-2323661144,2323661159,US
-2323661160,2323661199,CA
+2323661144,2323661151,US
+2323661152,2323661199,CA
2323661200,2323661223,US
2323661224,2323661239,CA
2323661240,2323661271,US
2323661272,2323661311,CA
2323661312,2323661567,US
-2323661568,2323661607,CA
-2323661608,2323661615,FI
-2323661616,2323662335,US
+2323661568,2323661623,CA
+2323661624,2323662335,US
2323662336,2323662399,CA
2323662400,2323662527,US
-2323662528,2323662559,CA
-2323662560,2323662591,US
-2323662592,2323662655,CA
+2323662528,2323662655,CA
2323662656,2323662719,US
2323662720,2323662751,CA
2323662752,2323662767,US
@@ -72821,26 +74851,23 @@
2323664384,2323664639,US
2323664640,2323664959,CA
2323664960,2323665039,US
-2323665040,2323665047,SE
+2323665040,2323665047,CA
2323665048,2323665087,US
2323665088,2323665151,CA
2323665152,2323665407,US
-2323665408,2323665663,CA
-2323665664,2323666687,US
-2323666688,2323666943,CA
-2323666944,2323667071,US
-2323667072,2323667327,CA
-2323667328,2323667455,US
-2323667456,2323668223,CA
+2323665408,2323665919,CA
+2323665920,2323666687,US
+2323666688,2323668223,CA
2323668224,2323668991,US
2323668992,2323669759,CA
2323669760,2323670015,US
2323670016,2323670271,CA
-2323670272,2323672135,US
-2323672136,2323672191,CA
-2323672192,2323672447,US
-2323672448,2323672455,CA
-2323672456,2323672463,SE
+2323670272,2323671039,US
+2323671040,2323671295,CA
+2323671296,2323672127,US
+2323672128,2323672191,CA
+2323672192,2323672383,US
+2323672384,2323672463,CA
2323672464,2323672479,US
2323672480,2323672511,CA
2323672512,2323672575,US
@@ -72854,31 +74881,13 @@
2323672848,2323672863,US
2323672864,2323672895,CA
2323672896,2323672959,US
-2323672960,2323672991,CA
-2323672992,2323673007,US
-2323673008,2323673015,CA
-2323673016,2323673351,US
+2323672960,2323673055,CA
+2323673056,2323673351,US
2323673352,2323673359,CA
2323673360,2323673599,US
-2323673600,2323673887,CA
-2323673888,2323673891,US
-2323673892,2323673931,CA
-2323673932,2323673935,US
-2323673936,2323673939,CA
-2323673940,2323673943,US
-2323673944,2323673971,CA
-2323673972,2323673975,US
-2323673976,2323673983,CA
+2323673600,2323673983,CA
2323673984,2323674175,US
-2323674176,2323674239,CA
-2323674240,2323674367,US
-2323674368,2323674383,CA
-2323674384,2323674387,US
-2323674388,2323674451,CA
-2323674452,2323674455,US
-2323674456,2323674475,CA
-2323674476,2323674479,US
-2323674480,2323674511,CA
+2323674176,2323674511,CA
2323674512,2323674527,US
2323674528,2323674535,CA
2323674536,2323674543,US
@@ -72897,7 +74906,11 @@
2323675520,2323675647,CA
2323675648,2323675839,US
2323675840,2323675903,CA
-2323675904,2323690495,US
+2323675904,2323676927,US
+2323676928,2323676991,CA
+2323676992,2323680255,US
+2323680256,2323681279,NL
+2323681280,2323690495,US
2323690496,2323690751,IN
2323690752,2323699711,US
2323699712,2323700735,NL
@@ -72910,10 +74923,8 @@
2324021504,2324037631,US
2324037632,2324103167,IL
2324103168,2325979176,US
-2325979177,2325979178,JP
-2325979179,2327101954,US
-2327101955,2327101955,IT
-2327101956,2327379967,US
+2325979177,2325979177,JP
+2325979178,2327379967,US
2327379968,2327380991,MX
2327380992,2327383039,BR
2327383040,2327384063,CL
@@ -72956,10 +74967,12 @@
2327468032,2327469055,PA
2327469056,2327471103,BR
2327471104,2327472127,MX
-2327472128,2327475199,BR
+2327472128,2327476223,BR
2327476224,2327477247,CL
2327477248,2327480319,BR
-2327480320,2327481007,HN
+2327480320,2327480575,HN
+2327480576,2327480831,US
+2327480832,2327481007,HN
2327481008,2327481023,US
2327481024,2327481343,HN
2327481344,2327481599,MX
@@ -72976,13 +74989,7 @@
2327494656,2327496703,BR
2327496704,2327497727,MX
2327497728,2327498751,BR
-2327498752,2327499055,HN
-2327499056,2327499063,CL
-2327499064,2327499623,HN
-2327499624,2327499631,CL
-2327499632,2327499639,HN
-2327499640,2327499647,CL
-2327499648,2327499775,HN
+2327498752,2327499775,US
2327499776,2327501823,AR
2327501824,2327507967,BR
2327507968,2327508991,AR
@@ -73000,9 +75007,7 @@
2328230912,2328231935,US
2328231936,2328297471,GB
2328313856,2328317183,NL
-2328317184,2328317184,DE
-2328317185,2328317439,NL
-2328317440,2328317695,DE
+2328317184,2328317695,DE
2328317696,2328317951,NL
2328342528,2328342783,DE
2328362752,2328485437,DE
@@ -73035,13 +75040,11 @@
2328686592,2328687615,BR
2328687616,2328690687,AR
2328690688,2328756223,BE
-2328756224,2328764415,CH
-2328764416,2328772607,HK
-2328772608,2328788991,CH
-2328788992,2328794239,AU
+2328756224,2328766463,CH
+2328766464,2328767487,HK
+2328767488,2328794239,CH
2328794240,2328794303,JP
-2328794304,2328797183,AU
-2328797184,2328797439,CH
+2328794304,2328797439,CH
2328797440,2328797695,AU
2328797696,2328808063,CH
2328808064,2328808127,HK
@@ -73202,7 +75205,9 @@
2334064640,2334916607,US
2334916608,2334982143,AU
2334982144,2335014911,DK
-2335014912,2335031295,IE
+2335014912,2335023103,IE
+2335023104,2335023359,FR
+2335023360,2335031295,IE
2335031296,2335047679,NL
2335047680,2335113215,US
2335113216,2335154175,ES
@@ -73235,9 +75240,7 @@
2336008192,2336009215,CA
2336009216,2336010239,US
2336010240,2336014335,PR
-2336014336,2336024575,US
-2336024576,2336026623,CA
-2336026624,2336161791,US
+2336014336,2336161791,US
2336161792,2336227327,NL
2336227328,2336260095,CA
2336260096,2336358399,US
@@ -73246,7 +75249,9 @@
2336410624,2336411647,US
2336411648,2336412671,SG
2336412672,2336423935,SE
-2336423936,2336882687,US
+2336423936,2336735231,US
+2336735232,2336737279,AU
+2336737280,2336882687,US
2336882688,2336948223,FI
2336948224,2337013759,DE
2337013760,2337210367,US
@@ -73318,6 +75323,7 @@
2338113536,2338113791,FR
2338115072,2338115839,IL
2338120448,2338120959,DE
+2338122240,2338122495,GB
2338123008,2338123519,AT
2338123520,2338123775,IT
2338124800,2338125055,GB
@@ -73343,8 +75349,8 @@
2338914304,2339962879,NO
2339962880,2340028415,US
2340028416,2340081663,SE
-2340081664,2340085759,BR
-2340085760,2340093951,SE
+2340081664,2340083711,BR
+2340083712,2340093951,SE
2340093952,2340159487,FI
2340159488,2340225023,FR
2340225024,2340421631,US
@@ -73366,7 +75372,9 @@
2341135872,2341136127,CN
2341136128,2341136639,US
2341136640,2341136655,DE
-2341136656,2341273599,US
+2341136656,2341137919,US
+2341137920,2341137935,CN
+2341137936,2341273599,US
2341273600,2341339135,KW
2341339136,2341404671,CA
2341404672,2341470207,GB
@@ -73410,12 +75418,15 @@
2343723008,2343731199,AT
2343731200,2343763967,NL
2343763968,2343829503,TR
-2343829504,2343845887,US
+2343829504,2343829759,JP
+2343829760,2343830015,CA
+2343830016,2343830271,BR
+2343830272,2343845887,US
2343845888,2343862271,NZ
-2343862272,2343878655,US
-2343878656,2343882751,JP
-2343882752,2343885823,SG
-2343885824,2343934975,US
+2343862272,2343864319,SG
+2343864320,2343882751,JP
+2343882752,2343886847,SG
+2343886848,2343934975,US
2343934976,2343935999,IL
2343936000,2344026111,US
2344026112,2344091647,CN
@@ -73426,8 +75437,7 @@
2344353792,2344419327,AU
2344419328,2344484863,CN
2344484864,2344550399,PK
-2344599552,2344607743,NL
-2344607744,2344615935,IT
+2344611840,2344613887,IT
2344615936,2344878079,ID
2344878080,2346188799,CN
2346188800,2346254335,AU
@@ -73482,19 +75492,16 @@
2355036160,2355101695,US
2355101696,2355167231,TW
2355167232,2355232767,GB
-2355232768,2355437311,US
-2355437312,2355437567,GB
-2355437568,2355470319,US
+2355232768,2355470319,US
2355470320,2355470335,SG
-2355470336,2355470575,US
-2355470576,2355470591,PL
-2355470592,2355471087,US
+2355470336,2355471087,PL
2355471088,2355471103,BR
-2355471104,2355482607,US
+2355471104,2355472383,PL
+2355472384,2355482607,US
2355482608,2355482623,HK
-2355482624,2355486719,US
-2355486720,2355494911,AU
-2355494912,2355691519,US
+2355482624,2355490815,US
+2355490816,2355492863,AU
+2355492864,2355691519,US
2355691520,2355757055,IT
2355757056,2355953663,US
2355953664,2357919743,TW
@@ -73511,7 +75518,9 @@
2359361536,2359427071,CA
2359427072,2359558143,US
2359558144,2359623679,IT
-2359623680,2359689215,US
+2359623680,2359636991,US
+2359636992,2359638015,CA
+2359638016,2359689215,US
2359689216,2359754751,SE
2359754752,2359820287,CA
2359820288,2359884799,AU
@@ -73563,8 +75572,7 @@
2365456384,2365521919,US
2365521920,2365587455,CN
2365587456,2365589503,JO
-2365589504,2365590015,IN
-2365590016,2365590527,SG
+2365589504,2365590527,SG
2365590528,2365591039,ZA
2365591552,2365593599,DE
2365593600,2365595647,NL
@@ -73646,7 +75654,8 @@
2372225024,2372225791,US
2372225792,2372226559,NL
2372227072,2372229119,KR
-2372229120,2372229375,FR
+2372229120,2372229120,ES
+2372229121,2372229375,FR
2372230656,2372231679,CZ
2372231680,2372232191,GB
2372232192,2372233215,CL
@@ -73669,7 +75678,9 @@
2372243968,2372244223,NO
2372244224,2372244479,BN
2372244480,2372251391,US
-2372251392,2372272127,RU
+2372251392,2372258047,RU
+2372258048,2372258175,NL
+2372258176,2372272127,RU
2372272128,2372337663,US
2372337664,2372403199,ID
2372403200,2372468735,US
@@ -73699,8 +75710,11 @@
2372730880,2372796415,CA
2372796416,2372993023,US
2372993024,2373025791,DE
-2373025792,2373029887,SG
-2373029888,2373038079,US
+2373025792,2373027839,SG
+2373027840,2373031935,DE
+2373031936,2373033983,US
+2373033984,2373036031,DE
+2373036032,2373038079,US
2373038080,2373058559,DE
2373058560,2373124095,US
2373124096,2373189631,FR
@@ -73720,7 +75734,9 @@
2374500352,2374502399,LV
2374502400,2374504447,MK
2374504448,2374508543,US
-2374508544,2374512639,LT
+2374508544,2374512127,LT
+2374512128,2374512382,US
+2374512383,2374512639,LT
2374512640,2374514687,SK
2374514688,2374516735,ES
2374516736,2374524927,AM
@@ -73750,7 +75766,9 @@
2374688768,2374696959,GB
2374696960,2374959103,US
2374959104,2375008255,GB
-2375008256,2375012351,NL
+2375008256,2375008511,NL
+2375008512,2375008767,RO
+2375008768,2375012351,NL
2375012352,2375024639,GB
2375024640,2375090175,DK
2375090176,2375102259,NO
@@ -73759,13 +75777,13 @@
2375155712,2375221247,US
2375221248,2375286783,SE
2375286784,2375352319,CH
-2375352320,2376077311,US
-2376077312,2376081407,GB
-2376081408,2376083199,US
+2375352320,2376083199,US
2376083200,2376083455,CA
2376083456,2376083711,US
2376083712,2376083967,AU
-2376083968,2376269823,US
+2376083968,2376233215,US
+2376233216,2376233471,AU
+2376233472,2376269823,US
2376269824,2376335359,GB
2376335360,2376597503,US
2376597504,2376663039,AU
@@ -73823,10 +75841,10 @@
2378366976,2378432511,US
2378432512,2378498047,TR
2378498048,2378500607,US
-2378500608,2378501119,GB
-2378501120,2378504191,US
-2378504192,2378504447,NL
-2378504448,2378694655,US
+2378500608,2378500863,GB
+2378500864,2378504191,US
+2378504192,2378506239,NL
+2378506240,2378694655,US
2378694656,2378760191,DE
2378760192,2378825727,AT
2378825728,2378891263,US
@@ -73841,11 +75859,11 @@
2380398592,2380420095,IL
2380420096,2380420863,GB
2380420864,2380423167,IL
-2380423168,2380427263,US
-2380427264,2380428799,GB
-2380428800,2380430847,IL
-2380430848,2380431103,GB
-2380431104,2380431615,IL
+2380423168,2380427519,US
+2380427520,2380428799,GB
+2380428800,2380430335,IL
+2380430336,2380431359,GB
+2380431360,2380431615,IL
2380431616,2380431871,US
2380431872,2380432127,TH
2380432128,2380432383,US
@@ -73857,7 +75875,8 @@
2380455936,2380456447,US
2380456448,2380456959,IL
2380456960,2380457215,NL
-2380457216,2380457727,US
+2380457216,2380457471,SG
+2380457472,2380457727,US
2380457728,2380457983,HK
2380457984,2380464127,IL
2380464128,2380464639,FR
@@ -73866,10 +75885,13 @@
2380465440,2380465443,SG
2380465444,2380529663,FR
2380529664,2380558335,GB
-2380558336,2380562431,ZA
-2380562432,2380578815,GB
-2380578816,2380587007,JP
-2380587008,2380595199,GB
+2380558336,2380560383,ZA
+2380560384,2380578815,GB
+2380578816,2380580863,JP
+2380580864,2380593151,GB
+2380593152,2380593663,SG
+2380593664,2380593919,GB
+2380593920,2380595199,SG
2380660736,2380726271,US
2380726272,2380791807,GB
2380791808,2381119487,US
@@ -73897,9 +75919,11 @@
2382364672,2382368767,US
2382368768,2382374143,CA
2382374144,2382374399,US
-2382374400,2382376703,CA
-2382376704,2382381055,US
-2382381056,2382383209,CA
+2382374400,2382376959,CA
+2382376960,2382381055,US
+2382381056,2382383113,CA
+2382383114,2382383114,AE
+2382383115,2382383209,CA
2382383210,2382383210,AE
2382383211,2382385151,CA
2382385152,2382401535,US
@@ -73913,8 +75937,8 @@
2382654464,2382657023,US
2382657024,2382657535,CN
2382657536,2382657791,US
-2382657792,2382658303,CN
-2382658304,2382658559,US
+2382657792,2382658047,CN
+2382658048,2382658559,US
2382658560,2382658815,CA
2382658816,2382675967,US
2382675968,2382676107,CA
@@ -73935,9 +75959,9 @@
2385031168,2385032191,BR
2385032192,2385032703,CA
2385032704,2385035263,BR
-2385035264,2385293087,CA
-2385293088,2385293111,US
-2385293112,2385307727,CA
+2385035264,2385295359,CA
+2385295360,2385295615,US
+2385295616,2385307727,CA
2385307728,2385307735,US
2385307736,2385903615,CA
2385903616,2385908735,US
@@ -73969,9 +75993,7 @@
2387345408,2387410943,CA
2387410944,2387476479,US
2387476480,2387542015,CA
-2387542016,2387587583,US
-2387587584,2387588095,AU
-2387588096,2387607551,US
+2387542016,2387607551,US
2387607552,2388328447,CA
2388328448,2388330495,US
2388330496,2388332543,NL
@@ -74049,8 +76071,8 @@
2395804416,2395804671,US
2395804672,2395810815,CA
2395810816,2395811071,US
-2395811072,2395811839,CA
-2395811840,2395815935,US
+2395811072,2395813887,CA
+2395813888,2395815935,US
2395815936,2395841023,CA
2395841024,2395841535,GB
2395841536,2397700095,CA
@@ -74060,8 +76082,10 @@
2397765632,2398748671,CA
2398748672,2398945279,US
2398945280,2399010815,CA
-2399010816,2399109119,US
-2399109120,2399141887,PR
+2399010816,2399121407,US
+2399121408,2399131647,PR
+2399131648,2399133695,US
+2399133696,2399141887,PR
2399141888,2399150079,BR
2399150080,2399151103,BQ
2399151104,2399158271,BR
@@ -74102,18 +76126,16 @@
2401380352,2401380863,SG
2401380864,2401828863,US
2401828864,2401894399,GB
-2401894400,2402091523,US
-2402091524,2402091524,JP
-2402091525,2402222079,US
+2401894400,2402222079,US
2402222080,2402287615,IE
2402287616,2402418687,US
2402418688,2402484223,AT
2402484224,2402549759,FI
2402549760,2402680831,GB
2402680832,2402746367,BR
-2402746368,2402942975,US
-2402942976,2402951167,GB
-2402951168,2403401727,US
+2402746368,2402945023,US
+2402945024,2402945279,GB
+2402945280,2403401727,US
2403401728,2403467263,GB
2403467264,2404974591,US
2404974592,2405040127,HK
@@ -74167,9 +76189,7 @@
2408165376,2408169471,BR
2408169472,2408170495,TT
2408170496,2408178687,BR
-2408178688,2408179423,HN
-2408179424,2408179431,IT
-2408179432,2408179711,HN
+2408178688,2408179711,HN
2408179712,2408182783,BR
2408182784,2408183807,AR
2408183808,2408185855,BR
@@ -74312,7 +76332,7 @@
2415893504,2415894527,PA
2415894528,2415898623,BR
2415898624,2415899647,CL
-2415899648,2415904767,BR
+2415900672,2415904767,BR
2415904768,2415905023,US
2415905024,2415917055,BR
2415917056,2415918079,EC
@@ -74369,17 +76389,15 @@
2418296320,2418297343,IN
2418297344,2418305023,US
2418305024,2418305279,IN
-2418305280,2418307071,US
-2418307072,2418309119,LV
+2418305280,2418309119,US
2418309120,2418311167,PL
-2418311168,2418311679,IN
-2418311680,2418312191,CZ
-2418312192,2418312703,US
-2418312704,2418313215,IN
+2418311168,2418313215,IN
2418313216,2418314239,US
2418314240,2418314751,IN
2418314752,2418315263,US
-2418315264,2418316799,IN
+2418315264,2418315775,IN
+2418315776,2418316287,US
+2418316288,2418316799,IN
2418316800,2418323455,US
2418323456,2418323711,IN
2418323712,2418323967,US
@@ -74388,25 +76406,26 @@
2418324992,2418326015,IN
2418326016,2418326527,US
2418326528,2418327039,IN
-2418327040,2418327551,US
-2418327552,2418329599,SK
-2418329600,2418331135,US
+2418327040,2418331135,US
2418331136,2418331647,IN
2418331648,2418332159,US
2418332160,2418332671,IN
2418332672,2418333183,US
-2418333184,2418334207,IN
-2418334208,2418334719,US
-2418334720,2418343935,IN
+2418333184,2418339839,IN
+2418339840,2418340863,US
+2418340864,2418341375,IN
+2418341376,2418341887,US
+2418341888,2418342911,IN
+2418342912,2418343423,US
+2418343424,2418343935,IN
2418343936,2418606079,US
2418606080,2418671615,DE
2418671616,2418737151,US
2418737152,2418802687,NL
2418868224,2418991103,US
-2418991104,2418999295,GB
-2418999296,2419064831,US
-2419064832,2419065343,BD
-2419065344,2419065855,IN
+2418991104,2418993151,GB
+2418993152,2419064831,US
+2419064832,2419065855,BD
2419065856,2419067903,HK
2419068928,2419069951,AU
2419069952,2419071999,VN
@@ -74476,7 +76495,9 @@
2420310016,2420899839,US
2420899840,2420932299,DE
2420932300,2420932300,NL
-2420932301,2420965375,DE
+2420932301,2420946207,DE
+2420946208,2420946239,NL
+2420946240,2420965375,DE
2420965376,2421096447,US
2421161984,2421293055,US
2421293056,2421358591,GB
@@ -74520,35 +76541,33 @@
2426942464,2426943487,CA
2426943488,2426961919,US
2426961920,2426962239,CA
-2426962240,2426962359,US
-2426962360,2426962527,CA
-2426962528,2426962623,US
+2426962240,2426962303,US
+2426962304,2426962335,CA
+2426962336,2426962351,US
+2426962352,2426962527,CA
+2426962528,2426962543,US
+2426962544,2426962551,CA
+2426962552,2426962623,US
2426962624,2426962943,CA
2426962944,2426963199,US
2426963200,2426963711,CA
-2426963712,2426964223,US
-2426964224,2426964479,CA
-2426964480,2426964735,US
-2426964736,2426966271,CA
-2426966272,2426966527,US
-2426966528,2426966783,CA
-2426966784,2426969087,US
-2426969088,2426969599,CA
-2426969600,2426969727,US
-2426969728,2426969983,CA
-2426969984,2426970111,US
-2426970112,2426975775,CA
+2426963712,2426963967,US
+2426963968,2426966783,CA
+2426966784,2426968831,US
+2426968832,2426972415,CA
+2426972416,2426974207,US
+2426974208,2426975775,CA
2426975776,2426975999,US
2426976000,2426976543,CA
2426976544,2426976767,US
2426976768,2426976799,CA
2426976800,2426976991,US
-2426976992,2426978303,CA
-2426978304,2426978815,NL
-2426978816,2426980351,CA
-2426980352,2426986495,US
-2426986496,2426994687,CA
-2426994688,2427224063,US
+2426976992,2426984447,CA
+2426984448,2426988543,US
+2426988544,2426994687,CA
+2426994688,2427214708,US
+2427214709,2427214710,GB
+2427214711,2427224063,US
2427224064,2427256831,CA
2427256832,2427322367,GB
2427322368,2427453439,US
@@ -74557,11 +76576,7 @@
2427537152,2427584511,NO
2427584512,2427584743,US
2427584744,2427584765,CA
-2427584766,2427584768,US
-2427584769,2427584775,GB
-2427584776,2427584825,US
-2427584826,2427585023,GB
-2427585024,2427585235,US
+2427584766,2427585235,US
2427585236,2427585271,CA
2427585272,2427585275,BR
2427585276,2427585277,MX
@@ -74689,25 +76704,20 @@
2427586752,2427586763,AE
2427586764,2427586815,GB
2427586816,2427586816,NL
-2427586817,2427586823,GB
+2427586817,2427586823,FR
2427586824,2427586861,IT
-2427586862,2427586879,GB
+2427586862,2427586879,FR
2427586880,2427586913,DE
-2427586914,2427586943,GB
+2427586914,2427586943,FR
2427586944,2427586945,BE
-2427586946,2427586959,GB
+2427586946,2427586959,FR
2427586960,2427586965,NL
2427586966,2427586967,DK
-2427586968,2427586975,GB
+2427586968,2427586975,FR
2427586976,2427586983,CH
-2427586984,2427586991,GB
+2427586984,2427586991,FR
2427586992,2427586993,AT
-2427586994,2427587007,GB
-2427587008,2427587047,FR
-2427587048,2427587049,GB
-2427587050,2427587051,FR
-2427587052,2427587071,GB
-2427587072,2427587072,FR
+2427586994,2427587072,FR
2427587073,2427587583,GB
2427587584,2427587584,JP
2427587585,2427587591,AU
@@ -74727,13 +76737,11 @@
2427588179,2427588179,MN
2427588180,2427588191,MO
2427588192,2427588351,AU
-2427588352,2427588352,SG
-2427588353,2427588359,AU
-2427588360,2427588365,SG
+2427588352,2427588365,SG
2427588366,2427588369,TH
-2427588370,2427588607,AU
-2427588608,2427591679,IE
-2427591680,2427591880,US
+2427588370,2427588607,SG
+2427588608,2427590655,GB
+2427590656,2427591880,US
2427591881,2427591881,CA
2427591882,2427591883,US
2427591884,2427591884,CO
@@ -74774,7 +76782,7 @@
2427592208,2427592223,JP
2427592224,2427592239,AU
2427592240,2427592255,CN
-2427592256,2427592703,SG
+2427592256,2427592703,US
2427592704,2427600895,GB
2427600896,2427609087,NL
2427609088,2427617279,GB
@@ -74809,9 +76817,9 @@
2429581312,2429583359,US
2429583360,2429616127,AT
2429616128,2429637119,NL
-2429637376,2429640703,NL
-2429640704,2429648895,RU
-2429648896,2429681663,NL
+2429637376,2429642751,NL
+2429642752,2429644799,RU
+2429644800,2429681663,NL
2429681664,2429796607,US
2429796608,2429797375,GB
2429797376,2429878271,US
@@ -74889,9 +76897,14 @@
2433667072,2433671167,CH
2433671168,2433675263,DE
2433675264,2433677311,PL
-2433677312,2433810431,NL
+2433677312,2433679359,AT
+2433679360,2433810431,NL
2433810432,2433875967,GB
-2433875968,2435055615,NL
+2433875968,2434924543,NL
+2434924544,2434928639,US
+2434928640,2434957311,NL
+2434957312,2434959359,AU
+2434959360,2435055615,NL
2435055616,2435107327,GB
2435107328,2435107583,US
2435107584,2435121151,GB
@@ -74914,17 +76927,15 @@
2436784128,2436825087,GB
2436825088,2441196707,NL
2441196708,2441196708,BE
-2441196709,2441311231,NL
-2441311232,2441311487,GB
-2441311488,2446983167,NL
-2447048704,2447233023,NL
-2447233024,2447235583,FR
+2441196709,2446983167,NL
+2447048704,2447235071,NL
+2447235072,2447235583,FR
2447235584,2447235839,NL
2447235840,2447237119,FR
2447237120,2447376383,NL
2447376384,2447384575,GB
-2447384576,2447392767,DE
-2447392768,2447441919,GB
+2447384576,2447386623,DE
+2447386624,2447441919,GB
2447441920,2447507455,DE
2447507456,2447572991,FR
2447572992,2447638527,GB
@@ -74963,7 +76974,9 @@
2448364864,2448364927,PL
2448364928,2448365047,FR
2448365048,2448365051,PL
-2448365052,2448365183,FR
+2448365052,2448365123,FR
+2448365124,2448365127,PL
+2448365128,2448365183,FR
2448365184,2448365247,PL
2448365248,2448365311,FR
2448365312,2448365375,PL
@@ -74973,7 +76986,9 @@
2448365632,2448365823,PL
2448365824,2448365951,FR
2448365952,2448366015,PL
-2448366016,2448366059,FR
+2448366016,2448366051,FR
+2448366052,2448366055,PL
+2448366056,2448366059,FR
2448366060,2448366063,PL
2448366064,2448366143,FR
2448366144,2448366271,PL
@@ -74987,7 +77002,9 @@
2448370720,2448370727,ES
2448370728,2448371031,FR
2448371032,2448371039,ES
-2448371040,2448372031,FR
+2448371040,2448371639,FR
+2448371640,2448371643,DE
+2448371644,2448372031,FR
2448372032,2448372047,ES
2448372048,2448373087,FR
2448373088,2448373095,ES
@@ -75001,7 +77018,11 @@
2448379904,2448383999,PL
2448384000,2448386047,FR
2448386048,2448386175,GB
-2448386176,2448387199,FR
+2448386176,2448386695,FR
+2448386696,2448386703,DE
+2448386704,2448386815,FR
+2448386816,2448387071,LT
+2448387072,2448387199,FR
2448387200,2448387327,DE
2448387328,2448387359,FR
2448387360,2448387391,CZ
@@ -75015,26 +77036,30 @@
2448389888,2448390399,FR
2448390400,2448390527,ES
2448390528,2448390655,DE
-2448390656,2448390911,FR
+2448390656,2448390751,FR
+2448390752,2448390767,PL
+2448390768,2448390911,FR
2448390912,2448391039,IE
2448391040,2448391167,FR
2448391168,2448391175,ES
2448391176,2448391263,FR
2448391264,2448391295,NL
2448391296,2448393471,FR
-2448393472,2448393983,PL
-2448393984,2448394239,FR
+2448393472,2448394239,PL
2448394240,2448394303,DE
2448394304,2448394351,FR
2448394352,2448394367,ES
2448394368,2448394383,FI
2448394384,2448394463,FR
2448394464,2448394479,DE
-2448394480,2448394655,FR
+2448394480,2448394639,FR
+2448394640,2448394655,IT
2448394656,2448394671,DE
2448394672,2448394675,FR
2448394676,2448394679,DE
-2448394680,2448394767,FR
+2448394680,2448394731,FR
+2448394732,2448394735,DE
+2448394736,2448394767,FR
2448394768,2448394771,DE
2448394772,2448394775,FR
2448394776,2448394783,DE
@@ -75057,7 +77082,9 @@
2448403680,2448403687,DE
2448403688,2448404095,FR
2448404096,2448404127,ES
-2448404128,2448404183,FR
+2448404128,2448404143,FR
+2448404144,2448404159,GB
+2448404160,2448404183,FR
2448404184,2448404191,ES
2448404192,2448404415,FR
2448404416,2448404447,GB
@@ -75079,15 +77106,16 @@
2448410624,2448410687,GB
2448410688,2448410927,FR
2448410928,2448410943,GB
-2448410944,2448411003,FR
+2448410944,2448410991,FR
+2448410992,2448410999,GB
+2448411000,2448411003,FR
2448411004,2448411007,GB
2448411008,2448411183,FR
2448411184,2448411199,GB
2448411200,2448411439,FR
2448411440,2448411455,GB
2448411456,2448411647,FR
-2448411648,2448412415,GB
-2448412416,2448412671,FR
+2448411648,2448412671,GB
2448412672,2448412799,DE
2448412800,2448413855,FR
2448413856,2448413887,FI
@@ -75117,7 +77145,9 @@
2448418560,2448418687,NL
2448418688,2448418783,FR
2448418784,2448418791,ES
-2448418792,2448419087,FR
+2448418792,2448418815,FR
+2448418816,2448419071,DE
+2448419072,2448419087,FR
2448419088,2448419091,DE
2448419092,2448419103,FR
2448419104,2448419107,DE
@@ -75217,19 +77247,9 @@
2450718720,2450784255,FR
2450784256,2450849791,US
2450849792,2450915327,SE
-2450915328,2451030015,US
-2451030016,2451031039,AU
-2451031040,2451031295,US
-2451031296,2451031807,AU
-2451031808,2451031871,US
-2451031872,2451033063,AU
-2451033064,2451033067,US
-2451033068,2451034111,AU
-2451034112,2451035903,US
-2451035904,2451036159,AO
-2451036160,2451042303,US
-2451042304,2451043327,ZA
-2451043328,2451044351,US
+2450915328,2451032063,US
+2451032064,2451032575,AU
+2451032576,2451044351,US
2451044352,2451046399,ID
2451046400,2452619263,US
2452619264,2452684799,IT
@@ -75286,10 +77306,11 @@
2454864896,2454865151,GB
2454865152,2454865407,US
2454865408,2454865663,CR
-2454865664,2454904831,US
+2454865664,2454902783,US
+2454902784,2454903807,MX
+2454903808,2454904831,US
2454904832,2454906879,AR
-2454906880,2454907391,CL
-2454907392,2454913023,US
+2454906880,2454913023,US
2454913024,2454978559,CL
2454978560,2455175167,US
2455175168,2455240703,GB
@@ -75408,7 +77429,7 @@
2456847616,2456847871,BR
2456847872,2456848127,IN
2456848128,2456848383,DK
-2456848640,2456849151,US
+2456848640,2456848895,US
2456861952,2456862207,CA
2456862720,2456862975,NL
2456862976,2456863743,US
@@ -75428,7 +77449,7 @@
2456868096,2456868351,DK
2456868352,2456868607,IE
2456869888,2456870143,SG
-2456871168,2456871679,US
+2456871168,2456871423,US
2456871936,2456872191,RO
2456872192,2456872447,FR
2456872448,2456872703,IE
@@ -75438,6 +77459,7 @@
2456873472,2456873727,IN
2456873728,2456873983,DK
2456874240,2456874495,SG
+2456875008,2456875263,PL
2456875264,2456875775,CA
2456875776,2456876031,JP
2456876032,2456876287,NL
@@ -75447,7 +77469,9 @@
2456877312,2456877567,AU
2456877568,2456877823,US
2456877824,2456878079,HK
+2456878080,2456878335,GB
2456878336,2456878591,DE
+2456878592,2456879103,GB
2456879104,2457075711,US
2457075712,2457141247,AU
2457206784,2457272319,AU
@@ -75478,8 +77502,8 @@
2457367552,2457369599,RU
2457369600,2457370623,UA
2457370624,2457377791,BY
-2457377792,2457378047,FR
-2457378048,2457378815,DE
+2457377792,2457378303,RU
+2457378304,2457378815,CZ
2457378816,2457380095,NL
2457380096,2457380863,RU
2457380864,2457381631,UA
@@ -75508,7 +77532,7 @@
2457399552,2457399807,RU
2457399808,2457400319,CZ
2457400320,2457400575,UA
-2457400576,2457400831,CZ
+2457400576,2457400831,KG
2457400832,2457402367,RU
2457402368,2457403391,SY
2457403392,2457520895,US
@@ -75530,7 +77554,8 @@
2459697152,2459828223,US
2459828224,2459833343,RU
2459833344,2459834367,UZ
-2459834368,2459835903,RU
+2459834368,2459835391,KZ
+2459835392,2459835903,RU
2459835904,2459836159,UA
2459836160,2459844607,RU
2459844608,2459845631,KZ
@@ -75569,7 +77594,9 @@
2461601792,2461605887,GB
2461605888,2461607935,LB
2461607936,2461609983,FR
-2461609984,2461612031,BE
+2461609984,2461611577,BE
+2461611578,2461611579,NL
+2461611580,2461612031,BE
2461612032,2461614079,IL
2461614080,2461622271,CH
2461622272,2461630463,DE
@@ -75618,9 +77645,13 @@
2462350336,2462351359,CN
2462351360,2462384127,GM
2462384128,2462449663,US
-2462449664,2462526602,GB
+2462449664,2462519807,GB
+2462519808,2462520063,US
+2462520064,2462526602,GB
2462526603,2462526603,US
-2462526604,2462646271,GB
+2462526604,2462626943,GB
+2462626944,2462627071,US
+2462627072,2462646271,GB
2462646272,2462717439,US
2462717440,2462717951,DE
2462717952,2462723071,US
@@ -75662,8 +77693,8 @@
2465665024,2465667071,IT
2465667072,2465669119,SI
2465669120,2465671167,RU
-2465671168,2465672703,IE
-2465672704,2465672959,BG
+2465671168,2465672191,IE
+2465672192,2465672959,BG
2465672960,2465673215,IE
2465673216,2465677311,IM
2465677312,2465679359,IT
@@ -75671,7 +77702,9 @@
2465681408,2465683455,SE
2465683456,2465685503,FR
2465685504,2465690367,DE
-2465690368,2465693695,IT
+2465690368,2465693439,IT
+2465693440,2465693455,FR
+2465693456,2465693695,IT
2465693696,2465697791,NO
2465697792,2465718271,SE
2465718272,2465721855,NO
@@ -75722,8 +77755,9 @@
2466053120,2466054143,CA
2466054144,2466185215,SE
2466185216,2466189311,GB
-2466189312,2466189567,ES
-2466189568,2466191103,NL
+2466189312,2466189823,NL
+2466189824,2466190079,ES
+2466190080,2466191103,NL
2466191104,2466191167,ES
2466191168,2466191359,NL
2466191360,2466193407,CZ
@@ -75746,21 +77780,15 @@
2466242560,2466250751,GE
2466250752,2466318335,US
2466318336,2466318591,SG
-2466318592,2466320895,US
-2466320896,2466321151,AU
-2466321152,2466322431,US
-2466322432,2466323455,AU
+2466318592,2466320383,US
+2466320384,2466322431,AU
+2466322432,2466323455,US
2466323456,2466323711,SG
-2466323712,2466324479,AU
-2466324480,2466326015,US
+2466323712,2466326015,US
2466326016,2466326271,SG
2466326272,2466336767,US
2466336768,2466337023,SG
-2466337024,2466340863,US
-2466340864,2466349055,CA
-2466349056,2466376191,US
-2466376192,2466376447,CA
-2466376448,2466643967,US
+2466337024,2466643967,US
2466643968,2466709503,KR
2466709504,2466775039,HU
2466775040,2466840575,HK
@@ -75790,19 +77818,21 @@
2469724160,2469789695,US
2469789696,2469855231,DE
2469855232,2470182911,US
-2470182912,2470191103,CH
-2470191104,2470199295,SG
-2470199296,2470248447,CH
+2470182912,2470188287,CH
+2470188288,2470188543,SG
+2470188544,2470197759,CH
+2470197760,2470198271,SG
+2470198272,2470248447,CH
2470248448,2470510591,US
2470510592,2470576127,BR
2470576128,2470576383,AU
2470576384,2470577151,AQ
2470577152,2470577919,HM
2470577920,2470641663,AU
-2470641664,2470649855,BE
-2470649856,2470703359,LU
-2470703360,2470703615,BE
-2470703616,2470707199,LU
+2470641664,2470643711,BE
+2470643712,2470703103,LU
+2470703104,2470705151,BE
+2470705152,2470707199,LU
2470707200,2470772735,GB
2470772736,2470838271,AU
2470838272,2471194623,US
@@ -75877,7 +77907,9 @@
2475135488,2475135495,ES
2475135496,2475135719,FR
2475135720,2475135727,DE
-2475135728,2475139391,FR
+2475135728,2475137911,FR
+2475137912,2475137919,NL
+2475137920,2475139391,FR
2475139392,2475139455,ES
2475139456,2475140095,FR
2475140096,2475140223,DE
@@ -75903,9 +77935,7 @@
2475145152,2475145215,ES
2475145216,2475145343,DE
2475145344,2475145471,GB
-2475145472,2475145567,FR
-2475145568,2475145599,GB
-2475145600,2475145615,FR
+2475145472,2475145615,FR
2475145616,2475145631,LT
2475145632,2475145727,FR
2475145728,2475145855,GB
@@ -75923,13 +77953,15 @@
2475146720,2475146943,FR
2475146944,2475146975,PT
2475146976,2475148351,FR
-2475148352,2475148415,PL
-2475148416,2475148521,FR
+2475148352,2475148419,PL
+2475148420,2475148431,FR
+2475148432,2475148435,PL
+2475148436,2475148521,FR
2475148522,2475148522,PL
2475148523,2475148543,FR
2475148544,2475148607,PL
-2475148608,2475148671,FR
-2475148672,2475148735,PL
+2475148608,2475148655,FR
+2475148656,2475148735,PL
2475148736,2475148796,FR
2475148797,2475148797,PL
2475148798,2475149119,FR
@@ -75992,7 +78024,9 @@
2475161216,2475161407,FR
2475161408,2475161439,FI
2475161440,2475161471,PL
-2475161472,2475161983,FR
+2475161472,2475161619,FR
+2475161620,2475161623,ES
+2475161624,2475161983,FR
2475161984,2475161999,LT
2475162000,2475162351,FR
2475162352,2475162367,ES
@@ -76055,7 +78089,9 @@
2480734208,2481192959,US
2481192960,2481455103,CZ
2481455104,2481520639,SK
-2481520640,2481848319,IL
+2481520640,2481586687,IL
+2481586688,2481587199,GB
+2481587200,2481848319,IL
2481848320,2482175999,US
2482176000,2482176031,MY
2482176032,2482176191,HK
@@ -76223,9 +78259,7 @@
2483224576,2483290111,ES
2483290112,2483421183,US
2483421184,2483486719,HU
-2483486720,2483679231,US
-2483679232,2483680255,IN
-2483680256,2486566911,US
+2483486720,2486566911,US
2486566912,2486632447,CH
2486632448,2486697983,US
2486697984,2486763519,ES
@@ -76269,18 +78303,16 @@
2487223040,2487223295,SG
2487223296,2487224319,IN
2487224320,2487224831,GB
-2487224832,2487225087,IT
-2487225088,2487225343,US
+2487224832,2487225343,IT
2487225344,2487225855,NL
2487225856,2487227135,US
2487227136,2487227391,FR
2487227392,2487227647,MX
2487227648,2487227903,AR
-2487227904,2487228415,MX
+2487227904,2487228415,US
2487228416,2487228927,ZA
2487228928,2487230207,GB
-2487230208,2487230463,ZA
-2487230464,2487236607,US
+2487230208,2487236607,US
2487236608,2487237631,GB
2487237632,2487238143,MF
2487238144,2487238655,US
@@ -76292,7 +78324,8 @@
2487365632,2487369727,HK
2487369728,2487386111,PF
2487386112,2487394303,SG
-2487394304,2487418879,US
+2487394304,2487417855,US
+2487417856,2487418879,CA
2487418880,2487549951,JP
2487549952,2487615487,PT
2487615488,2487681023,CN
@@ -76313,15 +78346,16 @@
2489712640,2489745407,PE
2489745408,2489778175,HT
2489778176,2489843711,DO
-2489843712,2489995263,US
-2489995264,2489997311,SG
-2489997312,2490013695,US
+2489843712,2489995519,US
+2489995520,2489995775,SG
+2489995776,2490013695,US
2490013696,2490014011,GB
2490014012,2490014012,US
2490014013,2490015743,GB
2490015744,2490236927,US
2490236928,2490302463,LU
-2490302464,2490695679,US
+2490302464,2490367999,SA
+2490368000,2490695679,US
2490695680,2490761215,CA
2490761216,2491154431,NO
2491154432,2491875327,US
@@ -76347,17 +78381,19 @@
2493756416,2493757439,CA
2493757440,2494103551,US
2494103552,2494169087,FR
-2494169088,2494562303,US
+2494169088,2494386175,US
+2494386176,2494388223,MX
+2494388224,2494562303,US
2494562304,2494627839,GB
-2494627840,2494670847,US
+2494627840,2494650367,US
+2494650368,2494652415,BR
+2494652416,2494670847,US
2494670848,2494670963,GB
2494670964,2494670967,US
2494670968,2494671103,GB
2494671104,2494676991,US
-2494676992,2494683391,AU
-2494683392,2494683647,US
-2494683648,2494685183,AU
-2494685184,2494689791,US
+2494676992,2494679039,AU
+2494679040,2494689791,US
2494689792,2494690047,IN
2494690048,2494889983,US
2494889984,2494955519,GB
@@ -76365,7 +78401,10 @@
2495021056,2495152127,US
2495217664,2495283199,US
2495283200,2495348735,CH
-2495348736,2495807487,US
+2495348736,2495349051,DE
+2495349052,2495349052,US
+2495349053,2495350783,DE
+2495350784,2495807487,US
2495807488,2495873023,AU
2495873024,2495938559,CH
2495938560,2496004095,GB
@@ -76419,9 +78458,10 @@
2500133024,2500135679,US
2500135680,2500135935,NL
2500135936,2500136959,US
-2500136960,2500139583,BE
+2500136960,2500139007,BE
+2500139008,2500139583,US
2500139584,2500139647,NL
-2500139648,2500141055,BE
+2500139648,2500141055,US
2500141056,2500141311,IE
2500141312,2500141823,US
2500141824,2500144127,IE
@@ -76430,7 +78470,7 @@
2500145152,2500149343,US
2500149344,2500149375,GB
2500149376,2500149503,US
-2500149504,2500149759,NL
+2500149504,2500149759,IE
2500149760,2500150559,US
2500150560,2500150591,GB
2500150592,2500150655,US
@@ -76455,13 +78495,16 @@
2500165632,2500165887,GB
2500165888,2500166207,US
2500166208,2500166223,GB
-2500166224,2500170751,US
+2500166224,2500167679,US
+2500167680,2500168959,GB
+2500168960,2500170751,US
2500170752,2500170752,FI
-2500170753,2500173823,US
-2500173824,2500177935,HR
+2500170753,2500177935,US
2500177936,2500177943,PL
-2500177944,2500182015,HR
-2500182016,2500188223,FR
+2500177944,2500179967,US
+2500179968,2500182015,HR
+2500182016,2500188159,US
+2500188160,2500188223,FR
2500188224,2500188287,CH
2500188288,2500188415,FR
2500188416,2500188447,CH
@@ -76469,80 +78512,74 @@
2500188680,2500188687,CH
2500188688,2500188831,FR
2500188832,2500188863,CH
-2500188864,2500194303,FR
-2500194304,2500194399,US
-2500194400,2500194431,FI
-2500194432,2500196351,US
-2500196352,2500198399,FI
+2500188864,2500189183,FR
+2500189184,2500190207,CH
+2500190208,2500192255,FR
+2500192256,2500194303,US
+2500194304,2500198399,FI
2500198400,2500199471,GB
2500199472,2500199475,IE
-2500199476,2500200959,GB
-2500200960,2500201535,US
+2500199476,2500201471,GB
+2500201472,2500201535,US
2500201536,2500201543,GB
2500201544,2500202879,US
2500202880,2500203007,ES
2500203008,2500203519,US
2500203520,2500204543,IT
2500204544,2500206591,CZ
-2500206592,2500208639,FR
-2500208640,2500209663,DE
-2500209664,2500210687,FR
+2500206592,2500208639,US
+2500208640,2500210687,FR
2500210688,2500211671,US
2500211672,2500211679,RO
2500211680,2500211711,US
2500211712,2500211728,CH
2500211729,2500211730,SI
2500211731,2500212735,CH
-2500212736,2500212991,FR
+2500212736,2500212991,FI
2500212992,2500213247,ES
-2500213248,2500213279,FR
-2500213280,2500213287,FI
-2500213288,2500213819,FR
+2500213248,2500213819,FI
2500213820,2500213823,NL
-2500213824,2500223999,FR
+2500213824,2500214783,FI
+2500214784,2500216831,US
+2500216832,2500218879,FR
+2500218880,2500221455,US
+2500221456,2500221459,FR
+2500221460,2500222975,US
+2500222976,2500223999,GB
2500224000,2500225023,BE
-2500225024,2500225551,FR
+2500225024,2500225551,US
2500225552,2500225559,ES
-2500225560,2500226615,FR
+2500225560,2500226615,US
2500226616,2500226623,NL
-2500226624,2500228351,FR
+2500226624,2500227071,US
+2500227072,2500228351,FR
2500228352,2500228359,NO
-2500228360,2500230041,FR
+2500228360,2500229119,FR
+2500229120,2500230041,US
2500230042,2500230042,GB
-2500230043,2500231167,FR
-2500231168,2500232191,ES
-2500232192,2500233215,BE
-2500233216,2500233751,DK
-2500233752,2500233759,DE
-2500233760,2500233787,DK
-2500233788,2500233791,DE
-2500233792,2500233811,DK
-2500233812,2500233815,DE
-2500233816,2500233831,DK
-2500233832,2500233835,DE
-2500233836,2500233863,DK
-2500233864,2500233867,DE
-2500233868,2500233935,DK
-2500233936,2500233943,DE
-2500233944,2500234055,DK
-2500234056,2500234063,DE
-2500234064,2500235263,DK
-2500235264,2500235775,US
+2500230043,2500232881,US
+2500232882,2500232882,BE
+2500232883,2500233215,US
+2500233216,2500233727,DK
+2500233728,2500234239,DE
+2500234240,2500235263,DK
+2500235264,2500235775,GB
2500235776,2500236031,ES
-2500236032,2500236287,US
-2500236288,2500236799,GB
+2500236032,2500236799,GB
2500236800,2500237311,ES
2500237312,2500238047,IT
2500238048,2500238055,FR
-2500238056,2500239359,IT
-2500239360,2500243455,FR
-2500243456,2500245759,GB
-2500245760,2500246015,US
-2500246016,2500247551,GB
-2500247552,2500255743,ES
-2500255744,2500263935,US
-2500263936,2500272127,ES
-2500272128,2500272625,US
+2500238056,2500238335,IT
+2500238336,2500239359,US
+2500239360,2500241407,FR
+2500241408,2500243455,SE
+2500243456,2500246015,US
+2500246016,2500246527,GB
+2500246528,2500247551,US
+2500247552,2500251647,ES
+2500251648,2500268031,US
+2500268032,2500270079,ES
+2500270080,2500272625,US
2500272626,2500272626,GB
2500272627,2500273663,US
2500273664,2500273919,GB
@@ -76555,8 +78592,8 @@
2500291072,2500291327,US
2500291328,2500291583,FR
2500291584,2500292607,US
-2500292608,2500296703,DE
-2500296704,2500313855,US
+2500292608,2500294655,DE
+2500294656,2500313855,US
2500313856,2500314111,AT
2500314112,2500318719,US
2500318720,2500319231,IT
@@ -76567,71 +78604,76 @@
2500392960,2500393215,IN
2500393216,2500393983,US
2500393984,2500394239,GB
-2500394240,2500531199,US
+2500394240,2500530175,US
+2500530176,2500531199,ES
2500531200,2500532223,AT
2500532224,2500532749,US
2500532750,2500532750,GR
2500532751,2500535295,US
-2500535296,2500535423,IE
-2500535424,2500535551,US
-2500535552,2500535807,IE
+2500535296,2500535807,IE
2500535808,2500536063,NL
2500536064,2500536359,US
2500536360,2500536367,FR
-2500536368,2500536967,US
-2500536968,2500536975,GB
-2500536976,2500537343,US
-2500537344,2500538367,GB
-2500538368,2500542463,FR
-2500542464,2500542751,US
+2500536368,2500536831,US
+2500536832,2500538367,GB
+2500538368,2500540415,FR
+2500540416,2500542751,US
2500542752,2500542755,NL
2500542756,2500544383,US
2500544384,2500544391,GB
-2500544392,2500544767,US
-2500544768,2500545023,GR
+2500544392,2500544511,US
+2500544512,2500545023,GR
2500545024,2500545703,US
2500545704,2500545711,SE
2500545712,2500545815,US
2500545816,2500545823,SE
-2500545824,2500546559,US
-2500546560,2500549271,GB
+2500545824,2500549271,US
2500549272,2500549279,ES
-2500549280,2500552703,GB
+2500549280,2500550655,US
+2500550656,2500552703,GB
2500552704,2500553727,US
2500553728,2500554239,GB
-2500554240,2500554379,US
-2500554380,2500554487,DE
-2500554488,2500554551,US
-2500554552,2500554559,DE
-2500554560,2500554751,US
+2500554240,2500554751,DE
2500554752,2500556295,FR
2500556296,2500556303,CZ
-2500556304,2500556943,FR
+2500556304,2500556799,FR
+2500556800,2500556943,US
2500556944,2500556951,GR
-2500556952,2500560895,FR
+2500556952,2500558847,US
+2500558848,2500560895,FR
2500560896,2500562943,GB
-2500562944,2500567039,ES
+2500562944,2500564991,ES
+2500564992,2500567039,US
2500567040,2500569087,GB
2500569088,2500570111,BE
-2500570112,2500575231,GB
-2500575232,2500591615,US
-2500591616,2500596223,GB
+2500570112,2500571135,GB
+2500571136,2500591615,US
+2500591616,2500593663,GB
+2500593664,2500596223,US
2500596224,2500596735,CH
-2500596736,2500599807,GB
-2500599808,2500599935,US
+2500596736,2500599935,US
2500599936,2500599951,DK
-2500599952,2500609023,US
+2500599952,2500608383,US
+2500608384,2500608511,ES
+2500608512,2500609023,US
2500609024,2500610047,ES
2500610048,2500616191,US
-2500616192,2500625407,IT
-2500625408,2500632575,US
-2500632576,2500640767,GB
+2500616192,2500618239,IT
+2500618240,2500624383,US
+2500624384,2500625407,IT
+2500625408,2500637727,US
+2500637728,2500637759,GB
+2500637760,2500638719,US
+2500638720,2500640767,GB
2500640768,2500642815,FR
2500642816,2500643327,ES
-2500643328,2500646911,FR
+2500643328,2500644863,US
+2500644864,2500646911,FR
2500646912,2500648959,ES
-2500648960,2500657151,NL
-2500657152,2500665343,ES
+2500648960,2500653055,US
+2500653056,2500655103,NL
+2500655104,2500661247,US
+2500661248,2500665343,ES
2500665344,2500666463,US
2500666464,2500666471,LU
2500666472,2500674623,US
@@ -76642,21 +78684,24 @@
2500681760,2500681767,PL
2500681768,2500682495,US
2500682496,2500682751,PL
-2500682752,2500687103,US
-2500687104,2500687359,FR
+2500682752,2500686847,US
+2500686848,2500687359,FR
2500687360,2500687871,US
2500687872,2500689919,FR
2500689920,2500694015,US
-2500694016,2500697087,IT
-2500697088,2500702207,US
+2500694016,2500698111,IT
+2500698112,2500702207,US
2500702208,2500702842,GB
2500702843,2500702843,BE
-2500702844,2500702975,GB
+2500702844,2500702847,GB
+2500702848,2500702975,NL
2500702976,2500719103,US
-2500719104,2500721151,IE
+2500719104,2500720383,IE
+2500720384,2500720639,US
+2500720640,2500721151,IE
2500721152,2500722687,US
-2500722688,2500726783,ES
-2500726784,2500728063,US
+2500722688,2500724735,ES
+2500724736,2500728063,US
2500728064,2500728319,GB
2500728320,2500732063,US
2500732064,2500732071,GB
@@ -76666,25 +78711,25 @@
2500740418,2500740418,DE
2500740419,2500743167,US
2500743168,2500743679,GB
-2500743680,2500744191,NL
-2500744192,2500744239,GB
+2500743680,2500744239,NL
2500744240,2500744247,ES
-2500744248,2500745215,GB
+2500744248,2500745215,NL
2500745216,2500746239,DE
2500746240,2500747263,GB
2500747264,2500748543,US
2500748544,2500748799,ES
2500748800,2500749311,DE
-2500749312,2500751359,US
-2500751360,2500756647,FR
+2500749312,2500753407,US
+2500753408,2500755455,FR
+2500755456,2500756647,US
2500756648,2500756655,IT
-2500756656,2500756879,FR
+2500756656,2500756879,US
2500756880,2500756887,IT
-2500756888,2500759159,FR
+2500756888,2500759159,US
2500759160,2500759167,NL
-2500759168,2500759463,FR
+2500759168,2500759463,US
2500759464,2500759467,NL
-2500759468,2500759551,FR
+2500759468,2500759551,US
2500759552,2500761599,GB
2500761600,2500763199,FR
2500763200,2500763207,DE
@@ -76697,11 +78742,13 @@
2500773296,2500773303,GB
2500773304,2500777111,US
2500777112,2500777119,CH
-2500777120,2500777983,US
+2500777120,2500777191,US
+2500777192,2500777199,CH
+2500777200,2500777983,US
2500777984,2500777991,FR
2500777992,2500780031,US
-2500780032,2500784127,GB
-2500784128,2501000721,US
+2500780032,2500782079,GB
+2500782080,2501000721,US
2501000722,2501000722,GB
2501000723,2501001215,US
2501001216,2501033983,GB
@@ -76724,14 +78771,16 @@
2502041600,2502049791,ES
2502049792,2502098943,US
2502098944,2502164479,IT
-2502164480,2502165759,GB
-2502165760,2502173951,US
+2502164480,2502166527,GB
+2502166528,2502173951,US
2502173952,2502174207,DE
2502174208,2502180863,US
2502180864,2502181119,FI
2502181120,2502221823,US
-2502221824,2502230015,ES
-2502230016,2503016447,US
+2502221824,2502225919,ES
+2502225920,2502226943,US
+2502226944,2502227967,ES
+2502227968,2503016447,US
2503016448,2503147519,IL
2503147520,2503344127,US
2503344128,2503344383,AF
@@ -76767,7 +78816,8 @@
2503737344,2503868415,US
2503868416,2503876607,RU
2503876608,2503877631,MD
-2503877632,2503879679,DE
+2503877632,2503878655,US
+2503878656,2503879679,DE
2503879680,2503880703,FI
2503880704,2503882751,RU
2503882752,2503884799,DE
@@ -76784,21 +78834,15 @@
2504180992,2504468479,US
2504468480,2504470527,ES
2504470528,2504472575,IT
-2504472576,2504472831,US
-2504472832,2504473599,ES
+2504472576,2504473599,ES
2504473600,2504474623,US
2504474624,2504482815,HR
2504482816,2504486911,ES
2504486912,2504491007,HK
2504491008,2504499199,IT
-2504499200,2504499839,IE
-2504499840,2504499967,US
-2504499968,2504500223,IE
+2504499200,2504500223,IE
2504500224,2504501247,US
-2504501248,2504501385,GB
-2504501386,2504501386,ES
-2504501387,2504501503,GB
-2504501504,2504503295,ES
+2504501248,2504503295,ES
2504503296,2504517631,US
2504517632,2504518655,FR
2504518656,2504918642,US
@@ -76841,17 +78885,15 @@
2505789440,2505790463,FR
2505790464,2505791487,US
2505791488,2505792511,FR
-2505792512,2505793535,US
-2505793536,2505803775,ES
+2505792512,2505803775,ES
2505803776,2506293247,US
2506293248,2506358783,CA
2506358784,2506361343,ES
2506361344,2506361855,US
-2506361856,2506364415,ES
-2506364416,2506364671,US
-2506364672,2506365183,ES
-2506365184,2506365439,GB
-2506365440,2506366975,ES
+2506361856,2506362367,GB
+2506362368,2506362879,ES
+2506362880,2506363135,BE
+2506363136,2506366975,ES
2506366976,2506400767,US
2506400768,2506401023,IT
2506401024,2506401279,US
@@ -76873,7 +78915,11 @@
2507173888,2507174143,US
2507175936,2507177983,CA
2507183360,2507183615,US
-2507210752,2507510271,US
+2507210752,2507368447,US
+2507368448,2507369471,GB
+2507369472,2507475199,US
+2507475200,2507475455,CA
+2507475456,2507510271,US
2507510272,2507510527,FR
2507510528,2508062719,US
2508062720,2508064767,CH
@@ -76913,9 +78959,7 @@
2508324864,2508455935,US
2508455936,2508521471,IT
2508521472,2508587007,CH
-2508587008,2508631295,BE
-2508631296,2508631551,US
-2508631552,2508652543,BE
+2508587008,2508652543,BE
2508652544,2508718079,AU
2508718080,2508914687,US
2508914688,2508980223,IT
@@ -77163,22 +79207,26 @@
2513698816,2513764351,DK
2513764352,2514419711,DE
2514419712,2514485247,GB
-2514485248,2514681343,DE
-2514681344,2514681599,TR
+2514485248,2514679807,DE
+2514679808,2514681599,TR
2514681600,2515140607,DE
2515140608,2515142655,US
2515142656,2515173375,DE
-2515173376,2515189247,SG
+2515173376,2515188991,SG
+2515188992,2515189247,AU
2515189248,2515189503,JP
2515189504,2515189759,IN
2515189760,2515206143,US
-2515206144,2515271679,GB
+2515206144,2515269631,GB
+2515269632,2515271679,FR
2515271680,2515599359,DE
2515599360,2515664895,GB
2515664896,2516037631,DE
2516037632,2516038143,DK
2516038144,2516058111,DE
-2516058112,2516076543,US
+2516058112,2516070399,US
+2516070400,2516074495,CA
+2516074496,2516076543,US
2516076544,2516123647,CA
2516123648,2516254719,DE
2516254720,2516320255,FR
@@ -77197,7 +79245,7 @@
2516526080,2516526143,NL
2516526144,2516526335,US
2516526336,2516527103,NL
-2516527168,2516529151,GB
+2516527104,2516529151,GB
2516529152,2516529279,CH
2516529280,2516529343,FR
2516529344,2516529375,BE
@@ -77269,9 +79317,15 @@
2523657216,2523659263,ID
2523659264,2523660287,IN
2523660288,2523725823,US
-2523725824,2523746303,SG
+2523725824,2523734015,SG
+2523734016,2523746303,HK
2523746304,2523748351,KR
-2523748352,2523791359,SG
+2523748352,2523750399,SG
+2523750400,2523758591,HK
+2523758592,2523766783,SG
+2523766784,2523774975,TH
+2523774976,2523779071,JP
+2523779072,2523791359,KR
2523791360,2524119039,US
2524119040,2524184575,CN
2524184576,2524315647,TW
@@ -77443,7 +79497,9 @@
2533392384,2538602495,IT
2538602496,2538602687,FR
2538602688,2538602751,DE
-2538602752,2538603519,FR
+2538602752,2538603007,FR
+2538603008,2538603039,PL
+2538603040,2538603519,FR
2538603520,2538603583,DE
2538603584,2538603711,FR
2538603712,2538603775,DE
@@ -77497,7 +79553,9 @@
2538619360,2538619375,ES
2538619376,2538619431,FR
2538619432,2538619435,DE
-2538619436,2538619775,FR
+2538619436,2538619759,FR
+2538619760,2538619763,ES
+2538619764,2538619775,FR
2538619776,2538619807,LT
2538619808,2538619903,FR
2538619904,2538619911,ES
@@ -77549,7 +79607,9 @@
2538626704,2538629727,FR
2538629728,2538629759,ES
2538629760,2538629823,DE
-2538629824,2538631583,FR
+2538629824,2538631167,FR
+2538631168,2538631423,NL
+2538631424,2538631583,FR
2538631584,2538631615,FI
2538631616,2538633551,FR
2538633552,2538633567,IE
@@ -77592,13 +79652,17 @@
2538646784,2538647039,CZ
2538647040,2538647823,FR
2538647824,2538647831,FI
-2538647832,2538648015,FR
+2538647832,2538647871,FR
+2538647872,2538647887,PL
+2538647888,2538648015,FR
2538648016,2538648031,ES
2538648032,2538648239,FR
2538648240,2538648255,DE
2538648256,2538648339,FR
2538648340,2538648343,GB
-2538648344,2538648591,FR
+2538648344,2538648527,FR
+2538648528,2538648531,PL
+2538648532,2538648591,FR
2538648592,2538648623,BE
2538648624,2538649767,FR
2538649768,2538649775,DE
@@ -77621,7 +79685,9 @@
2538651280,2538651283,DE
2538651284,2538651967,FR
2538651968,2538651999,PT
-2538652000,2538652727,FR
+2538652000,2538652695,FR
+2538652696,2538652699,GB
+2538652700,2538652727,FR
2538652728,2538652731,DE
2538652732,2538652883,FR
2538652884,2538652887,DE
@@ -77753,8 +79819,8 @@
2543583232,2543648767,SE
2543648768,2543714303,NO
2543779840,2544228863,US
-2544228864,2544229375,DE
-2544229376,2544500735,US
+2544228864,2544229119,DE
+2544229120,2544500735,US
2544500736,2544566271,GB
2544566272,2544631807,US
2544697344,2544762879,SA
@@ -77782,6 +79848,7 @@
2547525632,2547527679,DE
2547527680,2547535871,GB
2547548160,2547580927,NO
+2547580928,2547646463,DE
2548039680,2548072320,GB
2548072321,2548072321,US
2548072322,2548563967,GB
@@ -77807,7 +79874,9 @@
2548848640,2548848895,UA
2548848896,2548858879,RU
2548858880,2548867071,NL
-2548867072,2548875263,IQ
+2548867072,2548870143,IQ
+2548870144,2548871167,SA
+2548871168,2548875263,IQ
2548875264,2548877311,KZ
2548877312,2548879359,SE
2548879360,2548883455,GB
@@ -77881,7 +79950,9 @@
2549899264,2549901311,PS
2549901312,2549903359,RU
2549903360,2549905407,ES
-2549905408,2549907455,GB
+2549905408,2549906431,GB
+2549906432,2549906687,DE
+2549906688,2549907455,GB
2549907456,2549923839,SE
2549923840,2549927935,BG
2549927936,2549929983,HR
@@ -77911,7 +79982,9 @@
2554462208,2554527743,HU
2554527744,2554789887,US
2554789888,2554855423,GB
-2554855424,2554920959,US
+2554855424,2554888703,US
+2554888704,2554888959,GB
+2554888960,2554920959,US
2554920960,2554986495,DK
2554986496,2555052031,CL
2555052032,2555117567,US
@@ -77978,11 +80051,9 @@
2557739008,2557870079,US
2557870080,2557935615,ID
2557935616,2558658499,US
-2558658500,2558658500,PR
-2558658501,2558660101,US
-2558660102,2558660102,PR
-2558660103,2558918655,US
-2558918656,2558984191,GB
+2558658500,2558658501,PR
+2558658502,2558918655,US
+2558918656,2558984191,DE
2558984192,2559049727,US
2559049728,2559115263,CN
2559115264,2559246335,US
@@ -78008,7 +80079,11 @@
2562867200,2562868223,DE
2562868224,2562956287,US
2562956288,2562956799,ZA
-2562956800,2563244031,US
+2562956800,2562967039,US
+2562967040,2562968063,SG
+2562968064,2562978303,US
+2562978304,2562978815,AT
+2562978816,2563244031,US
2563244032,2563637247,CO
2563637248,2563768319,CU
2563768320,2564947967,US
@@ -78038,19 +80113,25 @@
2568093696,2568159231,US
2568159232,2568224767,PL
2568224768,2568290303,SG
-2568290304,2569142271,US
+2568290304,2568505659,US
+2568505660,2568505660,SA
+2568505661,2569142271,US
2569142272,2569404415,CN
2569404416,2569797631,US
2569797632,2569863167,NO
-2569863168,2569879551,US
-2569879552,2569887743,CH
+2569863168,2569885183,US
+2569885184,2569885439,CH
+2569885440,2569885695,US
+2569885696,2569887743,CH
2569887744,2569928703,US
2569928704,2569936383,CH
2569936384,2569936895,US
2569936896,2569970175,CH
2569970176,2569970687,US
2569970688,2569994239,CH
-2569994240,2570125311,US
+2569994240,2569994495,US
+2569994496,2569996287,NL
+2569996288,2570125311,US
2570125312,2570190847,BE
2570190848,2572681215,US
2572681216,2572746751,SE
@@ -78122,7 +80203,7 @@
2572997632,2573000703,US
2573000704,2573008895,FR
2573008896,2573336575,DE
-2573352960,2573361151,BE
+2573352960,2573355007,BE
2573369344,2573402111,DE
2573402112,2573467647,CN
2573467648,2573533183,DE
@@ -78141,11 +80222,11 @@
2574647296,2574778367,CN
2574778368,2583582207,JP
2583582208,2583582463,HK
-2583582464,2583583743,JP
-2583583744,2583584767,AU
-2583584768,2583589103,JP
+2583582464,2583589103,JP
2583589104,2583589111,SG
-2583589112,2583691263,JP
+2583589112,2583609855,JP
+2583609856,2583610111,IT
+2583610112,2583691263,JP
2583691264,2583695359,ZA
2583695360,2583697407,BW
2583697408,2583699455,CI
@@ -78326,8 +80407,7 @@
2584763456,2584763903,ZA
2584763904,2584763967,HK
2584763968,2584763999,DE
-2584764000,2584764415,ZA
-2584764416,2584764671,MA
+2584764000,2584764671,ZA
2584764672,2584767231,US
2584767232,2584767487,TR
2584767488,2584769791,US
@@ -78375,29 +80455,35 @@
2585788416,2585853951,GB
2585853952,2585985023,JP
2585985024,2586378239,US
-2586378240,2586386431,UA
-2586386432,2586395135,US
+2586378240,2586380287,UA
+2586380288,2586395135,US
2586395136,2586395647,FR
-2586395648,2586480639,US
+2586395648,2586443775,US
+2586443776,2586445823,NL
+2586445824,2586480639,US
2586480640,2586484735,IL
-2586484736,2586492927,GB
-2586492928,2586509823,US
+2586484736,2586486783,GB
+2586486784,2586509823,US
2586509824,2586510079,ES
2586510080,2586510335,US
2586510336,2586511359,ES
2586511360,2586517503,US
-2586517504,2586525695,FR
-2586525696,2586542847,US
+2586517504,2586519551,FR
+2586519552,2586525951,US
+2586525952,2586526207,GR
+2586526208,2586542847,US
2586542848,2586542911,SE
2586542912,2586544127,US
2586544128,2586546175,SE
2586546176,2586566655,US
2586566656,2586566687,FR
-2586566688,2586607615,US
-2586607616,2586610175,ES
-2586610176,2586610431,GB
-2586610432,2586615807,ES
-2586615808,2586622463,US
+2586566688,2586609663,US
+2586609664,2586610175,ES
+2586610176,2586610687,GB
+2586610688,2586611711,ES
+2586611712,2586621951,US
+2586621952,2586622207,ES
+2586622208,2586622463,US
2586622464,2586622975,ES
2586622976,2586623743,US
2586623744,2586623999,ES
@@ -78405,7 +80491,9 @@
2586640384,2586640399,MC
2586640400,2586640895,US
2586640896,2586641407,FR
-2586641408,2586650687,US
+2586641408,2586648575,US
+2586648576,2586649087,GB
+2586649088,2586650687,US
2586650688,2586650703,DE
2586650704,2586651647,US
2586651648,2586651903,NL
@@ -78413,11 +80501,11 @@
2586653440,2586653695,NL
2586653696,2586694655,US
2586694656,2586695167,FR
-2586695168,2586714111,US
-2586714112,2586714879,ES
+2586695168,2586714879,US
2586714880,2586715135,NL
-2586715136,2586722303,ES
-2586722304,2586726655,US
+2586715136,2586716159,US
+2586716160,2586718207,ES
+2586718208,2586726655,US
2586726656,2586726911,GB
2586726912,2586733567,US
2586733568,2586733823,LT
@@ -78426,13 +80514,15 @@
2586735616,2586758143,US
2586758144,2586758655,DE
2586758656,2586787839,US
-2586787840,2586796031,GB
-2586796032,2586804223,US
+2586787840,2586791935,GB
+2586791936,2586804223,US
2586804224,2586808319,ES
2586808320,2586814463,US
2586814464,2586816511,RO
2586816512,2586828799,US
-2586828800,2586829567,CH
+2586828800,2586829055,CH
+2586829056,2586829311,US
+2586829312,2586829567,CH
2586829568,2586853887,US
2586853888,2586854143,ES
2586854144,2586854399,US
@@ -78452,8 +80542,8 @@
2586888448,2586890239,US
2586890240,2586890751,DE
2586890752,2586891263,US
-2586891264,2586891519,GB
-2586891520,2586927103,US
+2586891264,2586892287,GB
+2586892288,2586927103,US
2586927104,2586931199,GB
2586931200,2586952191,US
2586952192,2586952447,FR
@@ -78466,31 +80556,31 @@
2586956288,2586957311,FR
2586957312,2586968127,US
2586968128,2586968319,FR
-2586968320,2587017471,US
-2587017472,2587017727,IE
+2586968320,2587017215,US
+2587017216,2587017727,IE
2587017728,2587018239,US
2587018240,2587019775,IE
2587019776,2587020031,US
2587020032,2587020799,IE
2587020800,2587021823,US
-2587021824,2587022847,IE
-2587022848,2587033599,US
-2587033600,2587041791,NL
-2587041792,2587049983,US
-2587049984,2587058175,GB
-2587058176,2587066367,US
+2587021824,2587023359,IE
+2587023360,2587033599,US
+2587033600,2587035647,NL
+2587035648,2587049983,US
+2587049984,2587052031,GB
+2587052032,2587066367,US
2587066368,2587069439,GB
2587069440,2587070463,US
-2587070464,2587082751,GB
-2587082752,2587107327,US
-2587107328,2587115519,BE
-2587115520,2587128522,US
+2587070464,2587076607,GB
+2587076608,2587080703,US
+2587080704,2587082751,GB
+2587082752,2587128522,US
2587128523,2587128523,TR
2587128524,2587131903,US
2587131904,2587132415,FR
2587132416,2587164671,US
-2587164672,2587172863,CH
-2587172864,2587197439,US
+2587164672,2587166719,CH
+2587166720,2587197439,US
2587197440,2587197695,ES
2587197696,2587217919,US
2587217920,2587218943,CG
@@ -78502,19 +80592,19 @@
2587285504,2587285759,ES
2587285760,2587286015,US
2587286016,2587286271,ES
-2587286272,2587286527,US
-2587286528,2587287551,ES
+2587286272,2587287039,US
+2587287040,2587287551,ES
2587287552,2587361791,US
2587361792,2587362047,MD
2587362048,2587377663,US
2587377664,2587379711,IT
2587379712,2587383807,US
-2587383808,2587384063,FR
-2587384064,2587394047,US
+2587383808,2587385855,FR
+2587385856,2587394047,US
2587394048,2587402239,ES
2587402240,2587410431,US
-2587410432,2587418623,IT
-2587418624,2587427839,US
+2587410432,2587414527,IT
+2587414528,2587427839,US
2587427840,2587430911,GR
2587430912,2587443199,US
2587443200,2587447295,CH
@@ -78527,7 +80617,10 @@
2587479121,2587481969,US
2587481970,2587481970,LB
2587481971,2587484159,US
-2587484160,2587492351,GB
+2587484160,2587486207,GB
+2587486208,2587489952,US
+2587489953,2587489953,GB
+2587489954,2587492351,US
2587492352,2587497471,ES
2587497472,2587498495,US
2587498496,2587499007,ES
@@ -78542,9 +80635,7 @@
2587582464,2587587071,NL
2587587072,2587589631,US
2587589632,2587589887,NL
-2587589888,2587592191,US
-2587592192,2587592447,GB
-2587592448,2587592703,US
+2587589888,2587592703,US
2587592704,2587594751,GB
2587594752,2587596799,US
2587596800,2587598847,GB
@@ -78555,9 +80646,12 @@
2587631616,2587631871,US
2587631872,2587632127,ES
2587632128,2587639807,US
-2587639808,2587647999,GB
-2587648000,2587656191,ES
-2587656192,2587672831,US
+2587639808,2587641855,GB
+2587641856,2587647999,US
+2587648000,2587650047,ES
+2587650048,2587650815,US
+2587650816,2587651071,ES
+2587651072,2587672831,US
2587672832,2587673087,IT
2587673088,2587674623,US
2587674624,2587676671,IT
@@ -78595,12 +80689,14 @@
2587738624,2587740159,US
2587740160,2587742207,RS
2587742208,2587746303,US
-2587746304,2587754495,ES
-2587754496,2587762687,US
-2587762688,2587770879,ES
-2587770880,2587787263,US
-2587787264,2587787519,GB
-2587787520,2587926527,US
+2587746304,2587748351,ES
+2587748352,2587762687,US
+2587762688,2587764735,ES
+2587764736,2587787263,US
+2587787264,2587787775,GB
+2587787776,2587803647,US
+2587803648,2587803903,IT
+2587803904,2587926527,US
2587926528,2587930623,BG
2587930624,2587938815,US
2587938816,2587942911,PR
@@ -78701,8 +80797,7 @@
2588483584,2588484607,ZA
2588484608,2588485631,BW
2588485632,2588486655,BI
-2588486656,2588487423,SO
-2588487424,2588487679,KE
+2588486656,2588487679,SO
2588487680,2588487711,SC
2588487712,2588487743,FR
2588487744,2588487807,BF
@@ -78747,7 +80842,9 @@
2588540928,2588671999,TZ
2588672000,2588934143,KE
2588934144,2588999679,ZA
-2588999680,2589234175,US
+2588999680,2589131007,US
+2589131008,2589131263,NL
+2589131264,2589234175,US
2589234176,2589234431,AT
2589234432,2589234687,BD
2589234688,2589234943,BR
@@ -78786,11 +80883,25 @@
2589263872,2589264895,JP
2589264896,2589265919,US
2589265920,2589270015,HK
-2589270016,2589523967,US
+2589270016,2589278207,US
+2589278208,2589286399,PK
+2589286400,2589286655,PH
+2589286656,2589523967,US
2589523968,2589589503,HK
2589589504,2589655039,US
-2589655040,2589720575,HK
-2589720576,2589982719,US
+2589655040,2589786111,HK
+2589786112,2589852671,US
+2589852672,2589853695,DE
+2589853696,2589854207,JP
+2589854208,2589880449,US
+2589880450,2589880450,HK
+2589880451,2589880509,US
+2589880510,2589880510,HK
+2589880511,2589880833,US
+2589880834,2589880834,HK
+2589880835,2589880893,US
+2589880894,2589880894,HK
+2589880895,2589982719,US
2589982720,2590507007,SD
2590507008,2591031295,TN
2591031296,2591096831,GA
@@ -78810,11 +80921,7 @@
2591408128,2591424511,BI
2591424512,2591457279,NG
2591457280,2591473663,ML
-2591473664,2591478271,AO
-2591478272,2591478783,PT
-2591478784,2591479807,AO
-2591479808,2591480063,PT
-2591480064,2591481855,AO
+2591473664,2591481855,AO
2591481856,2591483903,TZ
2591483904,2591485951,KE
2591485952,2591486975,SO
@@ -78831,7 +80938,8 @@
2591555584,2591571967,GH
2591571968,2591588351,NG
2591588352,2591604735,MG
-2591604736,2591606783,ZA
+2591604736,2591605759,ZA
+2591605760,2591606783,KE
2591606784,2591610879,MU
2591610880,2591612927,ZM
2591612928,2591621119,ZW
@@ -78868,15 +80976,27 @@
2594177024,2595225599,GH
2595225600,2596274175,EG
2596274176,2597322751,ZA
-2597322752,2597453823,US
-2597453824,2597584895,HK
-2597584896,2598240255,US
+2597322752,2597388287,US
+2597388288,2597454079,HK
+2597454080,2597454335,JP
+2597454336,2597584895,HK
+2597584896,2597650431,US
+2597650432,2597715967,HK
+2597715968,2597847039,US
+2597847040,2597912575,HK
+2597912576,2598109183,US
+2598109184,2598174719,HK
+2598174720,2598240255,US
2598240256,2598313983,HK
2598313984,2598314495,JP
-2598314496,2598314751,KR
-2598314752,2598320127,HK
-2598320128,2598320383,JP
-2598320384,2598361599,HK
+2598314496,2598315007,KR
+2598315008,2598315519,PH
+2598315520,2598316031,HK
+2598316032,2598316543,SG
+2598316544,2598318079,JP
+2598318080,2598320127,PH
+2598320128,2598321151,JP
+2598321152,2598361599,HK
2598361600,2598362111,CI
2598362112,2598371327,HK
2598371328,2598895615,UG
@@ -78914,15 +81034,19 @@
2602770944,2602771455,IN
2602771456,2602774015,US
2602774016,2602774527,IN
-2602774528,2602819583,US
-2602819584,2602827775,AU
-2602827776,2603417599,US
+2602774528,2602821631,US
+2602821632,2602821887,IN
+2602821888,2603417599,US
2603417600,2603483135,DE
2603483136,2604007423,US
2604007424,2604072959,ES
2604072960,2604138495,NO
2604138496,2604204031,DE
-2604204032,2604335103,US
+2604204032,2604242943,US
+2604242944,2604243711,SG
+2604243712,2604243967,US
+2604243968,2604244991,SG
+2604244992,2604335103,US
2604335104,2604400639,NZ
2604400640,2604466175,AU
2604466176,2604648447,US
@@ -78973,12 +81097,14 @@
2609381376,2609446911,GB
2609446912,2609512447,DK
2609512448,2609643519,US
-2609643520,2609676287,FR
+2609643520,2609661951,FR
+2609661952,2609663999,BE
+2609664000,2609676287,FR
2609676288,2609677815,GB
2609677816,2609677817,FR
-2609677818,2609684479,GB
-2609684480,2609708799,FR
-2609708800,2609708839,SG
+2609677818,2609678335,GB
+2609678336,2609707007,FR
+2609707008,2609708839,SG
2609708840,2609708843,FR
2609708844,2609709055,SG
2609709056,2609840127,US
@@ -78999,9 +81125,7 @@
2613313536,2613379071,SD
2613379072,2613444607,US
2613444608,2613510143,GB
-2613510144,2613650161,US
-2613650162,2613650162,MX
-2613650163,2613706751,US
+2613510144,2613706751,US
2613706752,2613772287,GB
2613772288,2613837823,US
2613837824,2613903359,NL
@@ -79044,7 +81168,7 @@
2617139968,2617140223,PA
2617140224,2617140479,CO
2617140480,2617140735,SC
-2617140736,2617140991,CA
+2617140736,2617140991,US
2617140992,2617141247,LC
2617141248,2617141503,SV
2617141504,2617141759,US
@@ -79168,10 +81292,11 @@
2617769984,2617835519,ZA
2617835520,2617901055,US
2617901056,2617966591,FI
-2617966592,2618023935,CA
-2618023936,2618028543,IE
+2617966592,2618028031,CA
+2618028032,2618028543,IE
2618028544,2618029055,GB
-2618029056,2618032127,IE
+2618029056,2618030079,IE
+2618030080,2618032127,CA
2618032128,2618097663,US
2618097664,2618115583,NZ
2618115584,2618116095,SG
@@ -79187,7 +81312,9 @@
2618949632,2619080703,US
2619080704,2619146239,FR
2619146240,2619277311,US
-2619277312,2619342847,BN
+2619277312,2619327743,BN
+2619327744,2619327999,SG
+2619328000,2619342847,BN
2619342848,2619473919,US
2619473920,2619539455,CA
2619539456,2619604991,ES
@@ -79270,33 +81397,18 @@
2621937152,2622685183,US
2622685184,2622750719,NL
2622750720,2623390719,US
-2623390720,2623397887,MX
-2623397888,2623602687,US
+2623390720,2623391743,MX
+2623391744,2623602687,US
2623602688,2623668223,CL
2623668224,2624192511,US
2624192512,2624258047,CH
2624258048,2624265727,US
2624265728,2624266239,SG
-2624266240,2624266751,AU
-2624266752,2624269313,US
-2624269314,2624269314,AU
-2624269315,2624269317,US
-2624269318,2624269318,AU
-2624269319,2624269321,US
-2624269322,2624269322,AU
-2624269323,2624269345,US
-2624269346,2624269346,AU
-2624269347,2624269349,US
-2624269350,2624269350,AU
-2624269351,2624269353,US
-2624269354,2624269354,AU
-2624269355,2624269377,US
-2624269378,2624269378,AU
-2624269379,2624269381,US
-2624269382,2624269382,AU
-2624269383,2624269385,US
-2624269386,2624269386,AU
-2624269387,2624270335,US
+2624266240,2624266561,US
+2624266562,2624266562,AU
+2624266563,2624269311,US
+2624269312,2624269823,AU
+2624269824,2624270335,US
2624270336,2624270847,AU
2624270848,2624277503,US
2624277504,2624278015,AU
@@ -79304,12 +81416,13 @@
2624279040,2624279071,IN
2624279072,2624279095,US
2624279096,2624279111,IN
-2624279112,2624286719,US
+2624279112,2624285665,US
+2624285666,2624285668,ID
+2624285669,2624286719,US
2624286720,2624287231,IN
-2624287232,2624290815,US
-2624290816,2624291839,ID
+2624287232,2624291839,US
2624291840,2624292351,CN
-2624292352,2624292863,ID
+2624292352,2624292863,US
2624292864,2624292883,SG
2624292884,2624292887,HK
2624292888,2624292891,SG
@@ -79344,10 +81457,10 @@
2624293172,2624293175,PH
2624293176,2624293179,TH
2624293180,2624293375,SG
-2624293376,2624293385,ID
+2624293376,2624293385,US
2624293386,2624293386,SG
-2624293387,2624294911,ID
-2624294912,2624297983,US
+2624293387,2624296959,US
+2624296960,2624297983,ID
2624297984,2624297999,SG
2624298000,2624298003,CN
2624298004,2624298007,HK
@@ -79385,10 +81498,25 @@
2624298292,2624298295,PH
2624298296,2624298299,TH
2624298300,2624298495,SG
-2624298496,2624302079,US
-2624302080,2624302145,AU
-2624302146,2624302146,US
-2624302147,2624303103,AU
+2624298496,2624299007,ID
+2624299008,2624302081,US
+2624302082,2624302082,AU
+2624302083,2624302085,US
+2624302086,2624302086,AU
+2624302087,2624302089,US
+2624302090,2624302090,AU
+2624302091,2624302113,US
+2624302114,2624302114,AU
+2624302115,2624302117,US
+2624302118,2624302118,AU
+2624302119,2624302121,US
+2624302122,2624302122,AU
+2624302123,2624302149,US
+2624302150,2624302150,AU
+2624302151,2624302153,US
+2624302154,2624302154,AU
+2624302155,2624302591,US
+2624302592,2624303103,AU
2624303104,2624303615,US
2624303616,2624304639,CN
2624304640,2624395263,US
@@ -79402,7 +81530,9 @@
2625044480,2625134559,US
2625134560,2625134591,UA
2625134592,2625961983,US
-2625961984,2626027519,LU
+2625961984,2625974271,LU
+2625974272,2625976319,FR
+2625976320,2626027519,LU
2626027520,2626093055,US
2626093056,2626158591,CH
2626158592,2626879487,US
@@ -79419,9 +81549,40 @@
2631925760,2632450047,ZA
2632450048,2632516095,US
2632516096,2632519679,HK
-2632519680,2632522834,US
-2632522835,2632522835,AU
-2632522836,2632974335,US
+2632519680,2632522495,US
+2632522496,2632522751,PG
+2632522752,2632523775,AU
+2632523776,2632698241,US
+2632698242,2632698242,HK
+2632698243,2632698301,US
+2632698302,2632698302,HK
+2632698303,2632712703,US
+2632712704,2632713215,FR
+2632713216,2632714239,GB
+2632714240,2632715263,DE
+2632715264,2632716287,JP
+2632716288,2632716799,ES
+2632716800,2632717311,IT
+2632717312,2632717823,AU
+2632717824,2632718335,IN
+2632718336,2632718847,BR
+2632718848,2632719359,MX
+2632719360,2632719871,CA
+2632719872,2632720383,NP
+2632720384,2632734719,US
+2632734720,2632736767,PH
+2632736768,2632777983,US
+2632777984,2632778239,IN
+2632778240,2632778751,US
+2632778752,2632779263,JP
+2632779264,2632783871,US
+2632783872,2632785919,JP
+2632785920,2632810495,HK
+2632810496,2632935873,US
+2632935874,2632935874,HK
+2632935875,2632935933,US
+2632935934,2632935934,HK
+2632935935,2632974335,US
2632974336,2634022911,ZA
2634022912,2634088447,CN
2634088448,2635202559,JP
@@ -79430,9 +81591,9 @@
2635399168,2635530239,US
2635530240,2635595775,FR
2635595776,2635661311,FI
-2635661312,2635710719,PL
-2635710720,2635710975,GB
-2635710976,2635726847,PL
+2635661312,2635688447,PL
+2635688448,2635688959,DE
+2635688960,2635726847,PL
2635726848,2635792383,CH
2635792384,2635988991,IT
2635988992,2636120063,US
@@ -79576,7 +81737,8 @@
2637746336,2637746343,NL
2637746344,2637746351,FR
2637746352,2637746359,AT
-2637746360,2637746687,US
+2637746360,2637746367,FR
+2637746368,2637746687,US
2637746688,2637746711,KR
2637746712,2637746743,US
2637746744,2637746751,HK
@@ -79602,9 +81764,7 @@
2638002688,2638020607,US
2638020608,2638086143,CN
2638086144,2638151679,US
-2638151680,2638818303,JP
-2638818304,2638818559,SO
-2638818560,2638838783,JP
+2638151680,2638838783,JP
2638838784,2638839039,SO
2638839040,2639331327,JP
2639396864,2639462399,JP
@@ -79628,7 +81788,9 @@
2640398368,2640398399,BE
2640398400,2640398431,NL
2640398432,2640400383,DE
-2640400384,2640404479,ES
+2640400384,2640402687,ES
+2640402688,2640402815,IT
+2640402816,2640404479,ES
2640404480,2640404735,NL
2640404736,2640404991,US
2640404992,2640405503,NL
@@ -79726,7 +81888,8 @@
2642751488,2642755583,CA
2642755584,2642757631,DE
2642757632,2642759679,SA
-2642759680,2642763775,US
+2642759680,2642761727,US
+2642761728,2642763775,SA
2642763776,2642767871,AU
2642767872,2642771967,DE
2642771968,2642776063,NL
@@ -79750,13 +81913,12 @@
2644443136,2644508671,FR
2644508672,2644574207,US
2644574208,2644639743,CH
-2644639744,2644647935,CA
-2644647936,2644770815,DE
+2644639744,2644770815,DE
2644770816,2644836351,BE
-2644836352,2644936703,US
-2644936704,2644938751,CL
-2644938752,2644951039,US
-2644951040,2644959231,GB
+2644836352,2644934655,US
+2644934656,2644936703,AR
+2644936704,2644957183,US
+2644957184,2644959231,GB
2644959232,2644967423,US
2644967680,2644968191,IN
2645032960,2645098495,CH
@@ -79773,7 +81935,20 @@
2645753856,2645819391,TH
2645819392,2645884927,SE
2645884928,2645950463,HU
-2645950464,2646196223,US
+2645950464,2646184447,US
+2646184448,2646184703,IT
+2646184704,2646184959,BR
+2646184960,2646189055,US
+2646189056,2646189311,CA
+2646189312,2646189823,US
+2646189824,2646190079,CA
+2646190080,2646190335,JP
+2646190336,2646194175,US
+2646194176,2646194431,JP
+2646194432,2646194687,SG
+2646194688,2646194943,US
+2646194944,2646195199,SG
+2646195200,2646196223,US
2646196224,2646212607,JP
2646212608,2646278143,RU
2646278144,2646474751,US
@@ -80004,8 +82179,8 @@
2647392256,2647457791,US
2647457792,2647523327,JP
2647523328,2647605247,US
-2647605248,2647613439,GB
-2647613440,2647851007,US
+2647605248,2647607295,GB
+2647607296,2647851007,US
2647851008,2647916543,AU
2647916544,2648899583,US
2648899584,2648965119,IN
@@ -80026,27 +82201,23 @@
2650603520,2650669055,CO
2650669056,2650734591,US
2650734592,2650800127,CN
-2650800128,2652504751,US
-2652504752,2652504767,CA
-2652504768,2652512255,US
-2652512256,2652520447,CA
-2652520448,2652520879,US
+2650800128,2652520879,US
2652520880,2652520895,CA
2652520896,2652528639,US
-2652528640,2652536831,AR
-2652536832,2652537599,US
+2652528640,2652528895,AR
+2652528896,2652537599,US
2652537600,2652537607,GB
2652537608,2652537615,US
2652537616,2652537855,GB
2652537856,2652541183,US
2652541184,2652541439,NL
-2652541440,2652557567,US
-2652557568,2652557575,SG
-2652557576,2652557583,US
-2652557584,2652557823,SG
-2652557824,2652561407,US
-2652561408,2652569599,AU
-2652569600,2653159423,US
+2652541440,2652561407,US
+2652561408,2652563455,AU
+2652563456,2652692479,US
+2652692480,2652692973,CA
+2652692974,2652692974,US
+2652692975,2652694527,CA
+2652694528,2653159423,US
2653159424,2653421567,NO
2653421568,2653487103,AU
2653487104,2653552639,GB
@@ -80158,7 +82329,7 @@
2658205696,2658395135,US
2658395136,2658395647,GB
2658395648,2658398719,US
-2658398720,2658399231,CA
+2658398720,2658399231,NZ
2658399232,2658401279,US
2658401280,2658402303,NL
2658402304,2658439183,US
@@ -80167,15 +82338,11 @@
2658439368,2658439368,BR
2658439369,2658454491,US
2658454492,2658454492,IN
-2658454493,2658459135,US
-2658459136,2658459355,AU
+2658454493,2658459355,US
2658459356,2658459356,IN
-2658459357,2658459391,AU
-2658459392,2658459903,US
-2658459904,2658460159,HU
-2658460160,2658467839,US
-2658467840,2658476031,AU
-2658476032,2658598911,US
+2658459357,2658471935,US
+2658471936,2658473983,AU
+2658473984,2658598911,US
2658598912,2658664447,GB
2658664448,2658926591,US
2658926592,2659057663,GB
@@ -80219,9 +82386,9 @@
2661548032,2661679103,US
2661679104,2661885951,LU
2661885952,2661886207,BE
-2661886208,2661908479,LU
-2661908480,2661916671,BE
-2661916672,2661941247,LU
+2661886208,2661912575,LU
+2661912576,2661914623,BE
+2661914624,2661941247,LU
2661941248,2662006783,CL
2662006784,2662072319,US
2662072320,2662137855,ES
@@ -80235,7 +82402,9 @@
2662300880,2662300895,JP
2662300896,2662352063,US
2662352064,2662352079,GB
-2662352080,2662353775,US
+2662352080,2662353439,US
+2662353440,2662353471,GB
+2662353472,2662353775,US
2662353776,2662353791,GB
2662353792,2662353823,US
2662353824,2662353839,GB
@@ -80284,9 +82453,9 @@
2665545728,2665611263,DE
2665611264,2665676799,CH
2665676800,2665742335,ES
-2665742336,2665760767,US
-2665760768,2665762815,AU
-2665762816,2665873407,US
+2665742336,2665783295,US
+2665783296,2665785343,GB
+2665785344,2665873407,US
2665873408,2665938943,GB
2665938944,2666004479,FR
2666004480,2666070015,CH
@@ -80324,7 +82493,7 @@
2666201088,2667053055,US
2667053056,2667085823,NO
2667085824,2667118591,DK
-2667118592,2667184127,HU
+2667118592,2667184127,RO
2667184128,2667249663,RU
2667249664,2667315199,CL
2667315200,2667511807,US
@@ -80339,22 +82508,11 @@
2667528192,2667532287,FR
2667532288,2667534335,RU
2667534336,2667536383,PL
-2667536384,2667536447,AT
-2667536448,2667536463,FR
-2667536464,2667536605,AT
-2667536606,2667536606,FR
-2667536607,2667536615,AT
-2667536616,2667536623,FR
-2667536624,2667536639,AT
-2667536640,2667536895,FR
+2667536384,2667536895,FR
2667536896,2667537087,AT
2667537088,2667537119,FR
2667537120,2667537151,AT
-2667537152,2667537215,FR
-2667537216,2667537231,AT
-2667537232,2667537239,FR
-2667537240,2667537279,AT
-2667537280,2667544575,FR
+2667537152,2667544575,FR
2667544576,2667560959,RU
2667560960,2667565055,IT
2667565056,2667565311,HK
@@ -80419,9 +82577,7 @@
2669019136,2669084671,CH
2669084672,2669215743,US
2669215744,2669281279,DE
-2669281280,2669338879,US
-2669338880,2669339135,CA
-2669339136,2669428735,US
+2669281280,2669428735,US
2669428736,2669477887,JP
2669477888,2669543423,CH
2669543424,2669608959,GB
@@ -80430,7 +82586,9 @@
2669805568,2669871103,GB
2669871104,2670067711,US
2670067712,2670133247,SE
-2670133248,2670591999,US
+2670133248,2670590207,US
+2670590208,2670590463,HK
+2670590464,2670591999,US
2670592000,2670657535,NL
2670657536,2670854143,US
2670854144,2670919679,FR
@@ -80626,11 +82784,15 @@
2675628400,2675628447,GB
2675628448,2675630095,US
2675630096,2675630111,GB
-2675630112,2675631327,US
+2675630112,2675630175,US
+2675630176,2675630207,GB
+2675630208,2675631327,US
2675631328,2675631359,GB
2675631360,2675631983,US
2675631984,2675631999,HK
-2675632000,2675633183,US
+2675632000,2675632319,US
+2675632320,2675632335,GB
+2675632336,2675633183,US
2675633184,2675633215,GB
2675633216,2675636170,US
2675636171,2675636171,GB
@@ -80643,8 +82805,8 @@
2676424704,2676457471,US
2676457472,2676465663,DE
2676465664,2676621311,US
-2676621312,2676626431,HK
-2676626432,2676686847,SG
+2676621312,2676625407,HK
+2676625408,2676686847,SG
2676686848,2677014527,US
2677014528,2677080063,CH
2677080064,2677145599,US
@@ -80804,19 +82966,18 @@
2679431168,2679439359,FR
2679439360,2679515391,US
2679515392,2679515903,GB
-2679515904,2679525119,US
-2679525120,2679525375,GB
+2679515904,2679523327,US
+2679523328,2679525375,GB
2679525376,2679535615,US
2679535616,2679537663,GB
2679537664,2680029183,US
2680029184,2680094719,SE
2680094720,2680160255,US
2680160256,2680225791,TH
-2680225792,2680264193,SE
-2680264194,2680264223,DK
-2680264224,2680264255,SE
-2680264256,2680264447,DK
-2680264448,2680356863,SE
+2680225792,2680262655,DK
+2680262656,2680264703,SE
+2680264704,2680291327,DK
+2680291328,2680356863,SE
2680356864,2680422399,DK
2680422400,2680487935,AU
2680487936,2680520703,GB
@@ -80856,18 +83017,13 @@
2682001408,2682002431,GB
2682002432,2682008575,US
2682008576,2682008831,GB
-2682008832,2682014207,US
-2682014208,2682014719,GB
+2682008832,2682014463,US
+2682014464,2682014719,GB
2682014720,2682014725,US
2682014726,2682014727,SG
-2682014728,2682014975,US
-2682014976,2682015231,PH
-2682015232,2682015743,IN
-2682015744,2682055167,US
+2682014728,2682055167,US
2682055168,2682055423,SG
-2682055424,2682101759,US
-2682101760,2682109951,GB
-2682109952,2682257407,US
+2682055424,2682257407,US
2682257408,2682322943,UA
2682322944,2682388479,US
2682388480,2682454015,CN
@@ -80923,8 +83079,7 @@
2684216320,2684217343,GB
2684217344,2684219391,CZ
2684219392,2684221439,PL
-2684221440,2684222463,IL
-2684222464,2684223487,ES
+2684221440,2684223487,ES
2684223488,2684289023,GB
2684289024,2684297215,RU
2684297216,2684299263,AU
@@ -81000,8 +83155,7 @@
2685693952,2685694975,SL
2685702144,2685703167,DE
2685703168,2685705215,NL
-2685705216,2685706239,RU
-2685706240,2685707263,BR
+2685705216,2685707263,BR
2685707264,2685708287,EC
2685708288,2685709311,BR
2685709312,2685710335,CL
@@ -81024,32 +83178,25 @@
2686386176,2686500863,US
2686500864,2686509055,CA
2686509056,2686513151,US
-2686513152,2686515199,SG
-2686515200,2686615039,US
-2686615040,2686615551,GB
-2686615552,2686844927,US
+2686513152,2686513663,IM
+2686513664,2686515199,SG
+2686515200,2686844927,US
2686844928,2686910463,GB
2686910464,2686975999,US
2686976000,2687041535,GR
2687041536,2687238143,US
-2687238144,2687295487,DE
-2687295488,2687295743,GB
+2687238144,2687295743,DE
2687295744,2687295999,CZ
-2687296000,2687297231,DE
-2687297232,2687297236,GB
-2687297237,2687297247,DE
-2687297248,2687297279,US
-2687297280,2687560191,DE
+2687296000,2687560191,DE
2687560192,2687560447,ZA
-2687560448,2687762431,DE
+2687560448,2687560703,MY
+2687560704,2687762431,DE
2687762432,2687827967,AT
2687827968,2687893503,CH
2687893504,2688221183,DE
2688221184,2688286719,CH
2688286720,2688352255,DE
-2688352256,2688418916,CH
-2688418917,2688418917,IE
-2688418918,2688420095,CH
+2688352256,2688420095,CH
2688420096,2688420351,US
2688420352,2688420607,CN
2688420608,2688548863,CH
@@ -81074,20 +83221,15 @@
2689593344,2689593599,GB
2689593600,2689597439,US
2689597440,2689662975,IT
-2689662976,2689794047,US
-2689794048,2689801727,DE
-2689801728,2689801904,US
+2689662976,2689801904,US
2689801905,2689801905,DE
-2689801906,2689801983,US
-2689801984,2689802239,DE
-2689802240,2689802751,GB
+2689801906,2689802751,US
2689802752,2689803263,TR
-2689803264,2689810431,GB
-2689810432,2689818623,US
+2689803264,2689804287,US
+2689804288,2689806335,GB
+2689806336,2689818623,US
2689818624,2689819135,IN
-2689819136,2689820671,US
-2689820672,2689821183,HK
-2689821184,2689835007,US
+2689819136,2689835007,US
2689835008,2689835263,AU
2689835264,2689835519,US
2689835520,2689835775,AU
@@ -81113,40 +83255,44 @@
2691760128,2691825663,CG
2691825664,2691891199,HU
2691891200,2691956735,SA
-2691956736,2691959807,ZA
+2691956736,2691959807,BR
2691959808,2691960831,US
-2691960832,2691962879,ZA
+2691960832,2691962879,BR
2691962880,2691963903,US
-2691963904,2691965951,ZA
+2691963904,2691965951,BR
2691965952,2691966975,US
-2691966976,2691969023,ZA
+2691966976,2691969023,BR
2691969024,2691970047,US
-2691970048,2691972095,ZA
+2691970048,2691972095,BR
2691972096,2691973119,US
-2691973120,2691975167,ZA
+2691973120,2691975167,BR
2691975168,2691976191,US
-2691976192,2691978239,ZA
+2691976192,2691978239,BR
2691978240,2691979263,US
-2691979264,2691981311,ZA
+2691979264,2691981311,BR
2691981312,2691982335,US
-2691982336,2691984383,ZA
+2691982336,2691984383,BR
2691984384,2691985407,US
-2691985408,2691987455,ZA
+2691985408,2691987455,BR
2691987456,2691988479,US
-2691988480,2691990527,ZA
+2691988480,2691990527,BR
2691990528,2691991551,US
-2691991552,2691993599,ZA
+2691991552,2691993599,BR
2691993600,2691994623,US
-2691994624,2691996671,ZA
+2691994624,2691996671,BR
2691996672,2691997695,US
-2691997696,2691999743,ZA
+2691997696,2691999743,BR
2691999744,2692000767,US
-2692000768,2692002815,ZA
+2692000768,2692002815,BR
2692002816,2692003839,US
-2692003840,2692005887,ZA
+2692003840,2692005887,BR
2692005888,2692006911,US
-2692006912,2692169727,ZA
-2692169728,2692173567,SC
+2692006912,2692007935,BR
+2692007936,2692008959,FR
+2692008960,2692011007,BR
+2692011008,2692012031,FR
+2692012032,2692171775,ZA
+2692171776,2692173567,SC
2692173568,2692173823,US
2692173824,2692175871,ZA
2692175872,2692177919,SC
@@ -81180,7 +83326,9 @@
2692349952,2692546559,ZA
2692546560,2694316031,US
2694316032,2694381567,NG
-2694381568,2694447103,US
+2694381568,2694414622,US
+2694414623,2694414623,GB
+2694414624,2694447103,US
2694447104,2694578175,CI
2694578176,2694840319,TN
2694840320,2695920283,MA
@@ -81304,7 +83452,9 @@
2700015616,2700016639,BR
2700016640,2700017663,CL
2700017664,2700214271,JP
-2700214272,2700247039,NA
+2700214272,2700227071,NA
+2700227072,2700227583,ZM
+2700227584,2700247039,NA
2700247040,2700263423,UG
2700263424,2700279807,TG
2700279808,2700935167,JP
@@ -81415,13 +83565,12 @@
2705688320,2705688575,DE
2705688576,2705691647,US
2705691648,2705692671,GB
-2705692672,2705695487,US
-2705695488,2705695503,IE
+2705692672,2705695503,US
2705695504,2705695519,GB
-2705695520,2705695743,IE
-2705695744,2705710079,US
+2705695520,2705710079,US
2705710080,2705711103,IN
-2705711104,2705784831,US
+2705711104,2705719295,US
+2705719296,2705784831,SA
2705784832,2705817599,GB
2705817600,2705850367,US
2705850368,2705915903,ES
@@ -81450,27 +83599,13 @@
2708865024,2708930559,JP
2708930560,2709127167,US
2709127168,2709192703,KR
-2709192704,2709194751,ZA
-2709194752,2709195007,US
-2709195008,2709198335,ZA
-2709198336,2709198591,US
-2709198592,2709199103,ZA
+2709192704,2709199103,ZA
2709199104,2709199359,US
2709199360,2709200383,ZA
2709200384,2709200639,US
-2709200640,2709200895,ZA
-2709200896,2709201151,US
-2709201152,2709202431,ZA
-2709202432,2709202943,US
-2709202944,2709206015,ZA
-2709206016,2709206271,US
-2709206272,2709207039,ZA
-2709207040,2709207295,US
-2709207296,2709207551,ZA
-2709207552,2709207807,US
-2709207808,2709208063,ZA
-2709208064,2709208319,US
-2709208320,2709208575,ZA
+2709200640,2709202687,ZA
+2709202688,2709202943,US
+2709202944,2709208575,ZA
2709208576,2709208831,US
2709208832,2709209087,ZA
2709209088,2709225471,OM
@@ -81479,18 +83614,7 @@
2709225984,2709226239,ES
2709226240,2709226495,ZA
2709226496,2709226511,DE
-2709226512,2709227775,ZA
-2709227776,2709228031,US
-2709228032,2709229695,ZA
-2709229696,2709229711,DE
-2709229712,2709231103,ZA
-2709231104,2709231119,DE
-2709231120,2709232895,ZA
-2709232896,2709233151,US
-2709233152,2709233407,DE
-2709233408,2709235967,ZA
-2709235968,2709236223,US
-2709236224,2709240831,ZA
+2709226512,2709240831,ZA
2709240832,2709241087,DE
2709241088,2709241343,ZA
2709241344,2709241599,DE
@@ -81501,7 +83625,7 @@
2709242624,2709242879,US
2709242880,2709243135,DE
2709243136,2709243391,US
-2709243392,2709243647,DE
+2709243392,2709243647,ZA
2709243648,2709243903,US
2709243904,2709244159,ZA
2709244160,2709244415,US
@@ -81514,40 +83638,31 @@
2709245952,2709246207,ZA
2709246208,2709246463,US
2709246464,2709246719,DE
-2709246720,2709246959,ZA
-2709246960,2709246975,HK
-2709246976,2709247231,ZA
+2709246720,2709247231,ZA
2709247232,2709247487,MY
-2709247488,2709247743,DE
+2709247488,2709247743,ZA
2709247744,2709247999,US
2709248000,2709248255,ZA
2709248256,2709248511,US
-2709248512,2709250047,ZA
+2709248512,2709249023,ZA
+2709249024,2709249279,DE
+2709249280,2709250047,ZA
2709250048,2709250303,DE
2709250304,2709251071,ZA
2709251072,2709251327,DE
2709251328,2709251583,ZA
2709251584,2709251839,DE
-2709251840,2709252095,GB
-2709252096,2709252351,DE
-2709252352,2709252863,ZA
+2709251840,2709252863,ZA
2709252864,2709253375,DE
-2709253376,2709253631,US
-2709253632,2709253887,ZA
-2709253888,2709254143,US
-2709254144,2709254399,ZA
-2709254400,2709254655,US
-2709254656,2709255679,ZA
+2709253376,2709254655,ZA
+2709254656,2709254911,DE
+2709254912,2709255679,ZA
2709255680,2709255935,DE
-2709255936,2709256191,US
-2709256192,2709257215,ZA
+2709255936,2709257215,ZA
2709257216,2709257471,DE
-2709257472,2709257727,US
-2709257728,2709257983,ZA
-2709257984,2709389311,US
-2709389312,2709435647,SG
-2709435648,2709435903,IN
-2709435904,2709454847,SG
+2709257472,2709258239,ZA
+2709258240,2709389311,US
+2709389312,2709454847,SG
2709454848,2709593599,US
2709593600,2709593855,CA
2709593856,2709601279,US
@@ -81555,7 +83670,10 @@
2709601312,2709601343,NL
2709601344,2709601407,US
2709601408,2709601535,CA
-2709601536,2709606399,US
+2709601536,2709602303,US
+2709602304,2709603327,NL
+2709603328,2709605375,US
+2709605376,2709606399,PR
2709606400,2709618687,CA
2709618688,2709622783,US
2709622784,2709624831,CA
@@ -81604,9 +83722,7 @@
2713976832,2714042367,VE
2714042368,2714238975,US
2714238976,2714304511,TH
-2714304512,2714370263,US
-2714370264,2714370271,SG
-2714370272,2714371679,US
+2714304512,2714371679,US
2714371680,2714371711,CA
2714371712,2714372415,US
2714372416,2714372431,PH
@@ -81624,9 +83740,7 @@
2714379152,2714379152,HK
2714379153,2714380031,US
2714380032,2714380287,HK
-2714380288,2714380367,US
-2714380368,2714380383,TW
-2714380384,2714381311,US
+2714380288,2714381311,US
2714381312,2714381567,HK
2714381568,2714381951,US
2714381952,2714381983,HK
@@ -81708,14 +83822,13 @@
2720399360,2720464895,FR
2720464896,2720849919,US
2720849920,2720850175,GB
-2720850176,2720856575,US
-2720856576,2720856831,IN
-2720856832,2721382399,US
+2720850176,2721382399,US
2721382400,2721447935,CA
2721447936,2721579007,US
2721579008,2721644543,IN
2721644544,2721972223,US
-2721972224,2722037759,SG
+2721972224,2721979903,RU
+2721979904,2722037759,SG
2722037760,2722496511,US
2722496512,2722562047,CA
2722562048,2722693119,US
@@ -81821,12 +83934,13 @@
2728313088,2728313855,US
2728313856,2728314879,IT
2728314880,2728315903,DE
-2728315904,2728316927,US
+2728315904,2728316415,TH
+2728316416,2728316927,FR
2728316928,2728317951,BG
-2728317952,2728319743,US
-2728319744,2728321023,NO
-2728321024,2728321279,TW
-2728321280,2728322047,US
+2728317952,2728318975,US
+2728318976,2728319999,VN
+2728320000,2728321023,NO
+2728321024,2728322047,TW
2728322048,2728323071,PH
2728323072,2728324095,BE
2728324096,2728325119,FI
@@ -81873,7 +83987,9 @@
2731761664,2731763455,CA
2731763456,2731765759,US
2731765760,2731767807,CA
-2731767808,2731771903,US
+2731767808,2731768471,US
+2731768472,2731768475,DE
+2731768476,2731771903,US
2731771904,2731772927,KY
2731772928,2731784191,US
2731784192,2731785215,CA
@@ -81889,7 +84005,7 @@
2731801600,2731804671,US
2731804672,2731805695,CA
2731805696,2731805951,TC
-2731805952,2731806207,LC
+2731805952,2731806207,BB
2731806208,2731806463,AG
2731806464,2731806719,VG
2731806720,2731807743,US
@@ -81913,7 +84029,9 @@
2731862016,2731864063,CA
2731864064,2731870207,US
2731870208,2731871231,CA
-2731871232,2731894783,US
+2731871232,2731874303,US
+2731874304,2731876351,CA
+2731876352,2731894783,US
2731894784,2731896831,CA
2731896832,2731900927,US
2731900928,2731901439,CA
@@ -81931,9 +84049,11 @@
2731927552,2731927807,IE
2731927808,2732086271,US
2732086272,2732087295,CA
-2732087296,2732100095,US
-2732100096,2732100607,GB
-2732100608,2732105727,US
+2732087296,2732099583,US
+2732099584,2732099839,CA
+2732099840,2732100607,US
+2732100608,2732101631,IN
+2732101632,2732105727,US
2732105728,2732107775,JM
2732107776,2732109823,US
2732110848,2732111871,US
@@ -81974,11 +84094,23 @@
2732227584,2732228607,CA
2732228608,2732261375,US
2732261376,2732265471,CA
-2732265472,2732273663,US
+2732265472,2732269567,US
+2732269568,2732270207,HK
+2732270208,2732270208,US
+2732270209,2732270645,HK
+2732270646,2732270646,US
+2732270647,2732271615,HK
+2732271616,2732273663,US
2732273664,2732275711,CA
2732275712,2732278783,US
2732278784,2732279807,CA
-2732279808,2732297471,US
+2732279808,2732281855,US
+2732281856,2732282723,HK
+2732282724,2732282724,US
+2732282725,2732283779,HK
+2732283780,2732283780,US
+2732283781,2732283903,HK
+2732283904,2732297471,US
2732297472,2732297727,CA
2732297728,2732297983,US
2732297984,2732298239,CA
@@ -82061,7 +84193,9 @@
2732568576,2732580863,US
2732580864,2732582911,CA
2732582912,2733903871,US
-2733903872,2733904895,PR
+2733903872,2733904127,PR
+2733904128,2733904255,IT
+2733904256,2733904895,PR
2733904896,2733907967,CA
2733907968,2733911039,US
2733911040,2733912063,CA
@@ -82085,7 +84219,21 @@
2733979648,2733980671,CA
2733980672,2733984767,US
2733984768,2733985791,LC
-2733985792,2734002175,US
+2733985792,2733997055,US
+2733997056,2733997597,HK
+2733997598,2733997598,US
+2733997599,2733997607,HK
+2733997608,2733997608,US
+2733997609,2733997672,HK
+2733997673,2733997673,US
+2733997674,2733997821,HK
+2733997822,2733997822,US
+2733997823,2733997845,HK
+2733997846,2733997846,US
+2733997847,2733998071,HK
+2733998072,2733998072,US
+2733998073,2733998079,HK
+2733998080,2734002175,US
2734002176,2734003199,CA
2734003200,2734004223,US
2734004224,2734005247,GD
@@ -82110,8 +84258,8 @@
2734075904,2734077951,US
2734077952,2734078207,GB
2734078208,2734096383,US
-2734096384,2734097407,HK
-2734097408,2734099455,US
+2734096384,2734098431,HK
+2734098432,2734099455,US
2734099456,2734102527,CA
2734102528,2734104575,VI
2734104576,2734105599,US
@@ -82136,7 +84284,9 @@
2734170112,2734172159,CA
2734172160,2734173183,US
2734173184,2734174207,PR
-2734174208,2734186495,US
+2734174208,2734180351,US
+2734180352,2734182399,CA
+2734182400,2734186495,US
2734187008,2734192639,US
2734192640,2734194687,CA
2734194688,2734197759,US
@@ -82161,9 +84311,7 @@
2734260224,2734262271,KY
2734262272,2734268415,US
2734268416,2734269439,CA
-2734269440,2734272922,US
-2734272923,2734272923,GB
-2734272924,2734287871,US
+2734269440,2734287871,US
2734287872,2734288895,CA
2734288896,2734296063,US
2734296064,2734297087,CA
@@ -82212,8 +84360,7 @@
2734414329,2734414329,MX
2734414330,2734414334,US
2734414335,2734414335,MX
-2734414336,2734432255,US
-2734433280,2734435327,US
+2734414336,2734435327,US
2734435328,2734436351,CA
2734436352,2734447615,US
2734447616,2734448639,CA
@@ -82263,9 +84410,14 @@
2734605312,2734605567,GB
2734605568,2734605823,DE
2734605824,2734606079,SE
-2734606080,2734608351,US
+2734606080,2734606775,US
+2734606776,2734606779,DE
+2734606780,2734607319,US
+2734607320,2734607327,LT
+2734607328,2734608351,US
2734608352,2734608367,DE
-2734608368,2734633983,US
+2734608368,2734632959,US
+2734632960,2734633983,HK
2734633984,2734635007,CA
2734635008,2734649343,US
2734649344,2734650367,CA
@@ -82344,7 +84496,8 @@
2737809408,2737810431,AU
2737810432,2737811455,KH
2737811456,2737811711,SG
-2737811712,2737811967,AU
+2737811712,2737811712,VN
+2737811713,2737811967,AU
2737811968,2737812223,PH
2737812224,2737812479,TH
2737812480,2737813503,AU
@@ -82354,7 +84507,8 @@
2737817600,2737818111,MY
2737818112,2737818367,AU
2737818368,2737818623,MY
-2737818624,2737819647,NZ
+2737818624,2737819135,AU
+2737819136,2737819647,NZ
2737819648,2737821695,IN
2737821696,2737822719,AU
2737822720,2737823743,NZ
@@ -82397,7 +84551,9 @@
2738225152,2738683903,JP
2738749440,2741370879,FR
2741370880,2741436415,US
-2741436416,2742321151,FR
+2741436416,2742190079,FR
+2742190080,2742194175,IN
+2742194176,2742321151,FR
2742321152,2742353919,US
2742353920,2742419455,ES
2742419456,2742484991,US
@@ -82431,7 +84587,32 @@
2745565184,2745696255,GB
2745696256,2745761791,CH
2745761792,2745909247,GB
-2745909248,2745958399,US
+2745909248,2745925631,US
+2745925632,2745925887,DE
+2745925888,2745926399,GB
+2745926400,2745926655,FR
+2745926656,2745926911,DE
+2745926912,2745927167,FR
+2745927168,2745927423,SE
+2745927424,2745927679,ES
+2745927680,2745927935,AT
+2745927936,2745928191,UA
+2745928192,2745928447,US
+2745928448,2745928703,PL
+2745928704,2745928959,NL
+2745928960,2745929215,RO
+2745929216,2745937919,US
+2745937920,2745938431,ZA
+2745938432,2745942271,US
+2745942272,2745942527,HK
+2745942528,2745942783,SG
+2745942784,2745943039,US
+2745943040,2745943551,AU
+2745943552,2745943807,HK
+2745943808,2745944063,IN
+2745944064,2745944575,US
+2745944576,2745945599,IN
+2745945600,2745958399,US
2745958400,2746011647,FR
2746011648,2746015743,NL
2746015744,2746089471,FR
@@ -82478,11 +84659,9 @@
2750873600,2750939135,CL
2750939136,2751070207,US
2751070208,2751135743,CL
-2751135744,2751135762,US
-2751135763,2751135763,JP
-2751135764,2751196931,US
-2751196932,2751196932,JP
-2751196933,2751397887,US
+2751135744,2751196927,US
+2751196928,2751197183,JP
+2751197184,2751397887,US
2751397888,2751463423,KR
2751463424,2751528959,KZ
2751528960,2751660031,FR
@@ -82524,7 +84703,15 @@
2754543616,2754609151,US
2754609152,2754674687,SE
2754674688,2754871295,US
-2754871296,2754904063,HK
+2754871296,2754871637,HK
+2754871638,2754871638,SG
+2754871639,2754871690,HK
+2754871691,2754871691,SG
+2754871692,2754871935,HK
+2754871936,2754871943,SG
+2754871944,2754874026,HK
+2754874027,2754874027,TW
+2754874028,2754904063,HK
2754904064,2754920447,US
2754920448,2754928639,IN
2754928640,2754936831,US
@@ -82576,7 +84763,9 @@
2760114540,2760114811,FR
2760114812,2760114815,PL
2760114816,2760114847,FI
-2760114848,2760115007,FR
+2760114848,2760114915,FR
+2760114916,2760114919,ES
+2760114920,2760115007,FR
2760115008,2760115071,DE
2760115072,2760115327,FR
2760115328,2760115455,GB
@@ -82634,7 +84823,9 @@
2760119496,2760119499,ES
2760119500,2760119967,FR
2760119968,2760119983,GB
-2760119984,2760120543,FR
+2760119984,2760120063,FR
+2760120064,2760120319,NL
+2760120320,2760120543,FR
2760120544,2760120575,ES
2760120576,2760120751,FR
2760120752,2760120759,ES
@@ -82724,7 +84915,9 @@
2760147536,2760147551,ES
2760147552,2760147647,FR
2760147648,2760147711,ES
-2760147712,2760148551,FR
+2760147712,2760148067,FR
+2760148068,2760148071,NL
+2760148072,2760148551,FR
2760148552,2760148559,FI
2760148560,2760148895,FR
2760148896,2760148927,CZ
@@ -82807,7 +85000,9 @@
2760160960,2760161023,DE
2760161024,2760161679,FR
2760161680,2760161683,GB
-2760161684,2760161983,FR
+2760161684,2760161775,FR
+2760161776,2760161779,NL
+2760161780,2760161983,FR
2760161984,2760162047,IE
2760162048,2760162399,FR
2760162400,2760162431,ES
@@ -82873,7 +85068,9 @@
2760178560,2760178687,IT
2760178688,2760178751,FR
2760178752,2760178767,GB
-2760178768,2760179711,FR
+2760178768,2760179375,FR
+2760179376,2760179391,PL
+2760179392,2760179711,FR
2760179712,2760245247,DE
2760245248,2760310783,GB
2760310784,2760376319,SE
@@ -82898,25 +85095,26 @@
2760566784,2760568831,IQ
2760568832,2760570879,FR
2760570880,2760572927,NL
-2760572928,2760638463,DE
+2760572928,2760574975,DE
+2760574976,2760577023,RO
+2760577024,2760638463,DE
2760638464,2760703999,NL
2760704000,2760769535,FI
2760769536,2760835071,IT
2760835072,2760898559,GB
2760898560,2760899583,US
2760899584,2760900607,GB
-2760900608,2760912895,US
-2760912896,2760913151,BE
-2760913152,2761031679,US
+2760900608,2761031679,US
2761031680,2761424895,ZA
-2761424896,2761621503,US
-2761621504,2761687039,ZA
-2761687040,2761949183,US
+2761424896,2761553919,US
+2761553920,2761555967,CA
+2761555968,2761949183,US
2761949184,2761950207,TN
2761950208,2761951231,UG
2761951232,2761952255,LR
2761952256,2761953279,ZM
-2761953280,2761954303,CG
+2761953280,2761954047,CG
+2761954048,2761954303,IT
2761954304,2761956351,ZA
2761956352,2761957375,TZ
2761957376,2761958399,CI
@@ -83101,7 +85299,9 @@
2776039424,2776104959,US
2776104960,2776170495,GB
2776170496,2776478719,US
-2776478720,2776479743,AU
+2776478720,2776478975,SG
+2776478976,2776479231,AU
+2776479232,2776479743,SG
2776479744,2776479999,US
2776480000,2776480511,NL
2776480512,2776480767,US
@@ -83118,7 +85318,9 @@
2779054080,2779119615,ZA
2779119616,2779316223,US
2779316224,2779381759,RE
-2779381760,2779906047,US
+2779381760,2779578367,US
+2779578368,2779594751,SG
+2779594752,2779906047,US
2779906048,2779971583,CA
2779971584,2780037119,US
2780037120,2780039167,ZA
@@ -83162,8 +85364,8 @@
2780932096,2780932607,US
2780932608,2780933119,GB
2780933120,2780934143,US
-2780934144,2780938239,GB
-2780938240,2780954623,US
+2780934144,2780936191,GB
+2780936192,2780954623,US
2780954624,2781020159,KR
2781020160,2781206527,US
2781206528,2781207551,GB
@@ -83172,10 +85374,11 @@
2781478912,2781544447,HK
2781544448,2781614591,US
2781614592,2781615103,MX
-2781615104,2781618175,US
-2781618176,2781623295,CA
+2781615104,2781622271,US
+2781622272,2781623295,CA
2781623296,2781623807,US
-2781623808,2781626367,CA
+2781623808,2781624319,CA
+2781624320,2781626367,US
2781626368,2781626879,NL
2781626880,2781627391,IT
2781627392,2781628415,US
@@ -83184,13 +85387,12 @@
2781630464,2781631487,MY
2781631488,2781635583,US
2781635584,2781636095,JP
-2781636096,2781642751,US
-2781642752,2781643775,SG
+2781636096,2781643775,US
2781643776,2781644287,KR
2781644288,2781644799,TW
2781644800,2781645823,IN
-2781645824,2781650943,SG
-2781650944,2781675519,US
+2781645824,2781646847,SG
+2781646848,2781675519,US
2781675520,2781741055,NZ
2781741056,2781937663,US
2781937664,2782003199,TH
@@ -83205,25 +85407,18 @@
2782789632,2782855167,CH
2782855168,2782990335,US
2782990336,2782990847,GB
-2782990848,2782992383,ES
+2782990848,2782992383,US
2782992384,2782992895,DE
-2782992896,2782993407,ES
+2782992896,2782993407,CH
2782993408,2782993919,NL
-2782993920,2782994431,ES
+2782993920,2782994431,CH
2782994432,2782995455,US
2782995456,2782995711,CA
2782995712,2783002623,US
-2783002624,2783003135,DK
+2783002624,2783002879,DK
+2783002880,2783003135,US
2783003136,2783003647,RU
-2783003648,2783003695,FI
-2783003696,2783003708,SE
-2783003709,2783003711,FI
-2783003712,2783003715,SE
-2783003716,2783003717,FI
-2783003718,2783003718,SE
-2783003719,2783003721,FI
-2783003722,2783003722,SE
-2783003723,2783003903,FI
+2783003648,2783003903,SE
2783003904,2783004159,US
2783004160,2783004671,CH
2783004672,2783004880,US
@@ -83233,28 +85428,25 @@
2783005696,2783006719,FR
2783006720,2783007487,GB
2783007488,2783007743,US
-2783007744,2783008255,PL
-2783008256,2783008511,IT
-2783008512,2783008767,US
+2783007744,2783007999,PL
+2783008000,2783008255,US
+2783008256,2783008767,IT
2783008768,2783009023,BE
2783009024,2783010889,US
2783010890,2783010890,HK
2783010891,2783010943,US
2783010944,2783011839,AU
-2783011840,2783011903,JP
-2783011904,2783011904,US
-2783011905,2783012351,JP
+2783011840,2783012351,JP
2783012352,2783012607,TW
2783012608,2783012863,AU
-2783012864,2783012951,US
-2783012952,2783012991,IN
-2783012992,2783013375,US
+2783012864,2783013119,IN
+2783013120,2783013375,US
2783013376,2783013887,IN
-2783013888,2783014911,US
+2783013888,2783014399,US
+2783014400,2783014911,JP
2783014912,2783015423,SG
2783015424,2783015935,AU
-2783015936,2783016191,US
-2783016192,2783016447,HK
+2783015936,2783016447,HK
2783016448,2783016703,AU
2783016704,2783125503,US
2783125504,2783129599,CA
@@ -83308,9 +85500,7 @@
2788289536,2788294655,GB
2788294656,2789113855,US
2789113856,2789146623,CA
-2789146624,2789195775,US
-2789195776,2789203967,GB
-2789203968,2789212159,US
+2789146624,2789212159,US
2789212160,2789277695,AU
2789277696,2789343231,NZ
2789343232,2789933055,US
@@ -83350,33 +85540,34 @@
2796807168,2796807935,US
2796807936,2796808191,NZ
2796808192,2798788607,US
-2798788608,2798796799,CO
-2798796800,2798838015,US
+2798788608,2798790655,CO
+2798790656,2798838015,US
2798838016,2798838271,CO
2798838272,2801795071,US
2801795072,2801860607,CO
-2801860608,2801904639,US
-2801904640,2801905151,PH
-2801905152,2802515967,US
+2801860608,2802515967,US
2802515968,2802581503,CA
2802581504,2802909183,US
2802909184,2802974719,CA
-2802974720,2803318783,US
-2803318784,2803326975,ID
-2803326976,2803630079,US
+2802974720,2803630079,US
2803630080,2803695615,CL
2803695616,2803761151,US
2803761152,2803826687,AU
2803826688,2803892223,US
2803892224,2805465087,CA
2805465088,2805989375,UY
-2805989376,2806012937,US
-2806012938,2806012938,HK
-2806012939,2806644735,US
+2805989376,2806007807,US
+2806007808,2806009855,GB
+2806009856,2806012927,US
+2806012928,2806013951,HK
+2806013952,2806644735,US
2806644736,2806710271,CA
2806710272,2807103487,US
2807103488,2807169023,NL
-2807169024,2807496703,US
+2807169024,2807448063,US
+2807448064,2807463935,DE
+2807463936,2807465983,US
+2807465984,2807496703,SA
2807496704,2807562239,DE
2807562240,2807566335,US
2807566336,2807574527,CA
@@ -83425,9 +85616,7 @@
2807611392,2807824383,US
2807824384,2807889919,CA
2807889920,2808217599,US
-2808217600,2808220159,GB
-2808220160,2808220223,US
-2808220224,2808283135,GB
+2808217600,2808283135,GB
2808283136,2808287231,US
2808287232,2808288255,NL
2808288256,2808290303,US
@@ -83444,7 +85633,13 @@
2808336384,2808340479,NL
2808340480,2808344575,US
2808344576,2808348671,DE
-2808348672,2808545279,US
+2808348672,2808373247,US
+2808373248,2808374271,AU
+2808374272,2808375295,US
+2808375296,2808376319,HK
+2808376320,2808381439,US
+2808381440,2808414207,SA
+2808414208,2808545279,US
2808545280,2808610815,AU
2808610816,2808872959,US
2808872960,2808938495,UY
@@ -83494,7 +85689,9 @@
2809327570,2809327570,RU
2809327571,2809331711,FR
2809331712,2809397247,US
-2809397248,2809462783,UY
+2809397248,2809404415,UY
+2809404416,2809405439,AR
+2809405440,2809462783,UY
2809462784,2809855999,US
2809856000,2809921535,AU
2809921536,2809987071,US
@@ -83536,16 +85733,19 @@
2813132800,2813263871,US
2813263872,2813329407,JP
2813329408,2813526015,US
-2813526016,2813527039,NZ
-2813527040,2813531135,KH
-2813531136,2813533183,NZ
+2813526016,2813526527,KH
+2813526528,2813527039,NZ
+2813527040,2813531647,KH
+2813531648,2813533183,NZ
2813533184,2813534207,KH
2813534208,2813535231,NZ
2813535232,2813538303,KH
2813538304,2813542399,HK
-2813542400,2813558783,NZ
+2813542400,2813549567,JP
+2813549568,2813558783,SG
2813558784,2813575167,AU
-2813575168,2813577215,NZ
+2813575168,2813576191,KH
+2813576192,2813577215,NZ
2813577216,2813579263,HK
2813579264,2813583359,NZ
2813583360,2813591551,TH
@@ -83586,9 +85786,7 @@
2816276480,2816278527,SG
2816278528,2816671743,US
2816671744,2816737279,CA
-2816737280,2817059583,US
-2817059584,2817059839,AU
-2817059840,2817064959,US
+2816737280,2817064959,US
2817064960,2817130495,DE
2817130496,2817277951,US
2817277952,2817294335,NL
@@ -83711,15 +85909,14 @@
2822732104,2822733823,NL
2822733824,2822734095,HK
2822734098,2822734111,US
-2822734112,2822742015,HK
+2822734112,2822737919,HK
+2822737920,2822738943,US
+2822738944,2822741247,HK
+2822741248,2822742015,US
2822742016,2822750207,SG
2822750208,2822758399,HK
2822758400,2822766591,SG
-2822766592,2822848767,US
-2822848768,2822848997,IE
-2822848998,2822848998,US
-2822848999,2822849023,IE
-2822849024,2823159807,US
+2822766592,2823159807,US
2823159808,2823225343,HK
2823225344,2823553023,US
2823553024,2823618559,ZA
@@ -83741,9 +85938,8 @@
2823828480,2823829503,US
2823829504,2823829759,ID
2823829760,2823830015,RU
-2823830016,2823830527,SC
-2823830528,2823831551,ZA
-2823831552,2823832575,SC
+2823830016,2823830527,LT
+2823830528,2823832575,SC
2823832576,2823833599,US
2823833600,2823834623,IN
2823834624,2823835647,US
@@ -83769,7 +85965,8 @@
2823863296,2823864319,US
2823864320,2823865343,SC
2823865344,2823866367,US
-2823866368,2823869439,SC
+2823866368,2823867391,PL
+2823867392,2823869439,SC
2823869440,2823870463,US
2823870464,2823873535,SC
2823873536,2823874559,US
@@ -83832,10 +86029,8 @@
2823946240,2824011775,US
2824011776,2824077311,AR
2824077312,2824290303,US
-2824290304,2824294399,AU
-2824294400,2824357887,US
-2824357888,2824359935,CA
-2824359936,2824404991,US
+2824290304,2824292351,AU
+2824292352,2824404991,US
2824404992,2824470527,ZA
2824470528,2824472575,BR
2824472576,2824473599,AR
@@ -83847,9 +86042,7 @@
2824492032,2824493055,AR
2824493056,2824494079,BR
2824494080,2824495103,CO
-2824495104,2824495263,HN
-2824495264,2824495279,DE
-2824495280,2824495943,HN
+2824495104,2824495943,HN
2824495944,2824495951,NL
2824495952,2824496127,HN
2824496128,2824498175,BR
@@ -83882,17 +86075,22 @@
2824534016,2824535039,BR
2824535040,2824536063,AR
2824536064,2824560639,US
-2824560640,2824562687,GB
+2824560640,2824561663,GB
+2824561664,2824562687,AU
2824562688,2824564223,US
2824564224,2824564735,DE
2824564736,2824565759,FR
-2824565760,2824566783,US
+2824565760,2824566015,DE
+2824566016,2824566271,IT
+2824566272,2824566783,US
2824566784,2824567039,ES
2824567040,2824567295,AU
2824567296,2824798207,US
2824798208,2824863743,TW
2824863744,2824929279,AR
-2824929280,2825191423,US
+2824929280,2825007103,US
+2825007104,2825009151,GB
+2825009152,2825191423,US
2825191424,2825256959,AR
2825256960,2825519103,US
2825519104,2825584639,HK
@@ -83957,7 +86155,15 @@
2827878400,2827943935,ZA
2827943936,2828009471,US
2828009472,2828075007,CA
-2828075008,2828400639,US
+2828075008,2828337151,US
+2828337152,2828369919,SA
+2828369920,2828370431,SE
+2828370432,2828370943,JP
+2828370944,2828377087,US
+2828377088,2828377343,NL
+2828377344,2828377855,US
+2828377856,2828378111,DE
+2828378112,2828400639,US
2828400640,2828401151,GB
2828401152,2828533759,US
2828533760,2828599551,AU
@@ -83972,17 +86178,18 @@
2828795904,2829029375,US
2829029376,2829029631,CN
2829029632,2829033471,US
-2829033472,2829041663,IN
-2829041664,2829045759,AU
-2829045760,2829058047,US
+2829033472,2829035519,IN
+2829035520,2829041663,US
+2829041664,2829043711,AU
+2829043712,2829058047,US
2829058048,2829123583,CN
2829123584,2829148415,US
2829148416,2829148671,HK
2829148672,2829174783,US
-2829174784,2829175807,GB
-2829175808,2829177343,US
-2829177344,2829177599,AU
-2829177600,2829184767,US
+2829174784,2829175039,GB
+2829175040,2829175295,US
+2829175296,2829175807,GB
+2829175808,2829184767,US
2829184768,2829185023,GB
2829185024,2829254655,US
2829254656,2829320191,CH
@@ -83994,11 +86201,15 @@
2829590784,2829591033,GB
2829591034,2829591034,US
2829591035,2829591039,GB
-2829591040,2829593343,US
+2829591040,2829592575,US
+2829592576,2829593343,GB
2829593344,2829593591,CH
2829593592,2829593595,US
2829593596,2829593599,CH
-2829593600,2829844479,US
+2829593600,2829594623,GB
+2829594624,2829647359,US
+2829647360,2829647871,ID
+2829647872,2829844479,US
2829844480,2829910015,ZA
2829910016,2830086655,US
2830086656,2830086911,GB
@@ -84031,14 +86242,11 @@
2830482432,2830486527,BR
2830486528,2830488575,AR
2830488576,2830492671,BR
-2830492672,2830493183,US
-2830493184,2830493695,HN
+2830492672,2830493695,US
2830493696,2830499839,BR
2830499840,2830761983,US
2830761984,2830827519,AU
-2830827520,2830873599,KW
-2830873600,2830873855,US
-2830873856,2830893055,KW
+2830827520,2830893055,KW
2830893056,2830958591,KR
2830958592,2831155575,US
2831155576,2831155576,SG
@@ -84187,9 +86395,8 @@
2832038912,2832040959,BR
2832040960,2832041983,PE
2832041984,2832048127,BR
-2832048128,2832048751,HN
-2832048752,2832048759,ES
-2832048760,2832049151,HN
+2832048128,2832048383,HN
+2832048384,2832049151,US
2832049152,2832054271,BR
2832054272,2832055295,AR
2832055296,2832059391,BR
@@ -84217,9 +86424,9 @@
2833474560,2833475583,BR
2833475584,2833476607,CO
2833476608,2833481727,BR
-2833481728,2833482679,HN
-2833482680,2833482687,CL
-2833482688,2833482751,HN
+2833481728,2833482239,US
+2833482240,2833482495,HN
+2833482496,2833482751,US
2833482752,2833484799,BR
2833484800,2833485519,HN
2833485520,2833485527,BE
@@ -84233,7 +86440,8 @@
2833513472,2833514495,AR
2833514496,2833522687,BR
2833523712,2833525759,BR
-2833525760,2833526783,HN
+2833525760,2833526271,US
+2833526272,2833526783,HN
2833526784,2833527807,CR
2833527808,2833528831,MX
2833528832,2833529855,AR
@@ -84308,7 +86516,9 @@
2834694144,2834825215,US
2834825216,2834956287,KR
2834956288,2835087359,US
-2835087360,2835152895,AU
+2835087360,2835118847,AU
+2835118848,2835119103,US
+2835119104,2835152895,AU
2835152896,2835161087,LR
2835161088,2835169279,ZW
2835169280,2835177471,ZA
@@ -84316,8 +86526,10 @@
2835181568,2835183615,NG
2835183616,2835185663,ZA
2835185664,2835195903,RE
-2835195904,2835196671,YT
-2835196672,2835197183,RE
+2835195904,2835196415,YT
+2835196416,2835196799,RE
+2835196800,2835196927,YT
+2835196928,2835197183,RE
2835197184,2835197439,YT
2835197440,2835202047,RE
2835202048,2835206143,ZA
@@ -84348,19 +86560,11 @@
2838259760,2838276159,US
2838276160,2838276191,NL
2838276192,2838298623,US
-2838298624,2838299439,NL
-2838299440,2838299455,US
-2838299456,2838299711,NL
-2838299712,2838299775,US
-2838299776,2838300335,NL
+2838298624,2838300335,NL
2838300336,2838300351,US
-2838300352,2838300671,NL
-2838300672,2838300927,US
-2838300928,2838301119,NL
+2838300352,2838301119,NL
2838301120,2838301183,US
-2838301184,2838301695,NL
-2838301696,2838301951,US
-2838301952,2838304319,NL
+2838301184,2838304319,NL
2838304320,2838304383,US
2838304384,2838304479,NL
2838304480,2838304511,US
@@ -84424,27 +86628,19 @@
2838337136,2838337151,US
2838337152,2838337263,NL
2838337264,2838337295,US
-2838337296,2838337759,NL
-2838337760,2838337761,IN
-2838337762,2838337767,NL
+2838337296,2838337767,NL
2838337768,2838337769,US
2838337770,2838337951,NL
-2838337952,2838337983,US
-2838337984,2838338079,NL
+2838337952,2838337967,US
+2838337968,2838338079,NL
2838338080,2838338127,US
2838338128,2838338183,NL
2838338184,2838338191,US
2838338192,2838338271,NL
2838338272,2838338303,JP
-2838338304,2838338567,NL
-2838338568,2838338575,US
-2838338576,2838338703,NL
-2838338704,2838338719,IN
-2838338720,2838338735,NL
+2838338304,2838338735,NL
2838338736,2838338751,US
-2838338752,2838338771,NL
-2838338772,2838338773,IN
-2838338774,2838338775,NL
+2838338752,2838338775,NL
2838338776,2838338783,US
2838338784,2838338815,NL
2838338816,2838338823,US
@@ -84474,17 +86670,13 @@
2838342448,2838342463,US
2838342464,2838343071,NL
2838343072,2838343103,US
-2838343104,2838344319,NL
-2838344320,2838344335,US
-2838344336,2838344451,NL
+2838343104,2838344451,NL
2838344452,2838344455,US
2838344456,2838344463,NL
2838344464,2838344479,US
2838344480,2838344917,NL
2838344918,2838344918,US
-2838344919,2838345239,NL
-2838345240,2838345247,US
-2838345248,2838346559,NL
+2838344919,2838346559,NL
2838346560,2838346591,US
2838346592,2838346687,NL
2838346688,2838346719,US
@@ -84552,9 +86744,7 @@
2838415392,2838415487,US
2838415488,2838415655,NL
2838415656,2838415663,US
-2838415664,2838415839,NL
-2838415840,2838415871,US
-2838415872,2838416623,NL
+2838415664,2838416623,NL
2838416624,2838416639,AF
2838416640,2838418687,NL
2838418688,2838418815,US
@@ -84574,9 +86764,7 @@
2838429696,2838469631,US
2838469632,2838478975,NL
2838478976,2838479007,US
-2838479008,2838479151,NL
-2838479152,2838479167,US
-2838479168,2838479273,NL
+2838479008,2838479273,NL
2838479274,2838479274,BR
2838479275,2838479431,NL
2838479432,2838479439,US
@@ -84600,9 +86788,7 @@
2838482548,2838482551,US
2838482552,2838482695,NL
2838482696,2838482703,US
-2838482704,2838482863,NL
-2838482864,2838482871,US
-2838482872,2838482911,NL
+2838482704,2838482911,NL
2838482912,2838482943,US
2838482944,2838482967,NL
2838482968,2838482975,US
@@ -84614,27 +86800,19 @@
2838483360,2838483391,US
2838483392,2838483487,NL
2838483488,2838483519,US
-2838483520,2838484399,NL
-2838484400,2838484415,US
-2838484416,2838484463,NL
+2838483520,2838484463,NL
2838484464,2838484479,US
2838484480,2838484839,NL
2838484840,2838484843,US
-2838484844,2838484943,NL
-2838484944,2838484959,US
-2838484960,2838485151,NL
+2838484844,2838485151,NL
2838485152,2838485183,US
-2838485184,2838485375,NL
-2838485376,2838485391,US
-2838485392,2838485439,NL
+2838485184,2838485439,NL
2838485440,2838485447,US
2838485448,2838485695,NL
2838485696,2838485727,US
2838485728,2838485967,NL
2838485968,2838485983,US
-2838485984,2838486463,NL
-2838486464,2838486495,US
-2838486496,2838486567,NL
+2838485984,2838486567,NL
2838486568,2838486575,US
2838486576,2838487327,NL
2838487328,2838487343,US
@@ -84654,9 +86832,7 @@
2838490000,2838490007,US
2838490008,2838491679,NL
2838491680,2838491687,US
-2838491688,2838491943,NL
-2838491944,2838491951,US
-2838491952,2838492479,NL
+2838491688,2838492479,NL
2838492480,2838492511,US
2838492512,2838492679,NL
2838492680,2838492687,US
@@ -84670,23 +86846,15 @@
2838493712,2838493727,US
2838493728,2838494063,NL
2838494064,2838494079,US
-2838494080,2838494347,NL
-2838494348,2838494351,US
-2838494352,2838496623,NL
-2838496624,2838496639,US
-2838496640,2838496671,NL
+2838494080,2838496671,NL
2838496672,2838496703,US
2838496704,2838498111,NL
2838498112,2838498175,JP
-2838498176,2838498479,NL
-2838498480,2838498495,US
-2838498496,2838511871,NL
+2838498176,2838511871,NL
2838511872,2838511887,US
2838511888,2838512047,NL
2838512048,2838512079,US
-2838512080,2838512255,NL
-2838512256,2838512271,US
-2838512272,2838512303,NL
+2838512080,2838512303,NL
2838512304,2838512319,US
2838512320,2838512351,NL
2838512352,2838512367,AF
@@ -84808,13 +86976,7 @@
2838528816,2838528823,US
2838528824,2838528959,NL
2838528960,2838529023,US
-2838529024,2838529295,NL
-2838529296,2838529303,US
-2838529304,2838529319,NL
-2838529320,2838529327,US
-2838529328,2838529375,NL
-2838529376,2838529407,US
-2838529408,2838529495,NL
+2838529024,2838529495,NL
2838529496,2838529503,US
2838529504,2838530095,NL
2838530096,2838530111,US
@@ -84860,7 +87022,9 @@
2838542096,2838542111,US
2838542112,2838542287,NL
2838542288,2838542303,US
-2838542304,2838542511,NL
+2838542304,2838542363,NL
+2838542364,2838542364,US
+2838542365,2838542511,NL
2838542512,2838542527,AF
2838542528,2838543223,NL
2838543224,2838543231,US
@@ -84874,9 +87038,7 @@
2838544576,2838544607,US
2838544608,2838544655,NL
2838544656,2838544671,US
-2838544672,2838544703,NL
-2838544704,2838544767,US
-2838544768,2838545279,NL
+2838544672,2838545279,NL
2838545280,2838545295,US
2838545296,2838545567,NL
2838545568,2838545663,US
@@ -84909,12 +87071,10 @@
2838550408,2838550495,NL
2838550496,2838550511,US
2838550512,2838550719,NL
-2838550720,2838550799,US
-2838550800,2838550855,NL
+2838550720,2838550783,US
+2838550784,2838550855,NL
2838550856,2838550863,US
-2838550864,2838551383,NL
-2838551384,2838551387,US
-2838551388,2838551579,NL
+2838550864,2838551579,NL
2838551580,2838551583,US
2838551584,2838551807,NL
2838551808,2838551815,US
@@ -84928,9 +87088,7 @@
2838552304,2838552319,US
2838552320,2838552495,NL
2838552496,2838552511,US
-2838552512,2838553711,NL
-2838553712,2838553727,US
-2838553728,2838554271,NL
+2838552512,2838554271,NL
2838554272,2838554287,US
2838554288,2838554431,NL
2838554432,2838554463,US
@@ -84948,9 +87106,7 @@
2838557168,2838557183,US
2838557184,2838557215,NL
2838557216,2838557231,US
-2838557232,2838557455,NL
-2838557456,2838557463,US
-2838557464,2838557839,NL
+2838557232,2838557839,NL
2838557840,2838557855,US
2838557856,2838558927,NL
2838558928,2838558943,US
@@ -85006,9 +87162,7 @@
2838665760,2838665791,JP
2838665792,2838669119,US
2838669120,2838669151,HK
-2838669152,2838669519,US
-2838669520,2838669535,NL
-2838669536,2838676095,US
+2838669152,2838676095,US
2838676096,2838676127,GB
2838676128,2838676959,US
2838676960,2838676991,GB
@@ -85032,17 +87186,13 @@
2838866164,2838866165,JP
2838866166,2838866451,US
2838866452,2838866452,CA
-2838866453,2838869603,US
-2838869604,2838869607,JP
+2838866453,2838869605,US
+2838869606,2838869607,JP
2838869608,2838870111,US
2838870112,2838870127,CA
2838870128,2838871295,US
-2838871296,2838871311,CA
-2838871312,2838881407,US
-2838881408,2838881423,IN
-2838881424,2838887271,US
-2838887272,2838887279,IN
-2838887280,2838897695,US
+2838871296,2838871551,CA
+2838871552,2838897695,US
2838897696,2838897727,HK
2838897728,2838904831,US
2838904832,2838921215,CA
@@ -85100,9 +87250,7 @@
2838999598,2838999599,JP
2838999600,2839001023,US
2839001024,2839001055,HK
-2839001056,2839001263,US
-2839001264,2839001279,CA
-2839001280,2839021219,US
+2839001056,2839021219,US
2839021220,2839021222,JP
2839021223,2839021223,US
2839021224,2839021226,JP
@@ -85118,10 +87266,14 @@
2839035904,2839052287,KR
2839052288,2839053951,US
2839053952,2839053983,HK
-2839053984,2839085055,US
+2839053984,2839063295,US
+2839063296,2839063359,KR
+2839063360,2839085055,US
2839085056,2839117823,MX
2839117824,2839150591,BR
-2839150592,2839300031,US
+2839150592,2839292927,US
+2839292928,2839293951,CA
+2839293952,2839300031,US
2839300032,2839300047,AF
2839300048,2839315471,US
2839315472,2839315487,JP
@@ -85135,7 +87287,9 @@
2839351856,2839351871,AF
2839351872,2839360079,US
2839360080,2839360095,NL
-2839360096,2839412959,US
+2839360096,2839365799,US
+2839365800,2839365800,JP
+2839365801,2839412959,US
2839412960,2839412991,JP
2839412992,2839447231,US
2839447232,2839447295,JP
@@ -85145,12 +87299,8 @@
2843803648,2843869183,ZA
2843869184,2844524543,US
2844524544,2844590079,KR
-2844590080,2844778495,US
-2844778496,2844783615,DE
-2844783616,2844784639,US
-2844784640,2844786687,DE
-2844786688,2844860415,US
-2844860416,2844864511,BR
+2844590080,2844862463,US
+2844862464,2844864511,BR
2844864512,2844903423,US
2844903424,2844905471,SG
2844905472,2845114367,US
@@ -85170,7 +87320,9 @@
2848244736,2848245759,GB
2848245760,2848284671,US
2848284672,2848285695,RU
-2848285696,2848288767,US
+2848285696,2848286463,US
+2848286464,2848286975,DE
+2848286976,2848288767,US
2848288768,2848289791,GB
2848289792,2848290815,RU
2848290816,2848522239,US
@@ -85265,9 +87417,7 @@
2852088832,2852089855,LY
2852089856,2852090879,TZ
2852090880,2852091903,ZA
-2852091904,2852092903,CD
-2852092904,2852092911,CG
-2852092912,2852092927,CD
+2852091904,2852092927,CD
2852092928,2852093951,NG
2852093952,2852094975,ZA
2852094976,2852095999,MZ
@@ -85277,8 +87427,8 @@
2852099072,2852100095,GA
2852100096,2852101119,TD
2852101120,2852102143,LY
-2852102144,2852102911,MU
-2852102912,2852103167,YT
+2852102144,2852102655,MU
+2852102656,2852103167,YT
2852103168,2852106239,ZA
2852106240,2852107263,MA
2852107264,2852108287,NG
@@ -85359,8 +87509,8 @@
2855550976,2855567359,CA
2855567360,2856058879,US
2856058880,2856124415,CH
-2856124416,2856184831,US
-2856184832,2856185855,GB
+2856124416,2856183807,US
+2856183808,2856185855,GB
2856185856,2856438783,US
2856438784,2856439039,BR
2856439040,2856439295,US
@@ -85479,7 +87629,8 @@
2857470976,2857471999,MX
2857472000,2857473023,VE
2857473024,2857485311,BR
-2857485312,2857486335,HN
+2857485312,2857485823,HN
+2857485824,2857486335,US
2857486336,2857489407,BR
2857489408,2857490431,AR
2857490432,2857493503,BR
@@ -85488,7 +87639,8 @@
2857496576,2857497599,PE
2857497600,2857499647,BR
2857499648,2857500671,CO
-2857500672,2857501695,HN
+2857500672,2857500927,HN
+2857500928,2857501695,US
2857501696,2857506815,BR
2857506816,2857507839,DO
2857507840,2857509887,BR
@@ -85571,18 +87723,32 @@
2857691136,2857692159,AR
2857692160,2857696255,BR
2857696256,2857697279,AR
-2857697280,2859007999,US
+2857697280,2858778623,US
+2858778624,2858811391,SA
+2858811392,2859007999,US
2859008000,2859073535,JP
2859073536,2859106303,SG
2859106304,2859107327,US
2859107328,2859139071,SG
-2859139072,2861068799,US
-2861068800,2861069311,GB
-2861069312,2861070335,US
+2859139072,2860678143,US
+2860678144,2860678207,GR
+2860678208,2860678271,SE
+2860678272,2860678335,FI
+2860678336,2860678399,US
+2860678400,2860678463,ES
+2860678464,2860678527,RO
+2860678528,2860678591,RU
+2860678592,2860678655,CH
+2860678656,2860678783,NL
+2860678784,2860678911,GB
+2860678912,2860678975,NL
+2860678976,2860679007,US
+2860679008,2860679039,NL
+2860679040,2861070335,US
2861070336,2861070591,CA
-2861070592,2861727743,US
-2861727744,2861735935,CA
-2861735936,2861842431,US
+2861070592,2861697023,US
+2861697024,2861699071,CA
+2861699072,2861842431,US
2861842432,2861843851,HK
2861843852,2861843853,US
2861843854,2861844479,HK
@@ -85593,8 +87759,13 @@
2861860864,2861862911,US
2861862912,2861863423,AU
2861863424,2861875199,US
-2861875200,2861883391,GB
-2861883392,2861957119,US
+2861875200,2861877247,GB
+2861877248,2861879295,US
+2861879296,2861881343,GB
+2861881344,2861955071,US
+2861955072,2861955583,GB
+2861955584,2861956095,FR
+2861956096,2861957119,US
2861957120,2861959167,BR
2861959168,2861960191,AR
2861960192,2861961215,MX
@@ -85634,8 +87805,9 @@
2863595520,2863661055,CA
2863661056,2863857663,US
2863857664,2863923199,CN
-2863923200,2864840703,US
-2864840704,2864848895,NL
+2863923200,2864844799,US
+2864844800,2864846847,NL
+2864846848,2864848895,US
2864848896,2864849151,GB
2864849152,2865168383,US
2865168384,2865209343,CA
@@ -85648,7 +87820,9 @@
2865231360,2865231615,JP
2865231616,2865252095,US
2865252096,2865252351,GB
-2865252352,2865577983,US
+2865252352,2865418239,US
+2865418240,2865419263,GB
+2865419264,2865577983,US
2865577984,2865610751,BE
2865610752,2865889279,US
2865889280,2865954815,AR
@@ -85686,8 +87860,7 @@
2867403776,2867404799,AR
2867404800,2867414015,BR
2867414016,2867415039,AR
-2867415040,2867415551,GP
-2867415552,2867416063,GF
+2867415040,2867416063,GP
2867416064,2867420159,BR
2867420160,2867421183,AR
2867421184,2867426303,BR
@@ -85710,9 +87883,7 @@
2867456000,2867457023,AR
2867457024,2867462143,BR
2867462144,2867593215,US
-2867593216,2867634175,CH
-2867634176,2867642367,AT
-2867642368,2867724287,CH
+2867593216,2867724287,CH
2867724288,2867725311,EC
2867725312,2867726335,BR
2867726336,2867727359,AR
@@ -85846,7 +88017,8 @@
2868257792,2868259839,AR
2868259840,2868260863,BR
2868260864,2868261887,AR
-2868261888,2868263935,HN
+2868261888,2868262911,US
+2868262912,2868263935,HN
2868263936,2868264959,BR
2868264960,2868265983,CL
2868265984,2868268031,BR
@@ -85885,8 +88057,7 @@
2868336640,2868337663,AR
2868337664,2868338687,CL
2868338688,2868339711,AR
-2868339712,2868340735,BR
-2868341760,2868344831,BR
+2868339712,2868344831,BR
2868344832,2868345855,AR
2868345856,2868346879,BR
2868346880,2868348927,MX
@@ -85935,33 +88106,37 @@
2868599296,2868599807,IN
2868599808,2868604415,US
2868604416,2868604927,IN
-2868604928,2868612607,US
+2868604928,2868606975,CA
+2868606976,2868612607,US
2868612608,2868613119,IN
-2868613120,2868620799,US
+2868613120,2868615679,US
+2868615680,2868616703,IN
+2868616704,2868619775,US
+2868619776,2868620287,IN
+2868620288,2868620799,US
2868620800,2868621311,IN
-2868621312,2868627455,US
-2868627456,2868627711,DE
+2868621312,2868627711,US
2868627712,2868627967,GB
-2868627968,2868629503,US
-2868629504,2868631551,ID
-2868631552,2868632575,US
-2868632576,2868633087,BR
-2868633088,2868658175,US
+2868627968,2868631551,US
+2868631552,2868633599,AR
+2868633600,2868658175,US
2868658176,2868660223,GB
2868660224,2868662271,ES
-2868662272,2868666367,GB
-2868666368,2868673279,US
+2868662272,2868664319,DE
+2868664320,2868673279,US
2868673280,2868673535,ZA
-2868673536,2868674559,SE
-2868674560,2868678655,US
-2868678656,2868679167,JP
-2868679168,2868682751,US
-2868682752,2868682752,SG
+2868673536,2868674047,FI
+2868674048,2868674559,SE
+2868674560,2868676607,US
+2868676608,2868678655,AU
+2868678656,2868682751,US
+2868682752,2868682752,PH
2868682753,2868682753,US
-2868682754,2868686847,SG
-2868686848,2868690943,US
-2868690944,2868699135,BR
-2868699136,2868731903,US
+2868682754,2868684799,PH
+2868684800,2868689919,US
+2868689920,2868690943,SG
+2868690944,2868692991,BR
+2868692992,2868731903,US
2868731904,2868740095,CA
2868740096,2868772863,US
2868772864,2868773887,CO
@@ -86001,17 +88176,14 @@
2869166080,2869428223,TH
2869428224,2869952511,CN
2869952512,2870018047,FR
-2870018048,2870050815,DE
-2870050816,2870059007,FR
-2870059008,2870083583,DE
-2870083584,2870084140,FR
-2870084141,2870084141,ES
-2870084142,2870084144,FR
-2870084145,2870084145,ES
-2870084146,2870089727,FR
-2870089728,2870090751,BE
+2870018048,2870083583,DE
+2870083584,2870089727,FR
+2870089728,2870090495,DE
+2870090496,2870090751,BE
2870090752,2870091775,DE
-2870091776,2870149119,FR
+2870091776,2870095871,FR
+2870095872,2870096127,SG
+2870096128,2870149119,FR
2870149120,2870214655,HU
2870214656,2870228223,DK
2870228224,2870228991,US
@@ -86071,9 +88243,7 @@
2871083008,2871099391,FR
2871099392,2871101439,NL
2871101440,2871103487,CZ
-2871103488,2871103999,IE
-2871104000,2871104511,NO
-2871104512,2871105535,IE
+2871103488,2871105535,GB
2871105536,2871107583,FR
2871107584,2871111679,GB
2871111680,2871115775,DE
@@ -86089,19 +88259,21 @@
2874146816,2875195391,CN
2875195392,2875719679,TH
2875719680,2877292543,CN
-2877292544,2879332351,US
-2879332352,2879340543,GB
-2879340544,2881486847,US
-2881486848,2881495039,GB
-2881495040,2882469887,US
+2877292544,2879336447,US
+2879336448,2879338495,GB
+2879338496,2879914495,US
+2879914496,2879914559,FR
+2879914560,2881486847,US
+2881486848,2881488895,GB
+2881488896,2882469887,US
2882469888,2882535423,SG
2882535424,2883583999,CN
2883584000,2885681151,VN
2885681152,2886729727,US
-2887778304,2889522431,US
-2889522432,2889522687,PR
-2889522688,2889523071,US
-2889523072,2889523199,PR
+2887778304,2889522175,US
+2889522176,2889522687,PR
+2889522688,2889522943,US
+2889522944,2889523199,PR
2889523200,2890137599,US
2890137600,2890138623,AU
2890138624,2890139647,TH
@@ -86114,8 +88286,8 @@
2890150912,2890152959,US
2890152960,2890153983,GR
2890153984,2890158079,US
-2890158080,2890158847,AU
-2890158848,2890159103,US
+2890158080,2890158591,AU
+2890158592,2890159103,US
2890159104,2890160127,AU
2890160128,2890161151,US
2890161152,2890162175,ES
@@ -86132,12 +88304,12 @@
2890172416,2890173439,PL
2890173440,2890174463,US
2890174464,2890175231,SG
-2890175232,2890175487,AU
-2890175488,2890176511,US
-2890176512,2890177535,RS
-2890177536,2890178559,US
+2890175232,2890176511,US
+2890176512,2890178559,RS
2890178560,2890179583,IN
-2890179584,2890182655,US
+2890179584,2890180095,MA
+2890180096,2890180607,IN
+2890180608,2890182655,US
2890182656,2890183679,EC
2890183680,2890184703,SE
2890184704,2890185727,ZA
@@ -86157,7 +88329,8 @@
2890201088,2890203135,HK
2890203136,2890204159,AT
2890204160,2890205183,US
-2890205184,2890207231,MX
+2890205184,2890206207,RU
+2890206208,2890207231,NG
2890207232,2890216447,US
2890216448,2890217471,NL
2890217472,2890218495,GR
@@ -86186,8 +88359,8 @@
2890243072,2890244095,CA
2890244096,2890247167,US
2890247168,2890248191,GB
-2890248192,2890249215,HK
-2890249216,2890250239,US
+2890248192,2890248703,HK
+2890248704,2890250239,US
2890250240,2890251263,PH
2890251264,2890252287,LT
2890252288,2890253311,LV
@@ -86197,17 +88370,21 @@
2890256384,2890257407,US
2890257408,2890259455,CA
2890259456,2890260479,LU
-2890260480,2890261503,FR
-2890261504,2890264575,US
+2890260480,2890260991,US
+2890260992,2890261503,FR
+2890261504,2890262527,BH
+2890262528,2890264575,US
2890264576,2890265599,CL
-2890265600,2890266623,GB
-2890266624,2890267647,US
+2890265600,2890266111,PK
+2890266112,2890267647,US
2890267648,2890268671,MN
2890268672,2890956799,US
2890956800,2890989567,AE
2890989568,2891014911,US
2891014912,2891015167,JP
-2891015168,2891016191,US
+2891015168,2891015679,US
+2891015680,2891015935,JP
+2891015936,2891016191,US
2891016192,2891016447,JP
2891016448,2891017215,US
2891017216,2891017471,JP
@@ -86290,7 +88467,9 @@
2891807232,2891807487,GB
2891807488,2891807743,US
2891807744,2891808767,CA
-2891808768,2891834559,US
+2891808768,2891833983,US
+2891833984,2891834111,PA
+2891834112,2891834559,US
2891834560,2891834567,PA
2891834568,2891841535,US
2891841536,2891841791,SE
@@ -86360,8 +88539,7 @@
2891865856,2891866111,US
2891866112,2891866367,AU
2891866368,2891866623,BB
-2891866624,2891866879,HM
-2891866880,2891867391,AU
+2891866624,2891867391,AU
2891867392,2891867647,AT
2891867648,2891867903,US
2891867904,2891868159,AU
@@ -86462,7 +88640,7 @@
2892418048,2892420607,US
2892420608,2892420863,CA
2892420864,2892421631,US
-2892421632,2892421887,CA
+2892421632,2892421887,IT
2892421888,2892423167,US
2892423168,2892424191,VI
2892424192,2892425215,CA
@@ -86538,7 +88716,8 @@
2892994304,2892994559,US
2892994560,2892994815,JO
2892994816,2892995327,GB
-2892995328,2892995839,AU
+2892995328,2892995583,AU
+2892995584,2892995839,FR
2892995840,2892996095,GB
2892996096,2892996607,US
2892996608,2892996863,CA
@@ -86568,8 +88747,7 @@
2893003264,2893003775,GB
2893003776,2893004031,DE
2893004032,2893004287,JP
-2893004288,2893004543,DK
-2893004544,2893004799,US
+2893004288,2893004799,US
2893004800,2893005311,HK
2893005312,2893005567,US
2893005568,2893005823,FR
@@ -86614,7 +88792,9 @@
2893020416,2893020671,AT
2893020672,2893676543,US
2893676544,2893807615,JP
-2893807616,2894921727,US
+2893807616,2894784511,US
+2894784512,2894785023,GB
+2894785024,2894921727,US
2894921728,2894970879,GB
2894970880,2894979071,IE
2894979072,2895118335,GB
@@ -86629,7 +88809,9 @@
2896301500,2896301500,DE
2896301501,2896429280,US
2896429281,2896429281,CA
-2896429282,2897018879,US
+2896429282,2896436261,US
+2896436262,2896436262,CA
+2896436263,2897018879,US
2897018880,2897149951,DE
2897149952,2897215487,US
2897215488,2897739775,DE
@@ -86786,15 +88968,7 @@
2905510912,2905511935,CA
2905511936,2905512959,US
2905512960,2905513471,CA
-2905513472,2910032127,US
-2910032128,2910032383,PR
-2910032384,2910033919,US
-2910033920,2910034175,PR
-2910034176,2910036735,US
-2910036736,2910036991,PR
-2910036992,2910054399,US
-2910054400,2910054655,PR
-2910054656,2913992703,US
+2905513472,2913992703,US
2913992704,2914516991,CA
2914516992,2915105791,US
2915105792,2915106047,NL
@@ -86823,11 +88997,7 @@
2915518435,2915518435,FR
2915518436,2915518463,DK
2915518464,2915520511,GB
-2915520512,2915520543,US
-2915520544,2915520639,AU
-2915520640,2915520647,US
-2915520648,2915520671,AU
-2915520672,2915520767,US
+2915520512,2915520767,US
2915520768,2915521279,JP
2915521280,2915521535,PL
2915521536,2915526911,US
@@ -86853,11 +89023,15 @@
2915795014,2915795014,MX
2915795015,2915894575,US
2915894576,2915894591,CA
-2915894592,2915919999,US
+2915894592,2915916287,US
+2915916288,2915916543,NL
+2915916544,2915919999,US
2915920000,2915920007,CA
2915920008,2915920023,US
2915920024,2915920027,CA
-2915920028,2915920847,US
+2915920028,2915920815,US
+2915920816,2915920823,CA
+2915920824,2915920847,US
2915920848,2915920855,EC
2915920856,2915921231,US
2915921232,2915921239,EC
@@ -86871,7 +89045,9 @@
2915921828,2915958783,US
2915958784,2916024319,CA
2916024320,2916163583,US
-2916163584,2916171775,CA
+2916163584,2916171439,CA
+2916171440,2916171447,US
+2916171448,2916171775,CA
2916171776,2916184063,US
2916184064,2916196351,CA
2916196352,2916253695,US
@@ -86916,11 +89092,11 @@
2916417536,2916515839,US
2916515840,2916519935,CA
2916519936,2916532223,US
-2916532224,2916533247,IN
+2916532224,2916532735,IN
+2916532736,2916532991,CA
+2916532992,2916533247,IN
2916533248,2916581375,US
-2916581376,2916601343,PR
-2916601344,2916601599,US
-2916601600,2916614143,PR
+2916581376,2916614143,PR
2916614144,2917031935,US
2917031936,2917032959,NL
2917032960,2917035007,US
@@ -86929,7 +89105,9 @@
2917040128,2917041151,NL
2917041152,2917045503,US
2917045504,2917045759,NL
-2917045760,2917061119,US
+2917045760,2917058559,US
+2917058560,2917059583,NL
+2917059584,2917061119,US
2917061120,2917061631,NL
2917061632,2917068799,US
2917068800,2917069823,NL
@@ -86958,18 +89136,14 @@
2917261312,2917265407,US
2917265408,2917267775,JM
2917267776,2917267839,VG
-2917267840,2917267957,JM
-2917267958,2917267958,AG
-2917267959,2917267959,VG
-2917267960,2917268223,JM
+2917267840,2917267967,AG
+2917267968,2917268223,JM
2917268224,2917268479,BB
2917268480,2917269503,TC
2917269504,2917445887,US
2917445888,2917446143,DE
2917446144,2917449727,US
-2917449728,2917458431,PR
-2917458432,2917458943,US
-2917458944,2917466111,PR
+2917449728,2917466111,PR
2917466112,2917572607,US
2917572608,2917580799,CA
2917580800,2917597439,US
@@ -86982,17 +89156,24 @@
2917652224,2917652479,AU
2917652480,2917653503,US
2917653504,2917654015,GB
-2917654016,2917660671,US
+2917654016,2917654527,US
+2917654528,2917654655,TH
+2917654656,2917655935,US
+2917655936,2917656063,HU
+2917656064,2917656319,US
+2917656320,2917656447,CN
+2917656448,2917657087,US
+2917657088,2917657215,NO
+2917657216,2917657855,US
+2917657856,2917657983,CN
+2917657984,2917660671,US
2917660672,2917661183,GB
-2917661184,2917676031,US
-2917676032,2917676287,IN
-2917676288,2917687295,US
+2917661184,2917661311,CA
+2917661312,2917687295,US
2917687296,2917687551,RO
2917687552,2917688063,US
2917688064,2917688319,RO
-2917688320,2917700095,US
-2917700096,2917700351,CA
-2917700352,2917700959,US
+2917688320,2917700959,US
2917700960,2917700967,CN
2917700968,2917704191,US
2917704192,2917704447,CA
@@ -87002,9 +89183,7 @@
2917710592,2917710847,CA
2917710848,2917713919,US
2917713920,2917714175,CA
-2917714176,2917726463,US
-2917726464,2917726495,CR
-2917726496,2917826559,US
+2917714176,2917826559,US
2917826560,2917828351,NL
2917828352,2917828479,IN
2917828480,2917828607,NL
@@ -87016,7 +89195,9 @@
2918043648,2918047743,CA
2918047744,2918051839,US
2918051840,2918121471,CA
-2918121472,2918154239,US
+2918121472,2918136831,US
+2918136832,2918137087,CA
+2918137088,2918154239,US
2918154240,2918170623,CA
2918170624,2918171647,US
2918171648,2918171903,CL
@@ -87038,10 +89219,10 @@
2918181120,2918181375,VE
2918181376,2918181631,NZ
2918181632,2918187007,US
-2918187008,2918188319,CA
-2918188320,2918188351,US
-2918188352,2918189055,CA
-2918189056,2918189311,US
+2918187008,2918187263,CA
+2918187264,2918187775,US
+2918187776,2918188031,CA
+2918188032,2918189311,US
2918189312,2918189567,CA
2918189568,2918232063,US
2918232064,2918236159,CA
@@ -87058,7 +89239,9 @@
2918314218,2918314495,NL
2918314496,2918316031,US
2918316032,2918316543,JP
-2918316544,2918363135,US
+2918316544,2918346751,US
+2918346752,2918350847,CA
+2918350848,2918363135,US
2918363136,2918367231,CA
2918367232,2918371327,US
2918371328,2918375423,CA
@@ -87070,9 +89253,7 @@
2918432768,2918436863,CA
2918436864,2918458879,US
2918458880,2918459135,MY
-2918459136,2918459391,US
-2918459392,2918459647,PH
-2918459648,2918461183,US
+2918459136,2918461183,US
2918461184,2918461439,KR
2918461440,2918461695,US
2918461696,2918461951,TH
@@ -87083,7 +89264,9 @@
2918463232,2918463487,CA
2918463488,2918469631,US
2918469632,2918472703,CA
-2918472704,2918477823,US
+2918472704,2918473215,US
+2918473216,2918473727,CA
+2918473728,2918477823,US
2918477824,2918481919,CA
2918481920,2918486015,US
2918486016,2918490111,KZ
@@ -87099,9 +89282,7 @@
2918498512,2918498527,JP
2918498528,2918498535,US
2918498536,2918498539,JP
-2918498540,2918502911,US
-2918502912,2918503167,SG
-2918503168,2918515199,US
+2918498540,2918515199,US
2918515200,2918515327,CA
2918515328,2918527231,US
2918527232,2918527487,FR
@@ -87112,7 +89293,9 @@
2918570496,2918580223,US
2918580224,2918588415,CA
2918588416,2918596607,US
-2918596608,2918604799,CA
+2918596608,2918602751,CA
+2918602752,2918604543,US
+2918604544,2918604799,CA
2918604800,2918612991,US
2918612992,2918621183,CA
2918621184,2918628351,US
@@ -87129,21 +89312,15 @@
2918793216,2918816255,US
2918816256,2918816767,GB
2918816768,2918817791,US
-2918825984,2918829311,US
-2918829312,2918829439,CA
-2918829440,2918830079,US
+2918825984,2918830079,US
2918830080,2918834175,CA
2918834176,2918842367,US
2918842368,2918875135,CA
2918875136,2918973439,US
2918973440,2918989823,CA
-2918989824,2918995199,US
-2918995200,2918995455,GB
-2918995456,2919021503,US
+2918989824,2919021503,US
2919021504,2919021535,CA
-2919021536,2919022079,US
-2919022080,2919022591,CA
-2919022592,2919055359,US
+2919021536,2919055359,US
2919055360,2919057407,CN
2919057408,2919059455,IN
2919059456,2919063551,CN
@@ -87169,7 +89346,9 @@
2919208960,2919211007,CA
2919211008,2919235583,US
2919235584,2919759871,CA
-2919759872,2921530367,US
+2919759872,2921145183,US
+2921145184,2921145215,IT
+2921145216,2921530367,US
2921530368,2921530623,DE
2921530624,2921536561,US
2921536562,2921536569,CZ
@@ -87393,9 +89572,7 @@
2938983936,2938984447,NZ
2938984448,2938986495,AU
2938986496,2938986751,NZ
-2938986752,2938988031,AU
-2938988032,2938988287,NZ
-2938988288,2938996735,AU
+2938986752,2938996735,AU
2938996736,2938998783,JP
2938998784,2939002879,AU
2939002880,2939004927,KR
@@ -87475,15 +89652,11 @@
2947587072,2947588095,CN
2947588096,2947590143,ID
2947590144,2947590655,JP
-2947590656,2947590911,SG
-2947590912,2947590927,HK
-2947590928,2947591090,SG
+2947590656,2947591090,SG
2947591091,2947591091,HK
2947591092,2947591167,SG
2947591168,2947591183,HK
-2947591184,2947591679,SG
-2947591680,2947591695,JP
-2947591696,2947592191,SG
+2947591184,2947592191,SG
2947592192,2947593215,CN
2947593216,2947594239,HK
2947594240,2947595263,IN
@@ -87540,9 +89713,7 @@
2953596928,2953598975,ES
2953598976,2953601023,IT
2953601024,2953603071,RU
-2953603072,2953603977,GB
-2953603978,2953603979,IE
-2953603980,2953605119,GB
+2953603072,2953605119,GB
2953605120,2953609215,CZ
2953609216,2953707519,IL
2953707520,2953838591,RU
@@ -87566,13 +89737,19 @@
2954822280,2954822283,ES
2954822284,2954822323,FR
2954822324,2954822327,FI
-2954822328,2954822447,FR
+2954822328,2954822339,FR
+2954822340,2954822343,PL
+2954822344,2954822447,FR
2954822448,2954822455,ES
-2954822456,2954822591,FR
+2954822456,2954822535,FR
+2954822536,2954822539,PL
+2954822540,2954822591,FR
2954822592,2954822599,GB
2954822600,2954822639,FR
2954822640,2954822655,DE
-2954822656,2954822927,FR
+2954822656,2954822915,FR
+2954822916,2954822919,PL
+2954822920,2954822927,FR
2954822928,2954822931,DE
2954822932,2954823259,FR
2954823260,2954823263,GB
@@ -87621,7 +89798,9 @@
2954825404,2954825407,ES
2954825408,2954825535,FR
2954825536,2954825539,ES
-2954825540,2954825663,FR
+2954825540,2954825599,FR
+2954825600,2954825631,PL
+2954825632,2954825663,FR
2954825664,2954825727,GB
2954825728,2954826015,FR
2954826016,2954826019,PT
@@ -87654,7 +89833,8 @@
2954827940,2954827943,PT
2954827944,2954828335,FR
2954828336,2954828339,ES
-2954828340,2954828443,FR
+2954828340,2954828343,PL
+2954828344,2954828443,FR
2954828444,2954828447,CZ
2954828448,2954828511,FR
2954828512,2954828543,CZ
@@ -87666,7 +89846,9 @@
2954829008,2954829023,IE
2954829024,2954829135,FR
2954829136,2954829139,DE
-2954829140,2954829407,FR
+2954829140,2954829263,FR
+2954829264,2954829271,PL
+2954829272,2954829407,FR
2954829408,2954829423,ES
2954829424,2954829623,FR
2954829624,2954829631,ES
@@ -87683,19 +89865,24 @@
2954829824,2954829843,FR
2954829844,2954829847,DE
2954829848,2954829855,FI
-2954829856,2954829875,FR
+2954829856,2954829871,PL
+2954829872,2954829875,FR
2954829876,2954829879,DE
2954829880,2954830111,FR
2954830112,2954830127,IE
2954830128,2954830163,FR
2954830164,2954830167,PT
-2954830168,2954830395,FR
+2954830168,2954830383,FR
+2954830384,2954830387,PL
+2954830388,2954830395,FR
2954830396,2954830399,ES
2954830400,2954830523,FR
2954830524,2954830527,DE
2954830528,2954831247,FR
2954831248,2954831251,ES
-2954831252,2954831615,FR
+2954831252,2954831343,FR
+2954831344,2954831359,PL
+2954831360,2954831615,FR
2954831616,2954831631,DE
2954831632,2954831787,FR
2954831788,2954831791,CZ
@@ -87720,7 +89907,9 @@
2954832448,2954832479,CZ
2954832480,2954832607,FR
2954832608,2954832639,PT
-2954832640,2954832767,FR
+2954832640,2954832695,FR
+2954832696,2954832699,NL
+2954832700,2954832767,FR
2954832768,2954832771,DE
2954832772,2954832843,FR
2954832844,2954832847,GB
@@ -87734,17 +89923,23 @@
2954833456,2954833471,ES
2954833472,2954833567,FR
2954833568,2954833571,ES
-2954833572,2954833727,FR
-2954833728,2954833731,ES
-2954833732,2954833811,FR
+2954833572,2954833811,FR
2954833812,2954833815,DE
2954833816,2954833823,FR
2954833824,2954833855,GB
2954833856,2954833967,FR
2954833968,2954833983,ES
-2954833984,2954834143,FR
+2954833984,2954834003,FR
+2954834004,2954834007,PL
+2954834008,2954834103,FR
+2954834104,2954834107,PL
+2954834108,2954834143,FR
2954834144,2954834151,GB
-2954834152,2954834519,FR
+2954834152,2954834231,FR
+2954834232,2954834235,PL
+2954834236,2954834239,FR
+2954834240,2954834255,DE
+2954834256,2954834519,FR
2954834520,2954834523,ES
2954834524,2954834671,FR
2954834672,2954834675,ES
@@ -87763,7 +89958,8 @@
2954835452,2954835455,ES
2954835456,2954835511,FR
2954835512,2954835519,ES
-2954835520,2954835619,FR
+2954835520,2954835535,PL
+2954835536,2954835619,FR
2954835620,2954835620,ES
2954835621,2954835639,FR
2954835640,2954835643,DE
@@ -87789,7 +89985,9 @@
2954837580,2954837583,GB
2954837584,2954837599,FR
2954837600,2954837607,GB
-2954837608,2954837667,FR
+2954837608,2954837619,FR
+2954837620,2954837623,PL
+2954837624,2954837667,FR
2954837668,2954837671,ES
2954837672,2954837743,FR
2954837744,2954837751,CZ
@@ -87808,7 +90006,9 @@
2954838216,2954838219,GB
2954838220,2954838247,FR
2954838248,2954838255,ES
-2954838256,2954838655,FR
+2954838256,2954838543,FR
+2954838544,2954838559,PL
+2954838560,2954838655,FR
2954838656,2954838687,BE
2954838688,2954838911,FR
2954838912,2954838915,DE
@@ -87834,19 +90034,24 @@
2954840256,2954840381,GB
2954840382,2954840382,BE
2954840383,2954840447,GB
-2954840448,2954840515,FR
+2954840448,2954840511,FR
+2954840512,2954840515,PL
2954840516,2954840519,NL
2954840520,2954840575,FR
2954840576,2954840591,DE
2954840592,2954840611,FR
2954840612,2954840615,GB
-2954840616,2954840927,FR
+2954840616,2954840799,FR
+2954840800,2954840803,PL
+2954840804,2954840927,FR
2954840928,2954840931,DE
2954840932,2954841023,FR
2954841024,2954841087,ES
2954841088,2954841103,FR
2954841104,2954841111,ES
-2954841112,2954841259,FR
+2954841112,2954841247,FR
+2954841248,2954841251,PL
+2954841252,2954841259,FR
2954841260,2954841263,GB
2954841264,2954841523,FR
2954841524,2954841527,DE
@@ -87854,7 +90059,9 @@
2954841584,2954841591,ES
2954841592,2954841707,FR
2954841708,2954841711,NL
-2954841712,2954841851,FR
+2954841712,2954841779,FR
+2954841780,2954841783,PL
+2954841784,2954841851,FR
2954841852,2954841855,ES
2954841856,2954841943,FR
2954841944,2954841951,DE
@@ -87881,24 +90088,30 @@
2954843480,2954843487,NL
2954843488,2954843503,FR
2954843504,2954843507,ES
-2954843508,2954843643,FR
+2954843508,2954843511,FR
+2954843512,2954843519,PL
+2954843520,2954843643,FR
2954843644,2954843647,DE
2954843648,2954843759,FR
2954843760,2954843771,ES
-2954843772,2954844147,FR
+2954843772,2954843855,FR
+2954843856,2954843863,PL
+2954843864,2954844147,FR
2954844148,2954844151,DE
2954844152,2954844175,FR
2954844176,2954844179,DE
2954844180,2954844191,FR
2954844192,2954844223,NL
2954844224,2954844239,DE
-2954844240,2954844263,FR
-2954844264,2954844267,IE
-2954844268,2954844603,FR
+2954844240,2954844603,FR
2954844604,2954844607,CZ
-2954844608,2954844943,FR
+2954844608,2954844703,FR
+2954844704,2954844707,PL
+2954844708,2954844943,FR
2954844944,2954844947,GB
-2954844948,2954844999,FR
+2954844948,2954844959,FR
+2954844960,2954844967,PL
+2954844968,2954844999,FR
2954845000,2954845003,ES
2954845004,2954845055,FR
2954845056,2954845059,PT
@@ -87923,13 +90136,13 @@
2954848102,2954848102,VA
2954848103,2954854415,FR
2954854416,2954854431,GB
-2954854432,2954854559,FR
-2954854560,2954854575,DE
-2954854576,2954854607,FR
+2954854432,2954854607,FR
2954854608,2954854615,ES
2954854616,2954854751,FR
2954854752,2954854783,PT
-2954854784,2954855011,FR
+2954854784,2954854863,FR
+2954854864,2954854867,PL
+2954854868,2954855011,FR
2954855012,2954855015,CZ
2954855016,2954855051,FR
2954855052,2954855055,ES
@@ -87957,7 +90170,9 @@
2954855808,2954855871,DE
2954855872,2954855879,FR
2954855880,2954855887,ES
-2954855888,2954856115,FR
+2954855888,2954855903,FR
+2954855904,2954855919,PL
+2954855920,2954856115,FR
2954856116,2954856119,DE
2954856120,2954856179,FR
2954856180,2954856183,ES
@@ -87967,7 +90182,9 @@
2954856560,2954856563,ES
2954856564,2954856631,FR
2954856632,2954856635,GB
-2954856636,2954857119,FR
+2954856636,2954856691,FR
+2954856692,2954856695,PL
+2954856696,2954857119,FR
2954857120,2954857135,PT
2954857136,2954857583,FR
2954857584,2954857599,ES
@@ -88006,13 +90223,20 @@
2954859872,2954859903,ES
2954859904,2954859959,FR
2954859960,2954859963,ES
-2954859964,2954860319,FR
+2954859964,2954859967,PL
+2954859968,2954860227,FR
+2954860228,2954860231,PL
+2954860232,2954860319,FR
2954860320,2954860327,DE
2954860328,2954860459,FR
2954860460,2954860463,GB
2954860464,2954861195,FR
2954861196,2954861199,CZ
-2954861200,2954861651,FR
+2954861200,2954861231,FR
+2954861232,2954861239,PL
+2954861240,2954861247,FR
+2954861248,2954861311,PL
+2954861312,2954861651,FR
2954861652,2954861655,GB
2954861656,2954861763,FR
2954861764,2954861767,GB
@@ -88065,24 +90289,29 @@
2954871956,2954871959,PT
2954871960,2954871983,FR
2954871984,2954871999,PT
-2954872000,2954872331,FR
+2954872000,2954872063,FR
+2954872064,2954872319,IE
+2954872320,2954872331,FR
2954872332,2954872335,GB
-2954872336,2954872607,FR
+2954872336,2954872423,FR
+2954872424,2954872431,PL
+2954872432,2954872607,FR
2954872608,2954872639,ES
2954872640,2954872679,FR
2954872680,2954872687,ES
-2954872688,2954873351,FR
+2954872688,2954872991,FR
+2954872992,2954873023,PL
+2954873024,2954873351,FR
2954873352,2954873355,GB
2954873356,2954873695,FR
2954873696,2954873727,FI
-2954873728,2954873807,FR
+2954873728,2954873775,FR
+2954873776,2954873783,PL
+2954873784,2954873807,FR
2954873808,2954873815,DE
2954873816,2954873879,FR
2954873880,2954873887,PT
-2954873888,2954873919,FR
-2954873920,2954873983,IE
-2954873984,2954874111,GB
-2954874112,2954874127,FR
+2954873888,2954874127,FR
2954874128,2954874135,ES
2954874136,2954874351,FR
2954874352,2954874355,ES
@@ -88094,14 +90323,18 @@
2954874528,2954874559,FI
2954874560,2954874655,FR
2954874656,2954874663,DE
-2954874664,2954874943,FR
+2954874664,2954874671,FR
+2954874672,2954874675,PL
+2954874676,2954874943,FR
2954874944,2954874975,ES
2954874976,2954875071,FR
2954875072,2954875075,DE
2954875076,2954875079,BE
2954875080,2954875135,FR
2954875136,2954875167,GB
-2954875168,2954875479,FR
+2954875168,2954875327,FR
+2954875328,2954875359,PL
+2954875360,2954875479,FR
2954875480,2954875483,DE
2954875484,2954875583,FR
2954875584,2954875587,ES
@@ -88131,9 +90364,11 @@
2954876796,2954876799,DE
2954876800,2954876871,FR
2954876872,2954876875,ES
-2954876876,2954876887,FR
+2954876876,2954876879,PL
+2954876880,2954876887,FR
2954876888,2954876891,ES
-2954876892,2954877007,FR
+2954876892,2954876991,FR
+2954876992,2954877007,PL
2954877008,2954877023,CZ
2954877024,2954877103,FR
2954877104,2954877107,PL
@@ -88160,7 +90395,8 @@
2954878472,2954878475,GB
2954878476,2954878607,FR
2954878608,2954878623,FI
-2954878624,2954878687,FR
+2954878624,2954878655,FR
+2954878656,2954878687,PL
2954878688,2954878691,BE
2954878692,2954878695,FR
2954878696,2954878703,IE
@@ -88192,7 +90428,7 @@
2954932224,2954936319,RU
2954936320,2954938367,AM
2954938368,2954940415,HU
-2954940416,2954944511,DE
+2954940416,2954944511,SA
2954944512,2954946559,GB
2954946560,2954948607,DE
2954948608,2954950655,RU
@@ -88230,6 +90466,19 @@
2956259328,2956261375,DE
2956261376,2956263423,ES
2956263424,2956296191,TR
+2956296192,2956297215,FR
+2956297216,2956298239,RU
+2956298240,2956299263,DE
+2956299264,2956300287,RU
+2956300288,2956301311,GB
+2956301312,2956303359,RU
+2956303360,2956304383,TR
+2956304384,2956306431,RU
+2956306432,2956307455,GB
+2956307456,2956308479,RU
+2956308480,2956309503,DE
+2956309504,2956311551,RU
+2956311552,2956312575,CZ
2956312576,2956328959,RU
2956328960,2956460031,TR
2956460032,2956468223,RU
@@ -88278,9 +90527,7 @@
2956602368,2956602623,NL
2956602624,2956602879,SE
2956602880,2956603135,GB
-2956603136,2956604671,RU
-2956604672,2956604927,NL
-2956604928,2956605183,RU
+2956603136,2956605183,RU
2956605184,2956605439,NL
2956605440,2956605695,DE
2956605696,2956607487,RU
@@ -88327,9 +90574,9 @@
2957049856,2957058047,PS
2957058048,2957066239,RU
2957066240,2957068287,GB
-2957068288,2957069311,LU
-2957069312,2957069823,FR
-2957069824,2957070335,LU
+2957068288,2957069919,LU
+2957069920,2957069951,FR
+2957069952,2957070335,LU
2957070336,2957074431,IT
2957074432,2957082623,RU
2957082624,2957090815,DE
@@ -88340,24 +90587,7 @@
2957193216,2957195263,RU
2957195264,2957197311,PS
2957197312,2957201407,IR
-2957201408,2957201423,GB
-2957201424,2957201427,IE
-2957201428,2957201431,DK
-2957201432,2957201435,CH
-2957201436,2957201468,BR
-2957201664,2957201727,US
-2957201728,2957201743,CA
-2957201744,2957201759,MX
-2957201760,2957201775,BR
-2957201776,2957201791,AR
-2957201792,2957201807,BS
-2957201808,2957201823,VE
-2957201824,2957201839,AU
-2957201840,2957201855,JP
-2957201856,2957201871,HK
-2957201872,2957201887,RU
-2957201888,2957201903,KR
-2957201904,2957201919,TW
+2957201408,2957201919,NL
2957202176,2957202179,GB
2957202180,2957202183,BR
2957202184,2957202187,CA
@@ -88476,7 +90706,8 @@
2959122432,2959126527,PL
2959126528,2959128575,RO
2959128576,2959130623,RU
-2959130624,2959138815,UA
+2959130624,2959134719,UA
+2959134720,2959138815,ES
2959138816,2959147007,RU
2959147008,2959149055,UA
2959149056,2959151103,CZ
@@ -88596,6 +90827,15 @@
2959710208,2959711231,ES
2959711232,2959712255,IT
2959712256,2959728639,UA
+2959728640,2959729663,LT
+2959729664,2959730687,TR
+2959730688,2959731711,IT
+2959731712,2959732735,IQ
+2959732736,2959733759,SI
+2959733760,2959734783,GB
+2959734784,2959735807,JP
+2959735808,2959736063,IT
+2959736064,2959736831,NL
2959736832,2959738879,UA
2959738880,2959745023,RU
2959745024,2959747071,PL
@@ -88633,9 +90873,7 @@
2959884288,2959892479,KZ
2959892480,2959900671,UA
2959900672,2959902719,PL
-2959902720,2959915007,RU
-2959915008,2959916031,UA
-2959916032,2959925247,RU
+2959902720,2959925247,RU
2959925248,2959927295,RO
2959927296,2959929343,UA
2959929344,2959945727,RU
@@ -88701,6 +90939,16 @@
2960179200,2960206847,RU
2960206848,2960207871,GB
2960207872,2960211967,RU
+2960211968,2960212991,JP
+2960212992,2960214015,GB
+2960214016,2960214527,US
+2960214528,2960214783,CA
+2960214784,2960215039,ES
+2960215040,2960216063,DE
+2960216064,2960217087,RU
+2960217088,2960218111,ES
+2960218112,2960219135,RU
+2960219136,2960220159,BG
2960220160,2960224255,RO
2960224256,2960228351,RU
2960228352,2960232447,TJ
@@ -88768,8 +91016,14 @@
2960558080,2960560127,PL
2960560128,2960562175,UA
2960562176,2960564223,BY
-2960572416,2960573439,GB
-2960573440,2960574463,RU
+2960564224,2960565247,ES
+2960565248,2960566271,RU
+2960566272,2960567295,CZ
+2960567296,2960568319,FR
+2960568320,2960569343,BH
+2960569344,2960570367,DE
+2960570368,2960571391,RO
+2960571392,2960574463,RU
2960574464,2960576511,RO
2960576512,2960588799,RU
2960588800,2960592895,UA
@@ -88777,7 +91031,16 @@
2960594944,2960596991,UA
2960596992,2960605183,PL
2960605184,2960621567,UA
-2960629760,2960646143,RU
+2960621568,2960622591,MD
+2960622592,2960623615,ES
+2960623616,2960624639,HU
+2960624640,2960624895,RU
+2960624896,2960625151,GB
+2960625152,2960625663,RU
+2960625664,2960626687,IQ
+2960626688,2960627711,NL
+2960627712,2960628735,DE
+2960628736,2960646143,RU
2960646144,2960648191,KZ
2960648192,2960650239,UA
2960650240,2960652287,RU
@@ -88793,15 +91056,14 @@
2960695296,2960697343,AT
2960697344,2960699391,ES
2960699392,2960719871,RU
-2960719872,2960723455,UA
-2960723456,2960723711,BZ
-2960723712,2960723967,UA
+2960719872,2960723967,UA
2960723968,2960726015,RU
2960726016,2960728063,CH
2960728064,2960732159,RO
2960732160,2960733183,RU
2960733184,2960734207,GB
-2960734208,2960736255,RU
+2960734208,2960735231,AT
+2960735232,2960736255,RU
2960736256,2960738303,ES
2960738304,2960740351,UA
2960740352,2960742399,PL
@@ -88851,6 +91113,14 @@
2960908288,2960916479,KG
2960916480,2960916480,RU
2960916481,2960924671,UA
+2960924672,2960925695,RU
+2960925696,2960926719,DE
+2960926720,2960927743,FR
+2960927744,2960928767,RU
+2960928768,2960929791,EE
+2960929792,2960930815,GB
+2960930816,2960931839,RO
+2960931840,2960932863,NO
2960932864,2960933887,IR
2960933888,2960934655,GB
2960934656,2960934911,NL
@@ -88887,7 +91157,16 @@
2960981248,2960982015,NL
2960982016,2960990207,DE
2960990208,2960998399,UA
-2960998400,2961057023,RU
+2960998400,2961039359,RU
+2961039360,2961040383,FR
+2961040384,2961041407,GE
+2961041408,2961042431,NO
+2961042432,2961043455,LT
+2961043456,2961044479,RU
+2961044480,2961045503,NO
+2961045504,2961046527,ES
+2961046528,2961047551,DE
+2961047552,2961057023,RU
2961057024,2961057279,IE
2961057280,2961057535,GR
2961057536,2961057791,AT
@@ -88921,7 +91200,7 @@
2961089536,2961090559,KG
2961090560,2961091583,NL
2961091584,2961091839,RO
-2961091840,2961092095,BG
+2961091840,2961092095,ES
2961092096,2961096703,RO
2961096704,2961097471,GB
2961097472,2961100287,RO
@@ -88976,7 +91255,7 @@
2967398400,2967400447,DK
2967400448,2967404543,RU
2967404544,2967421183,RO
-2967421184,2967421439,BG
+2967421184,2967421439,IL
2967421440,2967421695,RO
2967421696,2967421951,ES
2967421952,2967422975,US
@@ -89019,8 +91298,7 @@
2967601152,2967633919,HU
2967633920,2967666687,RU
2967666688,2967699455,TR
-2967699456,2967702143,GB
-2967702272,2967703551,GB
+2967699456,2967703551,GB
2967703552,2967707647,ES
2967707648,2967709695,PL
2967709696,2967711743,IT
@@ -89031,13 +91309,7 @@
2967729152,2967730175,UA
2967730176,2967732223,CZ
2967732224,2967994367,IL
-2967994368,2968236543,TR
-2968236544,2968236771,GB
-2968236772,2968236772,TR
-2968236773,2968236799,GB
-2968236800,2968253951,TR
-2968253952,2968254463,GB
-2968254464,2968584191,TR
+2967994368,2968584191,TR
2968584192,2968600575,HU
2968600576,2968602623,JO
2968602624,2968604671,PL
@@ -89184,7 +91456,7 @@
2987704320,2987706367,GB
2987706368,2987708415,RS
2987708416,2987709439,DE
-2987709440,2987710463,NL
+2987709440,2987710463,RU
2987710464,2987712511,DK
2987712512,2987714559,TR
2987714560,2987716607,RU
@@ -89310,11 +91582,18 @@
2988442520,2988442527,DE
2988442528,2988442719,FR
2988442720,2988442751,FI
-2988442752,2988442999,FR
+2988442752,2988442815,FR
+2988442816,2988442831,PL
+2988442832,2988442895,FR
+2988442896,2988442899,PL
+2988442900,2988442975,FR
+2988442976,2988442983,PL
+2988442984,2988442999,FR
2988443000,2988443007,GB
2988443008,2988443023,FR
2988443024,2988443027,CZ
-2988443028,2988443055,FR
+2988443028,2988443039,FR
+2988443040,2988443055,PL
2988443056,2988443071,DE
2988443072,2988443103,FR
2988443104,2988443119,GB
@@ -89325,12 +91604,15 @@
2988443444,2988443447,DE
2988443448,2988443543,FR
2988443544,2988443547,ES
-2988443548,2988443671,FR
+2988443548,2988443555,FR
+2988443556,2988443559,PL
+2988443560,2988443671,FR
2988443672,2988443675,ES
2988443676,2988443687,FR
2988443688,2988443695,ES
2988443696,2988443703,PT
-2988443704,2988443719,FR
+2988443704,2988443711,FR
+2988443712,2988443719,PL
2988443720,2988443727,CZ
2988443728,2988443895,FR
2988443896,2988443903,BE
@@ -89352,12 +91634,14 @@
2988444736,2988444739,GB
2988444740,2988444815,FR
2988444816,2988444831,ES
-2988444832,2988445223,FR
+2988444832,2988444959,FR
+2988444960,2988444967,PL
+2988444968,2988445223,FR
2988445224,2988445231,ES
2988445232,2988446175,FR
2988446176,2988446207,FI
-2988446208,2988446399,FR
-2988446400,2988446431,PL
+2988446208,2988446327,FR
+2988446328,2988446431,PL
2988446432,2988446719,FR
2988446720,2988446723,DE
2988446724,2988446863,FR
@@ -89374,7 +91658,9 @@
2988448800,2988448815,ES
2988448816,2988449127,FR
2988449128,2988449135,ES
-2988449136,2988449207,FR
+2988449136,2988449151,FR
+2988449152,2988449167,PL
+2988449168,2988449207,FR
2988449208,2988449215,ES
2988449216,2988449327,FR
2988449328,2988449331,PL
@@ -89385,7 +91671,9 @@
2988453888,2988457983,GB
2988457984,2988458063,FR
2988458064,2988458067,ES
-2988458068,2988458279,FR
+2988458068,2988458075,FR
+2988458076,2988458079,PL
+2988458080,2988458279,FR
2988458280,2988458283,ES
2988458284,2988458291,FR
2988458292,2988458295,DE
@@ -89393,7 +91681,9 @@
2988458332,2988458335,GB
2988458336,2988458763,FR
2988458764,2988458767,DE
-2988458768,2988459079,FR
+2988458768,2988459007,FR
+2988459008,2988459015,PL
+2988459016,2988459079,FR
2988459080,2988459083,DE
2988459084,2988459087,FR
2988459088,2988459103,GB
@@ -89402,7 +91692,8 @@
2988459128,2988459135,PL
2988459136,2988459167,FR
2988459168,2988459171,IE
-2988459172,2988459179,FR
+2988459172,2988459175,FR
+2988459176,2988459179,PL
2988459180,2988459183,ES
2988459184,2988459231,FR
2988459232,2988459235,GB
@@ -89422,19 +91713,27 @@
2988459696,2988459699,IE
2988459700,2988459715,FR
2988459716,2988459719,FI
-2988459720,2988459967,FR
+2988459720,2988459747,FR
+2988459748,2988459751,PL
+2988459752,2988459967,FR
2988459968,2988459999,ES
-2988460000,2988460107,FR
+2988460000,2988460095,FR
+2988460096,2988460107,PL
2988460108,2988460111,DE
-2988460112,2988460131,FR
+2988460112,2988460127,FR
+2988460128,2988460131,PL
2988460132,2988460135,CZ
2988460136,2988460143,FR
2988460144,2988460147,GB
2988460148,2988460151,FR
2988460152,2988460159,ES
-2988460160,2988460399,FR
+2988460160,2988460279,FR
+2988460280,2988460287,PL
+2988460288,2988460399,FR
2988460400,2988460415,DE
-2988460416,2988460575,FR
+2988460416,2988460551,FR
+2988460552,2988460559,PL
+2988460560,2988460575,FR
2988460576,2988460591,PT
2988460592,2988460607,GB
2988460608,2988460651,FR
@@ -89444,9 +91743,9 @@
2988460752,2988460799,FR
2988460800,2988460863,DE
2988460864,2988460895,CZ
-2988460896,2988461263,FR
-2988461264,2988461279,ES
-2988461280,2988461423,FR
+2988460896,2988460935,FR
+2988460936,2988460943,PL
+2988460944,2988461423,FR
2988461424,2988461439,IE
2988461440,2988461495,FR
2988461496,2988461499,ES
@@ -89454,13 +91753,23 @@
2988461600,2988461615,DE
2988461616,2988461703,FR
2988461704,2988461707,GB
-2988461708,2988462331,FR
+2988461708,2988461759,FR
+2988461760,2988461791,PL
+2988461792,2988461951,FR
+2988461952,2988462079,PL
+2988462080,2988462143,FR
+2988462144,2988462151,PL
+2988462152,2988462199,FR
+2988462200,2988462203,PL
+2988462204,2988462331,FR
2988462332,2988462335,ES
2988462336,2988462431,FR
2988462432,2988462447,GB
2988462448,2988462747,FR
2988462748,2988462751,ES
-2988462752,2988463111,FR
+2988462752,2988462775,FR
+2988462776,2988462779,PL
+2988462780,2988463111,FR
2988463112,2988463119,ES
2988463120,2988463143,FR
2988463144,2988463151,ES
@@ -89468,10 +91777,14 @@
2988463204,2988463207,DE
2988463208,2988463223,FR
2988463224,2988463227,ES
-2988463228,2988463747,FR
+2988463228,2988463251,FR
+2988463252,2988463255,PL
+2988463256,2988463747,FR
2988463748,2988463751,GB
2988463752,2988463759,LT
-2988463760,2988463915,FR
+2988463760,2988463839,FR
+2988463840,2988463871,PL
+2988463872,2988463915,FR
2988463916,2988463919,ES
2988463920,2988463999,FR
2988464000,2988464007,IE
@@ -89479,9 +91792,14 @@
2988464016,2988464019,PT
2988464020,2988464023,FR
2988464024,2988464027,GB
-2988464028,2988464271,FR
+2988464028,2988464031,PL
+2988464032,2988464063,FR
+2988464064,2988464095,PL
+2988464096,2988464271,FR
2988464272,2988464275,ES
-2988464276,2988464355,FR
+2988464276,2988464307,FR
+2988464308,2988464311,PL
+2988464312,2988464355,FR
2988464356,2988464359,BE
2988464360,2988464360,NL
2988464361,2988464519,FR
@@ -89492,13 +91810,17 @@
2988464624,2988464627,ES
2988464628,2988464787,FR
2988464788,2988464791,ES
-2988464792,2988464927,FR
+2988464792,2988464895,FR
+2988464896,2988464911,PL
+2988464912,2988464927,FR
2988464928,2988464943,DE
2988464944,2988465191,FR
2988465192,2988465195,PL
2988465196,2988465215,FR
2988465216,2988465219,ES
-2988465220,2988465407,FR
+2988465220,2988465363,FR
+2988465364,2988465367,PL
+2988465368,2988465407,FR
2988465408,2988465423,CH
2988465424,2988465543,FR
2988465544,2988465547,CZ
@@ -89506,12 +91828,17 @@
2988465552,2988465563,ES
2988465564,2988465575,FR
2988465576,2988465583,ES
-2988465584,2988466059,FR
+2988465584,2988465587,PL
+2988465588,2988465599,FR
+2988465600,2988465615,PL
+2988465616,2988466059,FR
2988466060,2988466063,CZ
2988466064,2988466087,FR
2988466088,2988466095,PT
2988466096,2988466111,BE
-2988466112,2988474535,FR
+2988466112,2988474431,FR
+2988474432,2988474447,GB
+2988474448,2988474535,FR
2988474536,2988474543,GB
2988474544,2988474687,FR
2988474688,2988474703,FI
@@ -89537,17 +91864,21 @@
2988478656,2988478671,DE
2988478672,2988478719,FR
2988478720,2988478751,CZ
-2988478752,2988478795,FR
+2988478752,2988478787,FR
+2988478788,2988478791,PL
+2988478792,2988478795,FR
2988478796,2988478799,ES
2988478800,2988478955,FR
2988478956,2988478959,DE
-2988478960,2988479003,FR
+2988478960,2988478979,FR
+2988478980,2988478983,PL
+2988478984,2988479003,FR
2988479004,2988479007,ES
2988479008,2988479079,FR
2988479080,2988479087,DE
-2988479088,2988479155,FR
-2988479156,2988479159,ES
-2988479160,2988479343,FR
+2988479088,2988479151,FR
+2988479152,2988479155,PL
+2988479156,2988479343,FR
2988479344,2988479359,GB
2988479360,2988479603,FR
2988479604,2988479607,GB
@@ -89557,7 +91888,9 @@
2988479792,2988479807,GB
2988479808,2988479903,FR
2988479904,2988479935,PL
-2988479936,2988480011,FR
+2988479936,2988479999,FR
+2988480000,2988480003,PL
+2988480004,2988480011,FR
2988480012,2988480015,GB
2988480016,2988480063,FR
2988480064,2988480095,ES
@@ -89574,7 +91907,11 @@
2988480928,2988480959,ES
2988480960,2988481059,FR
2988481060,2988481063,FI
-2988481064,2988481343,FR
+2988481064,2988481163,FR
+2988481164,2988481167,PL
+2988481168,2988481199,FR
+2988481200,2988481203,PL
+2988481204,2988481343,FR
2988481344,2988481407,NL
2988481408,2988481743,FR
2988481744,2988481759,ES
@@ -89595,38 +91932,57 @@
2988482412,2988482415,PT
2988482416,2988482575,FR
2988482576,2988482579,CZ
-2988482580,2988482799,FR
+2988482580,2988482583,PL
+2988482584,2988482799,FR
2988482800,2988482807,ES
2988482808,2988482863,FR
2988482864,2988482871,ES
2988482872,2988482875,PT
2988482876,2988482879,CZ
2988482880,2988482883,PL
-2988482884,2988483027,FR
+2988482884,2988482943,FR
+2988482944,2988482959,PL
+2988482960,2988483027,FR
2988483028,2988483031,ES
-2988483032,2988483111,FR
+2988483032,2988483079,FR
+2988483080,2988483087,PL
+2988483088,2988483111,FR
2988483112,2988483115,ES
2988483116,2988483119,FR
2988483120,2988483127,ES
-2988483128,2988483159,FR
+2988483128,2988483151,FR
+2988483152,2988483155,PL
+2988483156,2988483159,FR
2988483160,2988483167,ES
2988483168,2988483175,FR
2988483176,2988483183,PL
-2988483184,2988483271,FR
+2988483184,2988483259,FR
+2988483260,2988483263,PL
+2988483264,2988483271,FR
2988483272,2988483279,DE
2988483280,2988483283,ES
2988483284,2988483287,DE
-2988483288,2988483375,FR
+2988483288,2988483367,FR
+2988483368,2988483371,PL
+2988483372,2988483375,FR
2988483376,2988483379,GB
2988483380,2988483595,FR
2988483596,2988483599,FI
-2988483600,2988483743,FR
+2988483600,2988483711,FR
+2988483712,2988483727,PL
+2988483728,2988483743,FR
2988483744,2988483759,DE
-2988483760,2988483967,FR
+2988483760,2988483775,FR
+2988483776,2988483839,PL
+2988483840,2988483967,FR
2988483968,2988483983,GB
-2988483984,2988484047,FR
+2988483984,2988483995,FR
+2988483996,2988483999,PL
+2988484000,2988484047,FR
2988484048,2988484051,ES
-2988484052,2988484127,FR
+2988484052,2988484059,FR
+2988484060,2988484063,PL
+2988484064,2988484127,FR
2988484128,2988484131,PT
2988484132,2988484191,FR
2988484192,2988484207,DE
@@ -89643,7 +91999,8 @@
2988484892,2988484895,GB
2988484896,2988485087,FR
2988485088,2988485103,DE
-2988485104,2988485455,FR
+2988485104,2988485119,PL
+2988485120,2988485455,FR
2988485456,2988485471,GB
2988485472,2988485503,FR
2988485504,2988485519,GB
@@ -89655,7 +92012,11 @@
2988485800,2988485803,PT
2988485804,2988485839,FR
2988485840,2988485855,DE
-2988485856,2988486075,FR
+2988485856,2988485887,FR
+2988485888,2988485903,PL
+2988485904,2988485999,FR
+2988486000,2988486015,PL
+2988486016,2988486075,FR
2988486076,2988486079,DE
2988486080,2988486083,FR
2988486084,2988486087,PT
@@ -89663,7 +92024,9 @@
2988486096,2988486099,GB
2988486100,2988486195,FR
2988486196,2988486199,PT
-2988486200,2988486323,FR
+2988486200,2988486231,FR
+2988486232,2988486235,PL
+2988486236,2988486323,FR
2988486324,2988486327,PT
2988486328,2988486335,FR
2988486336,2988486343,ES
@@ -89671,7 +92034,7 @@
2988486352,2988486367,ES
2988486368,2988486495,FR
2988486496,2988486503,DE
-2988486504,2988486511,FR
+2988486504,2988486511,PL
2988486512,2988486515,DE
2988486516,2988486607,FR
2988486608,2988486615,FI
@@ -89688,7 +92051,8 @@
2988487044,2988487047,PT
2988487048,2988487071,FR
2988487072,2988487075,ES
-2988487076,2988487095,FR
+2988487076,2988487087,FR
+2988487088,2988487095,PL
2988487096,2988487099,ES
2988487100,2988487103,GB
2988487104,2988487303,FR
@@ -89708,7 +92072,9 @@
2988488544,2988488555,GB
2988488556,2988488639,FR
2988488640,2988488647,ES
-2988488648,2988488927,FR
+2988488648,2988488655,FR
+2988488656,2988488663,PL
+2988488664,2988488927,FR
2988488928,2988488943,DE
2988488944,2988488971,FR
2988488972,2988488975,MT
@@ -89719,9 +92085,13 @@
2988489072,2988489087,DE
2988489088,2988489167,FR
2988489168,2988489175,PT
-2988489176,2988489375,FR
+2988489176,2988489331,FR
+2988489332,2988489335,PL
+2988489336,2988489375,FR
2988489376,2988489379,ES
-2988489380,2988489451,FR
+2988489380,2988489399,FR
+2988489400,2988489403,PL
+2988489404,2988489451,FR
2988489452,2988489455,DE
2988489456,2988489475,FR
2988489476,2988489479,GB
@@ -89737,7 +92107,9 @@
2988490296,2988490303,ES
2988490304,2988490367,FR
2988490368,2988490371,ES
-2988490372,2988490686,FR
+2988490372,2988490495,FR
+2988490496,2988490623,PL
+2988490624,2988490686,FR
2988490687,2988490687,BE
2988490688,2988490719,ES
2988490720,2988490967,FR
@@ -89750,7 +92122,9 @@
2988491936,2988491951,PL
2988491952,2988491967,FR
2988491968,2988492031,GB
-2988492032,2988492799,FR
+2988492032,2988492415,FR
+2988492416,2988492543,CZ
+2988492544,2988492799,FR
2988492800,2988494847,PL
2988494848,2988494899,FR
2988494900,2988494903,DE
@@ -89762,9 +92136,7 @@
2988496768,2988496799,CZ
2988496800,2988496831,FR
2988496832,2988496895,NL
-2988496896,2988498975,FR
-2988498976,2988498983,ES
-2988498984,2988499039,FR
+2988496896,2988499039,FR
2988499040,2988499051,DE
2988499052,2988499063,FR
2988499064,2988499067,DE
@@ -89780,9 +92152,7 @@
2988499568,2988499575,IE
2988499576,2988499583,FR
2988499584,2988499599,ES
-2988499600,2988499635,FR
-2988499636,2988499639,GB
-2988499640,2988499671,FR
+2988499600,2988499671,FR
2988499672,2988499675,GB
2988499676,2988499711,FR
2988499712,2988499715,PL
@@ -89805,9 +92175,16 @@
2988500888,2988500895,ES
2988500896,2988500939,FR
2988500940,2988500943,ES
-2988500944,2988501483,FR
+2988500944,2988500975,FR
+2988500976,2988500979,PL
+2988500980,2988501119,FR
+2988501120,2988501123,PL
+2988501124,2988501411,FR
+2988501412,2988501415,PL
+2988501416,2988501483,FR
2988501484,2988501487,DE
-2988501488,2988501683,FR
+2988501488,2988501679,FR
+2988501680,2988501683,PL
2988501684,2988501687,GB
2988501688,2988502031,FR
2988502032,2988502035,IE
@@ -89833,13 +92210,17 @@
2988502984,2988502991,ES
2988502992,2988503011,FR
2988503012,2988503015,DE
-2988503016,2988503375,FR
+2988503016,2988503023,FR
+2988503024,2988503031,FI
+2988503032,2988503375,FR
2988503376,2988503383,PT
2988503384,2988503487,FR
2988503488,2988503495,IT
2988503496,2988503919,FR
2988503920,2988503927,CZ
-2988503928,2988504023,FR
+2988503928,2988503943,FR
+2988503944,2988503947,PL
+2988503948,2988504023,FR
2988504024,2988504031,PT
2988504032,2988504159,FR
2988504160,2988504191,LT
@@ -89852,7 +92233,9 @@
2988504364,2988504367,FI
2988504368,2988504371,FR
2988504372,2988504375,PL
-2988504376,2988504467,FR
+2988504376,2988504415,FR
+2988504416,2988504419,PL
+2988504420,2988504467,FR
2988504468,2988504471,ES
2988504472,2988504527,FR
2988504528,2988504543,PL
@@ -89868,9 +92251,13 @@
2988505312,2988505375,FR
2988505376,2988505391,GB
2988505392,2988505395,ES
-2988505396,2988505535,FR
+2988505396,2988505439,FR
+2988505440,2988505455,PL
+2988505456,2988505535,FR
2988505536,2988505567,ES
-2988505568,2988505919,FR
+2988505568,2988505663,FR
+2988505664,2988505695,PL
+2988505696,2988505919,FR
2988505920,2988505935,GB
2988505936,2988506063,FR
2988506064,2988506071,GB
@@ -89892,7 +92279,10 @@
2988507336,2988507339,ES
2988507340,2988507391,FR
2988507392,2988507423,DE
-2988507424,2988507551,FR
+2988507424,2988507431,PL
+2988507432,2988507539,FR
+2988507540,2988507543,PL
+2988507544,2988507551,FR
2988507552,2988507560,GB
2988507561,2988507561,FR
2988507562,2988507567,GB
@@ -89902,39 +92292,58 @@
2988507688,2988507695,ES
2988507696,2988507951,FR
2988507952,2988507955,DE
-2988507956,2988507979,FR
+2988507956,2988507971,FR
+2988507972,2988507975,PL
+2988507976,2988507979,FR
2988507980,2988507983,DE
-2988507984,2988508135,FR
+2988507984,2988507991,PL
+2988507992,2988508127,FR
+2988508128,2988508135,PL
2988508136,2988508143,GB
2988508144,2988508155,FR
2988508156,2988508159,ES
2988508160,2988508219,FR
2988508220,2988508223,DE
-2988508224,2988508439,FR
+2988508224,2988508287,FR
+2988508288,2988508303,PL
+2988508304,2988508439,FR
2988508440,2988508443,GB
-2988508444,2988508607,FR
+2988508444,2988508447,FR
+2988508448,2988508455,PL
+2988508456,2988508607,FR
2988508608,2988508639,ES
-2988508640,2988508851,FR
+2988508640,2988508687,FR
+2988508688,2988508703,PL
+2988508704,2988508851,FR
2988508852,2988508855,GB
2988508856,2988509151,FR
2988509152,2988509183,IT
2988509184,2988509191,FR
2988509192,2988509199,CZ
-2988509200,2988509447,FR
+2988509200,2988509371,FR
+2988509372,2988509375,PL
+2988509376,2988509447,FR
2988509448,2988509451,ES
2988509452,2988509491,FR
2988509492,2988509495,IE
2988509496,2988509511,FR
2988509512,2988509515,PL
-2988509516,2988509747,FR
+2988509516,2988509543,FR
+2988509544,2988509551,PL
+2988509552,2988509747,FR
2988509748,2988509751,LT
-2988509752,2988509779,FR
+2988509752,2988509759,FR
+2988509760,2988509767,PL
+2988509768,2988509779,FR
2988509780,2988509783,GB
-2988509784,2988509871,FR
+2988509784,2988509823,FR
+2988509824,2988509839,PL
+2988509840,2988509871,FR
2988509872,2988509875,DE
2988509876,2988510015,FR
2988510016,2988510023,ES
-2988510024,2988510079,FR
+2988510024,2988510047,FR
+2988510048,2988510079,PL
2988510080,2988510087,ES
2988510088,2988510095,FR
2988510096,2988510099,ES
@@ -89942,11 +92351,16 @@
2988510112,2988510143,CZ
2988510144,2988510175,FR
2988510176,2988510191,DE
-2988510192,2988510311,FR
+2988510192,2988510263,FR
+2988510264,2988510271,PL
+2988510272,2988510311,FR
2988510312,2988510319,GB
2988510320,2988510639,FR
2988510640,2988510655,LT
-2988510656,2988511023,FR
+2988510656,2988510687,PL
+2988510688,2988510703,FR
+2988510704,2988510719,PL
+2988510720,2988511023,FR
2988511024,2988511027,GB
2988511028,2988511711,FR
2988511712,2988511719,DE
@@ -89957,16 +92371,23 @@
2988512208,2988512239,FR
2988512240,2988512247,DE
2988512248,2988512251,GB
-2988512252,2988512307,FR
+2988512252,2988512287,FR
+2988512288,2988512303,PL
+2988512304,2988512307,FR
2988512308,2988512311,GB
-2988512312,2988512399,FR
+2988512312,2988512339,FR
+2988512340,2988512343,PL
+2988512344,2988512399,FR
2988512400,2988512403,ES
2988512404,2988512407,LT
-2988512408,2988512639,FR
+2988512408,2988512631,FR
+2988512632,2988512639,PL
2988512640,2988512647,GB
2988512648,2988512655,FR
2988512656,2988512663,PT
-2988512664,2988512903,FR
+2988512664,2988512687,FR
+2988512688,2988512703,PL
+2988512704,2988512903,FR
2988512904,2988512907,GB
2988512908,2988512943,FR
2988512944,2988512951,ES
@@ -90007,9 +92428,14 @@
2988514528,2988514543,GB
2988514544,2988514739,FR
2988514740,2988514743,GB
-2988514744,2988514943,FR
+2988514744,2988514823,FR
+2988514824,2988514827,PL
+2988514828,2988514943,FR
2988514944,2988514959,ES
-2988514960,2988515327,FR
+2988514960,2988514975,PL
+2988514976,2988514979,FR
+2988514980,2988514983,PL
+2988514984,2988515327,FR
2988515328,2988517375,DE
2988517376,2988519423,FR
2988519424,2988521471,PL
@@ -90023,9 +92449,13 @@
2988523552,2988523559,ES
2988523560,2988523599,FR
2988523600,2988523603,ES
-2988523604,2988523631,FR
+2988523604,2988523607,FR
+2988523608,2988523615,PL
+2988523616,2988523631,FR
2988523632,2988523635,DE
-2988523636,2988523663,FR
+2988523636,2988523643,FR
+2988523644,2988523651,PL
+2988523652,2988523663,FR
2988523664,2988523667,IE
2988523668,2988523679,FR
2988523680,2988523711,ES
@@ -90043,7 +92473,9 @@
2988524232,2988524239,ES
2988524240,2988524271,FR
2988524272,2988524287,DE
-2988524288,2988524359,FR
+2988524288,2988524319,FR
+2988524320,2988524323,PL
+2988524324,2988524359,FR
2988524360,2988524363,ES
2988524364,2988524383,FR
2988524384,2988524415,PL
@@ -90054,13 +92486,17 @@
2988524624,2988524627,GB
2988524628,2988524767,FR
2988524768,2988524783,ES
-2988524784,2988525887,FR
+2988524784,2988525599,FR
+2988525600,2988525631,PL
+2988525632,2988525887,FR
2988525888,2988525951,GB
2988525952,2988525983,FR
2988525984,2988525999,DE
2988526000,2988526135,FR
2988526136,2988526143,GB
-2988526144,2988526415,FR
+2988526144,2988526239,FR
+2988526240,2988526335,PL
+2988526336,2988526415,FR
2988526416,2988526423,ES
2988526424,2988526607,FR
2988526608,2988526615,DE
@@ -90068,7 +92504,9 @@
2988526704,2988526707,GB
2988526708,2988526867,FR
2988526868,2988526871,PT
-2988526872,2988527187,FR
+2988526872,2988527127,FR
+2988527128,2988527135,PL
+2988527136,2988527187,FR
2988527188,2988527191,ES
2988527192,2988527487,FR
2988527488,2988527503,GB
@@ -90085,9 +92523,13 @@
2988527888,2988527891,ES
2988527892,2988528079,FR
2988528080,2988528095,ES
-2988528096,2988528227,FR
+2988528096,2988528115,FR
+2988528116,2988528119,PL
+2988528120,2988528227,FR
2988528228,2988528231,IE
-2988528232,2988528447,FR
+2988528232,2988528351,FR
+2988528352,2988528383,PL
+2988528384,2988528447,FR
2988528448,2988528455,IE
2988528456,2988528467,FR
2988528468,2988528471,GB
@@ -90095,22 +92537,34 @@
2988528592,2988528607,FI
2988528608,2988528699,FR
2988528700,2988528703,CZ
-2988528704,2988528999,FR
+2988528704,2988528767,FR
+2988528768,2988528771,PL
+2988528772,2988528911,FR
+2988528912,2988528919,PL
+2988528920,2988528999,FR
2988529000,2988529003,GB
2988529004,2988529175,FR
2988529176,2988529179,ES
-2988529180,2988529331,FR
+2988529180,2988529311,FR
+2988529312,2988529315,PL
+2988529316,2988529331,FR
2988529332,2988529335,GB
2988529336,2988529383,FR
2988529384,2988529387,ES
2988529388,2988529423,FR
2988529424,2988529431,DE
-2988529432,2988529583,FR
+2988529432,2988529535,FR
+2988529536,2988529567,PL
+2988529568,2988529583,FR
2988529584,2988529591,ES
2988529592,2988529823,FR
2988529824,2988529855,ES
2988529856,2988529887,IE
-2988529888,2988530047,FR
+2988529888,2988529891,FR
+2988529892,2988529895,PL
+2988529896,2988529983,FR
+2988529984,2988529999,PL
+2988530000,2988530047,FR
2988530048,2988530049,GB
2988530050,2988530067,FR
2988530068,2988530071,DE
@@ -90121,7 +92575,10 @@
2988530304,2988530307,DE
2988530308,2988530399,FR
2988530400,2988530403,ES
-2988530404,2988530423,FR
+2988530404,2988530407,PL
+2988530408,2988530415,FR
+2988530416,2988530419,PL
+2988530420,2988530423,FR
2988530424,2988530431,ES
2988530432,2988530687,DE
2988530688,2988530703,FR
@@ -90144,7 +92601,9 @@
2988539936,2988539967,GB
2988539968,2988539971,FR
2988539972,2988539975,ES
-2988539976,2988540207,FR
+2988539976,2988539983,FR
+2988539984,2988539999,PL
+2988540000,2988540207,FR
2988540208,2988540211,GB
2988540212,2988540271,FR
2988540272,2988540275,ES
@@ -90154,7 +92613,9 @@
2988540564,2988540567,CZ
2988540568,2988540623,FR
2988540624,2988540631,GB
-2988540632,2988540759,FR
+2988540632,2988540651,FR
+2988540652,2988540655,PL
+2988540656,2988540759,FR
2988540760,2988540763,ES
2988540764,2988541103,FR
2988541104,2988541119,ES
@@ -90162,7 +92623,9 @@
2988541132,2988541135,DE
2988541136,2988541243,FR
2988541244,2988541247,GB
-2988541248,2988541351,FR
+2988541248,2988541327,FR
+2988541328,2988541335,PL
+2988541336,2988541351,FR
2988541352,2988541355,IE
2988541356,2988541423,FR
2988541424,2988541439,DE
@@ -90172,7 +92635,9 @@
2988541792,2988541807,ES
2988541808,2988541863,FR
2988541864,2988541867,GB
-2988541868,2988541955,FR
+2988541868,2988541919,FR
+2988541920,2988541927,PL
+2988541928,2988541955,FR
2988541956,2988541959,DE
2988541960,2988542051,FR
2988542052,2988542055,ES
@@ -90182,13 +92647,17 @@
2988542272,2988542335,ES
2988542336,2988542339,FR
2988542340,2988542340,PT
-2988542341,2988542519,FR
+2988542341,2988542411,FR
+2988542412,2988542415,PL
+2988542416,2988542519,FR
2988542520,2988542523,GB
2988542524,2988542611,FR
2988542612,2988542615,DE
2988542616,2988542623,FR
2988542624,2988542627,DE
-2988542628,2988543127,FR
+2988542628,2988543007,FR
+2988543008,2988543011,PL
+2988543012,2988543127,FR
2988543128,2988543135,ES
2988543136,2988543179,FR
2988543180,2988543183,ES
@@ -90196,17 +92665,21 @@
2988543200,2988543203,GB
2988543204,2988543559,FR
2988543560,2988543563,PT
-2988543564,2988543871,FR
+2988543564,2988543583,FR
+2988543584,2988543599,LT
+2988543600,2988543871,FR
2988543872,2988543935,ES
-2988543936,2988544055,FR
-2988544056,2988544063,FI
-2988544064,2988544307,FR
+2988543936,2988544307,FR
2988544308,2988544311,GB
2988544312,2988544375,FR
2988544376,2988544383,ES
-2988544384,2988544527,FR
+2988544384,2988544479,FR
+2988544480,2988544495,PL
+2988544496,2988544527,FR
2988544528,2988544535,ES
-2988544536,2988544671,FR
+2988544536,2988544639,FR
+2988544640,2988544647,PL
+2988544648,2988544671,FR
2988544672,2988544687,GB
2988544688,2988544767,FR
2988544768,2988544775,ES
@@ -90225,7 +92698,9 @@
2988545696,2988545791,FR
2988545792,2988545795,NL
2988545796,2988545799,ES
-2988545800,2988545995,FR
+2988545800,2988545923,FR
+2988545924,2988545927,PL
+2988545928,2988545995,FR
2988545996,2988545999,FI
2988546000,2988546119,FR
2988546120,2988546123,IE
@@ -90235,7 +92710,9 @@
2988546328,2988546335,ES
2988546336,2988546351,FR
2988546352,2988546367,ES
-2988546368,2988546571,FR
+2988546368,2988546543,FR
+2988546544,2988546547,PL
+2988546548,2988546571,FR
2988546572,2988546575,DE
2988546576,2988546579,ES
2988546580,2988546599,FR
@@ -90248,16 +92725,22 @@
2988546704,2988546719,DE
2988546720,2988546727,FR
2988546728,2988546731,ES
-2988546732,2988546999,FR
+2988546732,2988546859,FR
+2988546860,2988546863,PL
+2988546864,2988546999,FR
2988547000,2988547003,FI
2988547004,2988547007,ES
2988547008,2988547067,FR
2988547068,2988547071,ES
2988547072,2988547095,FR
2988547096,2988547099,ES
-2988547100,2988547431,FR
+2988547100,2988547111,FR
+2988547112,2988547115,PL
+2988547116,2988547311,FR
+2988547312,2988547327,PL
+2988547328,2988547431,FR
2988547432,2988547435,ES
-2988547436,2988547443,FR
+2988547436,2988547443,PL
2988547444,2988547447,DE
2988547448,2988547451,FR
2988547452,2988547455,PT
@@ -90276,10 +92759,14 @@
2988547872,2988547903,GB
2988547904,2988547967,FR
2988547968,2988547971,GB
-2988547972,2988548015,FR
+2988547972,2988547975,FR
+2988547976,2988547979,PL
+2988547980,2988548015,FR
2988548016,2988548019,ES
2988548020,2988548023,GB
-2988548024,2988548095,FR
+2988548024,2988548059,FR
+2988548060,2988548063,PL
+2988548064,2988548095,FR
2988548096,2988548338,ES
2988548339,2988548339,FR
2988548340,2988550143,ES
@@ -90306,8 +92793,10 @@
2988550600,2988550643,FR
2988550644,2988550647,ES
2988550648,2988550975,FR
-2988550976,2988551007,PL
-2988551008,2988551171,FR
+2988550976,2988551039,PL
+2988551040,2988551099,FR
+2988551100,2988551103,NL
+2988551104,2988551171,FR
2988551172,2988551175,FI
2988551176,2988551179,ES
2988551180,2988551183,GB
@@ -90319,7 +92808,9 @@
2988551444,2988551451,ES
2988551452,2988551455,FR
2988551456,2988551471,GB
-2988551472,2988551535,FR
+2988551472,2988551503,FR
+2988551504,2988551511,PL
+2988551512,2988551535,FR
2988551536,2988551551,DE
2988551552,2988551567,FR
2988551568,2988551583,IE
@@ -90329,7 +92820,9 @@
2988551672,2988551675,DE
2988551676,2988551743,FR
2988551744,2988551759,CZ
-2988551760,2988551903,FR
+2988551760,2988551871,FR
+2988551872,2988551887,PL
+2988551888,2988551903,FR
2988551904,2988551911,GB
2988551912,2988551915,FR
2988551916,2988551919,DE
@@ -90344,7 +92837,9 @@
2988552688,2988552711,ES
2988552712,2988552751,FR
2988552752,2988552767,ES
-2988552768,2988552959,FR
+2988552768,2988552779,FR
+2988552780,2988552783,PL
+2988552784,2988552959,FR
2988552960,2988552975,ES
2988552976,2988552991,FR
2988552992,2988552995,ES
@@ -90360,13 +92855,22 @@
2988553280,2988553283,ES
2988553284,2988553311,FR
2988553312,2988553315,ES
-2988553316,2988553531,FR
+2988553316,2988553487,FR
+2988553488,2988553495,PL
+2988553496,2988553531,FR
2988553532,2988553535,ES
-2988553536,2988553735,FR
+2988553536,2988553631,FR
+2988553632,2988553639,PL
+2988553640,2988553735,FR
2988553736,2988553739,DE
-2988553740,2988553855,FR
+2988553740,2988553743,PL
+2988553744,2988553855,FR
2988553856,2988553919,BE
-2988553920,2988553971,FR
+2988553920,2988553931,FR
+2988553932,2988553935,PL
+2988553936,2988553955,FR
+2988553956,2988553959,PL
+2988553960,2988553971,FR
2988553972,2988553975,ES
2988553976,2988553983,DE
2988553984,2988554035,FR
@@ -90397,7 +92901,9 @@
2988555528,2988555531,DE
2988555532,2988555551,FR
2988555552,2988555559,PT
-2988555560,2988556139,FR
+2988555560,2988556111,FR
+2988556112,2988556115,PL
+2988556116,2988556139,FR
2988556140,2988556143,DE
2988556144,2988556175,FR
2988556176,2988556179,DE
@@ -90412,7 +92918,8 @@
2988556256,2988556259,ES
2988556260,2988556263,FR
2988556264,2988556271,GB
-2988556272,2988556283,FR
+2988556272,2988556279,FR
+2988556280,2988556283,PL
2988556284,2988556287,GB
2988556288,2988556315,FR
2988556316,2988556319,DE
@@ -90428,18 +92935,24 @@
2988557396,2988557399,PL
2988557400,2988557423,FR
2988557424,2988557427,ES
-2988557428,2988557507,FR
+2988557428,2988557499,FR
+2988557500,2988557503,PL
+2988557504,2988557507,FR
2988557508,2988557511,ES
2988557512,2988557515,GB
-2988557516,2988557539,FR
+2988557516,2988557535,FR
+2988557536,2988557539,PL
2988557540,2988557543,ES
2988557544,2988557631,FR
2988557632,2988557635,GB
2988557636,2988558075,FR
2988558076,2988558079,NL
-2988558080,2988558127,FR
+2988558080,2988558099,FR
+2988558100,2988558103,PL
+2988558104,2988558127,FR
2988558128,2988558131,DE
-2988558132,2988558139,FR
+2988558132,2988558135,PL
+2988558136,2988558139,FR
2988558140,2988558143,DE
2988558144,2988558203,FR
2988558204,2988558207,DE
@@ -90462,40 +92975,58 @@
2988559616,2988559619,ES
2988559620,2988559663,FR
2988559664,2988559679,ES
-2988559680,2988559727,FR
+2988559680,2988559691,FR
+2988559692,2988559695,PL
+2988559696,2988559727,FR
2988559728,2988559731,DE
2988559732,2988560639,FR
2988560640,2988560703,ES
-2988560704,2988560759,FR
+2988560704,2988560711,FR
+2988560712,2988560715,PL
+2988560716,2988560759,FR
2988560760,2988560767,FI
2988560768,2988560783,FR
2988560784,2988560799,NL
2988560800,2988560815,DE
-2988560816,2988561051,FR
+2988560816,2988560975,FR
+2988560976,2988560991,PL
+2988560992,2988561047,FR
+2988561048,2988561051,PL
2988561052,2988561055,GB
2988561056,2988561215,FR
2988561216,2988561231,ES
2988561232,2988561235,PT
2988561236,2988561239,FR
2988561240,2988561243,NL
-2988561244,2988561399,FR
+2988561244,2988561247,PL
+2988561248,2988561399,FR
2988561400,2988561403,ES
2988561404,2988561583,FR
2988561584,2988561591,GB
-2988561592,2988561747,FR
+2988561592,2988561631,FR
+2988561632,2988561663,PL
+2988561664,2988561747,FR
2988561748,2988561751,GB
2988561752,2988561759,FR
2988561760,2988561763,PL
2988561764,2988561767,IT
2988561768,2988561939,FR
2988561940,2988561943,FI
-2988561944,2988562495,FR
+2988561944,2988562127,FR
+2988562128,2988562131,IE
+2988562132,2988562175,FR
+2988562176,2988562431,CZ
+2988562432,2988562495,FR
2988562496,2988562527,FI
-2988562528,2988562595,FR
+2988562528,2988562575,FR
+2988562576,2988562583,PL
+2988562584,2988562595,FR
2988562596,2988562599,GB
2988562600,2988562847,FR
2988562848,2988562863,GB
-2988562864,2988563527,FR
+2988562864,2988563103,FR
+2988563104,2988563135,PL
+2988563136,2988563527,FR
2988563528,2988563535,ES
2988563536,2988563671,FR
2988563672,2988563675,DE
@@ -90507,7 +93038,9 @@
2988564144,2988564159,ES
2988564160,2988564175,FR
2988564176,2988564179,GB
-2988564180,2988564191,FR
+2988564180,2988564183,FR
+2988564184,2988564187,PL
+2988564188,2988564191,FR
2988564192,2988564195,ES
2988564196,2988564215,FR
2988564216,2988564219,GB
@@ -90521,11 +93054,7 @@
2988564408,2988566331,FR
2988566332,2988566332,GB
2988566333,2988572671,FR
-2988572672,2988611583,RU
-2988611584,2988613247,UA
-2988613248,2988613248,RU
-2988613249,2988613631,UA
-2988613632,2988617727,RU
+2988572672,2988617727,RU
2988617728,2988621823,UA
2988621824,2988703743,RU
2988703744,2988834815,PL
@@ -90574,7 +93103,14 @@
2991161344,2991177727,FR
2991177728,2991179503,SE
2991179504,2991179507,ES
-2991179508,2991191807,SE
+2991179508,2991188223,SE
+2991188224,2991188255,GB
+2991188256,2991188271,NL
+2991188272,2991188287,DE
+2991188288,2991188303,DK
+2991188304,2991188319,ES
+2991188320,2991188323,FR
+2991188324,2991191807,SE
2991191808,2991192063,FI
2991192064,2991194111,SE
2991194112,2991210495,NO
@@ -90698,7 +93234,7 @@
2996785152,2996786175,RU
2996786176,2996787199,TR
2996787200,2996788223,RU
-2996788224,2996789247,TR
+2996788224,2996789247,IT
2996789248,2996789503,UA
2996789504,2996789759,RU
2996789760,2996790015,UA
@@ -90729,9 +93265,7 @@
2997190656,2997223423,AT
2997223424,2997256191,PT
2997256192,2997321727,RU
-2997321728,2997331967,IE
-2997331968,2997332095,GB
-2997332096,2997354495,IE
+2997321728,2997354495,IE
2997354496,2997387263,MD
2997387264,2997420031,BY
2997420032,2997428223,IR
@@ -90797,8 +93331,7 @@
2997564416,2997564927,RU
2997564928,2997565439,TR
2997565440,2997565695,IT
-2997565696,2997565951,RU
-2997565952,2997566463,BY
+2997565696,2997566463,RU
2997566464,2997567487,TR
2997567488,2997567999,LV
2997568000,2997568511,TM
@@ -90839,9 +93372,15 @@
2998140928,2998403071,PL
2998403072,2998665215,RU
2998665216,2998927359,AT
-2998927360,2999433599,CH
-2999433600,2999433727,DE
-2999433728,2999451647,CH
+2998927360,2999325951,CH
+2999325952,2999326207,DE
+2999326208,2999326719,CH
+2999326720,2999327231,DE
+2999327232,2999327487,CH
+2999327488,2999327743,DE
+2999327744,2999338751,CH
+2999338752,2999338943,IT
+2999338944,2999451647,CH
2999451648,2999713791,DE
2999713792,2999975935,RU
2999975936,2999984127,FR
@@ -90991,8 +93530,7 @@
3000553472,3000555519,KG
3000555520,3000557567,RU
3000557568,3000561663,UA
-3000561664,3000562687,RU
-3000562688,3000563711,GB
+3000561664,3000563711,RU
3000563712,3000565759,IR
3000565760,3000567807,RU
3000567808,3000569855,RS
@@ -91002,8 +93540,7 @@
3000576000,3000586239,RU
3000586240,3000588287,NL
3000588288,3000589311,BG
-3000589312,3000590335,GB
-3000590336,3000594431,RU
+3000589312,3000594431,RU
3000594432,3000596479,PL
3000596480,3000598527,RU
3000598528,3000600575,FI
@@ -91021,8 +93558,7 @@
3000613243,3000616959,PL
3000616960,3000621055,UA
3000621056,3000623103,PL
-3000623104,3000625151,RU
-3000625152,3000626175,GB
+3000623104,3000626175,RU
3000626176,3000627199,TR
3000627200,3000629247,CZ
3000629248,3000631295,PL
@@ -91038,7 +93574,8 @@
3000671232,3000672255,RU
3000672256,3000676351,HR
3000676352,3000680447,SA
-3000680448,3000682495,GB
+3000680448,3000681471,RU
+3000681472,3000682495,GB
3000682496,3000684543,UZ
3000684544,3000688639,RU
3000688640,3000692735,PL
@@ -91060,11 +93597,15 @@
3000750080,3000754175,RU
3000754176,3000758271,IR
3000758272,3000762367,UA
-3000762368,3001014783,RS
-3001014784,3001015295,XK
-3001015296,3001018367,RS
-3001018368,3001020415,XK
-3001020416,3001024511,RS
+3000762368,3000829951,RS
+3000829952,3000830975,XK
+3000830976,3000837119,RS
+3000837120,3000838143,XK
+3000838144,3001016319,RS
+3001016320,3001018367,XK
+3001018368,3001022463,RS
+3001022464,3001023487,XK
+3001023488,3001024511,RS
3001024512,3001548799,NL
3001548800,3001614335,NO
3001614336,3001679871,TR
@@ -91144,9 +93685,7 @@
3001991168,3001995263,IR
3001995264,3001999359,HU
3001999360,3002003455,DE
-3002003456,3002007551,PL
-3002007552,3002008575,UA
-3002008576,3002011647,PL
+3002003456,3002011647,PL
3002015744,3002019839,IT
3002019840,3002021271,NL
3002021272,3002021279,MT
@@ -91208,7 +93747,8 @@
3002673152,3002675199,GB
3002675200,3002677247,DK
3002677248,3002683391,RU
-3002683392,3002685439,DE
+3002683392,3002684415,DE
+3002684416,3002685439,CH
3002685440,3002687487,PL
3002687488,3002688511,GB
3002688512,3002689535,NL
@@ -91281,11 +93821,8 @@
3002826752,3002828799,SE
3002828800,3002830847,RU
3002830848,3002834943,FI
-3002834944,3002835063,BE
-3002835064,3002835067,LU
-3002835068,3002836479,BE
-3002836480,3002836735,LU
-3002836736,3002836991,BE
+3002834944,3002835967,LU
+3002835968,3002836991,BE
3002836992,3002841087,GB
3002841088,3002843135,CZ
3002843136,3002845183,NL
@@ -91322,10 +93859,10 @@
3003068416,3003070463,NL
3003070464,3003074559,GB
3003074560,3003076607,IT
-3003076608,3003078151,US
+3003076608,3003078143,GB
+3003078144,3003078151,US
3003078152,3003078155,IN
-3003078156,3003078655,US
-3003078656,3003080703,GB
+3003078156,3003080703,GB
3003080704,3003082751,FR
3003082752,3003084799,ES
3003084800,3003085823,SE
@@ -91416,8 +93953,8 @@
3005480960,3005874175,AR
3005874176,3005894143,PA
3005894144,3005894911,CO
-3005894912,3005895679,PA
-3005895680,3005896191,CO
+3005894912,3005895935,PA
+3005895936,3005896191,CO
3005896192,3005896703,PA
3005896704,3005896959,CO
3005896960,3005897471,PA
@@ -91426,11 +93963,9 @@
3005897984,3005898239,CO
3005898240,3005898495,PA
3005898496,3005899775,CO
-3005899776,3005900287,PA
-3005900288,3005900543,CO
-3005900544,3005900799,PA
-3005900800,3005901055,CO
-3005901056,3005901567,PA
+3005899776,3005900543,PA
+3005900544,3005900799,CO
+3005900800,3005901567,PA
3005901568,3005902335,CO
3005902336,3005902591,PA
3005902592,3005902847,CO
@@ -91444,8 +93979,8 @@
3005906176,3005906687,CO
3005906688,3005911295,PA
3005911296,3005911551,CO
-3005911552,3005912319,PA
-3005912320,3005912575,CO
+3005911552,3005912063,PA
+3005912064,3005912575,CO
3005912576,3005913855,PA
3005913856,3005914111,CO
3005914112,3005914623,PA
@@ -91468,29 +94003,25 @@
3006283776,3006284287,CR
3006284288,3006284543,PA
3006284544,3006284799,CR
-3006284800,3006285311,PA
-3006285312,3006285567,CR
-3006285568,3006285823,PA
-3006285824,3006286079,CR
+3006284800,3006285567,PA
+3006285568,3006286079,CR
3006286080,3006286335,PA
3006286336,3006286591,CR
3006286592,3006286847,PA
-3006286848,3006287103,CR
-3006287104,3006287871,PA
+3006286848,3006287359,CR
+3006287360,3006287871,PA
3006287872,3006288383,CR
3006288384,3006288639,PA
3006288640,3006289151,CR
3006289152,3006289919,PA
3006289920,3006290175,CR
-3006290176,3006290431,PA
-3006290432,3006291199,CR
-3006291200,3006291455,PA
-3006291456,3006291711,CR
+3006290176,3006290687,PA
+3006290688,3006291711,CR
3006291712,3006308351,PA
3006308352,3006308863,CR
3006308864,3006309631,PA
-3006309632,3006310399,CR
-3006310400,3006310655,PA
+3006309632,3006310143,CR
+3006310144,3006310655,PA
3006310656,3006311167,CR
3006311168,3006311935,PA
3006311936,3006312703,CR
@@ -91501,12 +94032,12 @@
3006313984,3006314239,PA
3006314240,3006314751,CR
3006314752,3006315519,PA
-3006315520,3006315775,CR
-3006315776,3006316031,PA
-3006316032,3006316287,CR
-3006316288,3006320639,PA
+3006315520,3006316543,CR
+3006316544,3006320639,PA
3006320640,3006320895,CR
-3006320896,3006321663,PA
+3006320896,3006321151,PA
+3006321152,3006321407,CR
+3006321408,3006321663,PA
3006321664,3006321919,CR
3006321920,3006323967,PA
3006323968,3006324735,CR
@@ -91554,9 +94085,7 @@
3007092736,3007094783,AR
3007094784,3007096831,CR
3007096832,3007098879,AR
-3007098880,3007099631,HN
-3007099632,3007099639,GB
-3007099640,3007099903,HN
+3007098880,3007099903,HN
3007099904,3007100463,US
3007100464,3007100471,IN
3007100472,3007100927,US
@@ -91694,8 +94223,8 @@
3007168256,3007168271,GR
3007168272,3007168383,DE
3007168384,3007168511,US
-3007168512,3007168614,QA
-3007168615,3007168615,US
+3007168512,3007168613,QA
+3007168614,3007168615,US
3007168616,3007168767,QA
3007168768,3007169023,CL
3007169024,3007169151,US
@@ -91802,8 +94331,8 @@
3007285504,3007285759,PA
3007285760,3007286015,CR
3007286016,3007286271,PA
-3007286272,3007286783,CR
-3007286784,3007287295,PA
+3007286272,3007286527,CR
+3007286528,3007287295,PA
3007287296,3007299583,CR
3007299584,3007301631,PA
3007301632,3007305727,AR
@@ -91859,9 +94388,7 @@
3025608208,3025608223,SG
3025608224,3025608447,IN
3025608448,3025608703,HK
-3025608704,3025610751,IN
-3025610752,3025612799,SG
-3025612800,3025612815,IN
+3025608704,3025612815,IN
3025612816,3025612831,SG
3025612832,3025612895,IN
3025612896,3025613087,SG
@@ -91970,9 +94497,7 @@
3025633824,3025633855,AU
3025633856,3025633919,IN
3025633920,3025634047,MY
-3025634048,3025634687,IN
-3025634688,3025634719,HK
-3025634720,3025636351,IN
+3025634048,3025636351,IN
3025636352,3025636607,SG
3025636608,3025637375,IN
3025637376,3025637631,HK
@@ -92030,12 +94555,20 @@
3025643072,3025647103,IN
3025647104,3025647359,SG
3025647360,3025647615,AU
-3025647616,3025647871,SG
+3025647616,3025647775,IN
+3025647776,3025647791,SG
+3025647792,3025647839,IN
+3025647840,3025647871,SG
3025647872,3025647903,HK
-3025647904,3025648087,SG
+3025647904,3025647935,IN
+3025647936,3025647967,SG
+3025647968,3025648079,IN
+3025648080,3025648087,SG
3025648088,3025648091,US
-3025648092,3025648639,SG
-3025648640,3025649151,IN
+3025648092,3025648095,SG
+3025648096,3025648127,IN
+3025648128,3025648383,SG
+3025648384,3025649151,IN
3025649152,3025649663,HK
3025649664,3025666047,IN
3025666048,3025928191,CN
@@ -92061,15 +94594,25 @@
3026069504,3026071551,JP
3026071552,3026073599,AU
3026073600,3026075647,CN
-3026075648,3026078641,AF
+3026075648,3026077961,AF
+3026077962,3026077962,DE
+3026077963,3026078275,AF
+3026078276,3026078277,DE
+3026078278,3026078626,AF
+3026078627,3026078627,DE
+3026078628,3026078641,AF
3026078642,3026078642,DE
-3026078643,3026081023,AF
-3026081024,3026081108,DE
-3026081109,3026081109,AF
-3026081110,3026081169,DE
-3026081170,3026081170,AF
-3026081171,3026081279,DE
-3026081280,3026083839,AF
+3026078643,3026078713,AF
+3026078714,3026078714,IT
+3026078715,3026079769,AF
+3026079770,3026079770,GB
+3026079771,3026079993,AF
+3026079994,3026079994,DE
+3026079995,3026081023,AF
+3026081024,3026081279,DE
+3026081280,3026082769,AF
+3026082770,3026082770,IT
+3026082771,3026083839,AF
3026083840,3026087935,CN
3026087936,3026089983,AU
3026089984,3026092031,CN
@@ -92240,10 +94783,10 @@
3034478592,3034479615,TH
3034479616,3034480639,NZ
3034480640,3034482687,SG
-3034482688,3034484223,AF
-3034484224,3034484338,DE
-3034484339,3034484339,AF
-3034484340,3034484479,DE
+3034482688,3034483455,AF
+3034483456,3034483711,DE
+3034483712,3034483967,AF
+3034483968,3034484479,DE
3034484480,3034484735,AF
3034484736,3034488831,TH
3034488832,3034492927,AU
@@ -92307,7 +94850,9 @@
3035676928,3035693055,SG
3035693056,3036610559,ID
3036610560,3036676095,SG
-3036676096,3037697047,AR
+3036676096,3037686727,AR
+3037686728,3037686735,NL
+3037686736,3037697047,AR
3037697048,3037697055,US
3037697056,3037790207,AR
3037790208,3037986815,VE
@@ -92319,9 +94864,7 @@
3039232000,3039297535,EC
3039297536,3039363071,PY
3039363072,3039379455,AW
-3039379456,3039388927,GY
-3039388928,3039389695,NG
-3039389696,3039395839,GY
+3039379456,3039395839,GY
3039395840,3039396351,US
3039396352,3039396607,NL
3039396608,3039398911,US
@@ -92401,9 +94944,7 @@
3047424000,3047948287,AR
3047948288,3048079359,CL
3048079360,3048095743,CO
-3048095744,3048105461,GT
-3048105462,3048105462,SV
-3048105463,3048112127,GT
+3048095744,3048112127,GT
3048112128,3048120319,AR
3048120320,3048121343,PY
3048121344,3048122367,PA
@@ -92426,9 +94967,7 @@
3048299656,3048299663,BR
3048299664,3048301311,US
3048301312,3048301343,CA
-3048301344,3048304999,US
-3048305000,3048305007,CR
-3048305008,3048308727,US
+3048301344,3048308727,US
3048308728,3048308735,CR
3048308736,3048325119,BO
3048325120,3048331263,AR
@@ -92501,9 +95040,7 @@
3050700816,3050701055,BR
3050701056,3050701311,DE
3050701312,3050701327,IE
-3050701328,3050701439,BR
-3050701440,3050701503,US
-3050701504,3050701567,BR
+3050701328,3050701567,BR
3050701568,3050701823,DE
3050701824,3050701839,SG
3050701840,3050702079,BR
@@ -92806,23 +95343,24 @@
3051373568,3051374335,CR
3051374336,3051374591,PA
3051374592,3051374847,CR
-3051374848,3051375103,PA
-3051375104,3051380735,CR
+3051374848,3051375359,PA
+3051375360,3051376383,CR
+3051376384,3051376639,PA
+3051376640,3051380735,CR
3051380736,3051388927,AR
3051388928,3051389183,US
-3051389184,3051390207,NL
-3051390208,3051390463,PA
-3051390464,3051390719,US
-3051390720,3051391999,PA
-3051392000,3051392511,US
+3051389184,3051389951,NL
+3051389952,3051390719,PA
+3051390720,3051390975,NL
+3051390976,3051392255,PA
+3051392256,3051392511,US
3051392512,3051393023,PA
3051393024,3051393535,US
3051393536,3051394303,PA
3051394304,3051395071,US
3051395072,3051395327,NL
3051395328,3051396095,PA
-3051396096,3051396863,US
-3051396864,3051397119,PA
+3051396096,3051397119,US
3051397120,3051398143,CO
3051398144,3051399167,AR
3051399168,3051400191,DO
@@ -93037,7 +95575,7 @@
3070170112,3070171135,MY
3070171136,3070172159,HK
3070172160,3070173183,AU
-3070174208,3070175231,CN
+3070173184,3070175231,CN
3070175232,3070176255,PH
3070176256,3070177279,HK
3070177280,3070178303,PK
@@ -93102,10 +95640,10 @@
3081842688,3081846783,AU
3081846784,3081847807,TW
3081847808,3081848831,KR
-3081848832,3081850079,SG
+3081848832,3081849855,SG
+3081849856,3081850079,HK
3081850080,3081850111,TW
-3081850112,3081850879,SG
-3081850880,3081851903,HK
+3081850112,3081851903,HK
3081851904,3081852927,JP
3081852928,3081854975,HK
3081854976,3081859071,MN
@@ -93136,7 +95674,9 @@
3088629760,3088633855,NL
3088633856,3088686591,US
3088686592,3088687103,NL
-3088687104,3088708607,US
+3088687104,3088701439,US
+3088701440,3088702463,NL
+3088702464,3088708607,US
3088708608,3088709631,NL
3088709632,3088710655,US
3088710656,3088711167,NL
@@ -93150,7 +95690,13 @@
3088856064,3088856575,NL
3088856576,3088857087,US
3088857088,3088857599,NL
-3088857600,3088902143,US
+3088857600,3088869375,US
+3088869376,3088869631,NL
+3088869632,3088871423,US
+3088871424,3088871935,NL
+3088871936,3088888831,US
+3088888832,3088889343,NL
+3088889344,3088902143,US
3088902144,3088902655,NL
3088902656,3088913663,US
3088913664,3088913919,NL
@@ -93178,11 +95724,15 @@
3091976192,3091980287,CA
3091980288,3092381695,US
3092381696,3092447231,TH
-3092447232,3092573695,US
+3092447232,3092572671,US
+3092572672,3092573183,NL
+3092573184,3092573695,US
3092573696,3092573951,AU
3092573952,3092623359,US
3092623360,3092627455,NL
-3092627456,3092643839,US
+3092627456,3092640255,US
+3092640256,3092641791,NL
+3092641792,3092643839,US
3092643840,3092647935,NL
3092647936,3092656127,US
3092656128,3092660223,NL
@@ -93198,23 +95748,18 @@
3092697088,3092697599,NL
3092697600,3092700927,US
3092700928,3092701183,AU
-3092701184,3092754431,US
+3092701184,3092702207,NL
+3092702208,3092704255,US
+3092704256,3092705279,NL
+3092705280,3092754431,US
3092754432,3092758527,NL
3092758528,3093168127,US
3093168128,3093200895,CA
3093200896,3093213183,US
3093213184,3093217279,CA
-3093217280,3093233663,US
-3093233664,3093234687,PR
-3093234688,3093234716,US
-3093234717,3093234717,PR
-3093234718,3093235199,US
-3093235200,3093235455,PR
-3093235456,3093235711,US
-3093235712,3093236735,PR
-3093236736,3093236991,US
-3093236992,3093237247,PR
-3093237248,3093282815,US
+3093217280,3093234687,US
+3093234688,3093235711,PR
+3093235712,3093282815,US
3093282816,3093299199,CA
3093299200,3093907199,US
3093907200,3093907455,CA
@@ -93233,7 +95778,9 @@
3093935360,3093935615,NL
3093935616,3093937407,US
3093937408,3093937663,NL
-3093937664,3093943785,US
+3093937664,3093938175,US
+3093938176,3093938431,JP
+3093938432,3093943785,US
3093943786,3093943786,CZ
3093943787,3093945989,US
3093945990,3093945990,AT
@@ -93274,9 +95821,7 @@
3094080792,3094080799,US
3094080800,3094085631,CA
3094085632,3096444927,US
-3096444928,3096898618,CA
-3096898619,3096898619,US
-3096898620,3096969215,CA
+3096444928,3096969215,CA
3096969216,3097143823,US
3097143824,3097143831,BD
3097143832,3097493503,US
@@ -93287,7 +95832,9 @@
3097823232,3097823295,BR
3097823296,3097823487,US
3097823488,3097823743,CA
-3097823744,3098095615,US
+3097823744,3097824767,US
+3097824768,3097824831,CA
+3097824832,3098095615,US
3098095616,3098099711,CA
3098099712,3098099967,US
3098099968,3098100735,SE
@@ -93353,23 +95900,7 @@
3098493752,3098493759,CA
3098493760,3098496943,US
3098496944,3098496951,CA
-3098496952,3100903679,US
-3100903680,3100903935,PR
-3100903936,3100920319,US
-3100920320,3100920575,PR
-3100920576,3100922367,US
-3100922368,3100922623,PR
-3100922624,3100949247,US
-3100949248,3100949503,PR
-3100949504,3100955647,US
-3100955648,3100955903,PR
-3100955904,3100957695,US
-3100957696,3100957951,PR
-3100957952,3100964351,US
-3100964352,3100964607,PR
-3100964608,3100964863,US
-3100964864,3100965119,PR
-3100965120,3103784959,US
+3098496952,3103784959,US
3103850496,3103850751,RU
3103850752,3103851007,PS
3103851008,3103851519,FR
@@ -93480,6 +96011,8 @@
3103881216,3103881471,GB
3103881472,3103881727,MK
3103881728,3103881983,NL
+3103881984,3103882239,GR
+3103882240,3103882495,IT
3103916032,3103917055,CH
3103917056,3103918079,IT
3103918080,3103919103,DE
@@ -93558,13 +96091,17 @@
3103984640,3103985663,DK
3103985664,3103986687,RU
3103986688,3103987711,LB
-3103987712,3103988735,FR
+3103987712,3103988607,FR
+3103988608,3103988671,GB
+3103988672,3103988735,FR
3103989760,3103990783,RU
3103990784,3103991807,IT
3103991808,3103992831,DE
3103992832,3103993855,LU
3103993856,3103994879,SE
-3103994880,3103995903,JE
+3103994880,3103995419,JE
+3103995420,3103995420,AE
+3103995421,3103995903,JE
3103995904,3103996927,TR
3103996928,3103997951,PL
3103997952,3103998975,FR
@@ -93715,7 +96252,8 @@
3104143360,3104144383,NL
3104144384,3104145407,ES
3104145408,3104146431,RU
-3104146432,3104147455,NL
+3104146432,3104146943,SG
+3104146944,3104147455,NL
3104147456,3104149503,RU
3104149504,3104150527,GB
3104150528,3104151551,RU
@@ -93885,9 +96423,7 @@
3104312320,3104313343,TR
3104313344,3104314367,NO
3104314368,3104315391,RU
-3104315392,3104315647,IT
-3104315648,3104315903,CH
-3104315904,3104316415,IT
+3104315392,3104316415,IT
3104316416,3104317439,FR
3104317440,3104318463,CY
3104318464,3104319487,IT
@@ -93982,7 +96518,7 @@
3104412672,3104413695,IT
3104413696,3104414719,FR
3104414720,3104415743,TR
-3104415744,3104416767,RU
+3104415744,3104416767,UA
3104416768,3104417791,SE
3104417792,3104418815,US
3104418816,3104419839,GB
@@ -94191,7 +96727,7 @@
3104623616,3104624639,FR
3104624640,3104625663,RU
3104625664,3104625919,NL
-3104625920,3104626687,CY
+3104625920,3104626687,LU
3104626688,3104627711,NL
3104627712,3104628735,LB
3104628736,3104629759,TR
@@ -94281,8 +96817,7 @@
3104720896,3104721919,PL
3104721920,3104722943,IT
3104722944,3104723967,IR
-3104723968,3104724991,GB
-3104724992,3104726015,RU
+3104723968,3104726015,GB
3104726016,3104727039,DE
3104727040,3104727295,FR
3104727296,3104727551,DE
@@ -94398,7 +96933,8 @@
3104837632,3104838655,DK
3104838656,3104839679,NL
3104839680,3104840703,IQ
-3104840704,3104841727,UA
+3104840704,3104841215,RU
+3104841216,3104841727,UA
3104841728,3104843775,PL
3104843776,3104844799,GB
3104844800,3104846847,FR
@@ -94406,9 +96942,7 @@
3104847872,3104848895,RU
3104848896,3104849919,DE
3104849920,3104850943,RU
-3104850944,3104851455,JE
-3104851456,3104851711,GB
-3104851712,3104851967,JE
+3104850944,3104851967,JE
3104851968,3104852991,DE
3104852992,3104854015,AT
3104854016,3104855039,GI
@@ -94667,7 +97201,8 @@
3105098752,3105099775,SE
3105099776,3105100799,FR
3105100800,3105101823,PL
-3105101824,3105102847,IQ
+3105101824,3105102335,AE
+3105102336,3105102847,IQ
3105102848,3105103871,HR
3105103872,3105104895,GB
3105104896,3105105919,CY
@@ -94761,8 +97296,7 @@
3105199104,3105200127,PL
3105200128,3105201151,FR
3105201152,3105202175,RU
-3105202176,3105202943,CZ
-3105202944,3105203199,HU
+3105202176,3105203199,CZ
3105203200,3105204223,DE
3105204224,3105205247,NL
3105205248,3105206271,IT
@@ -94950,11 +97484,7 @@
3105392640,3105393663,IR
3105393664,3105395711,FR
3105395712,3105396735,IR
-3105396736,3105397247,FR
-3105397248,3105397375,BE
-3105397376,3105397503,FR
-3105397504,3105397759,BE
-3105397760,3105398783,FR
+3105396736,3105398783,FR
3105398784,3105399807,GB
3105399808,3105400831,PL
3105400832,3105401855,DK
@@ -95006,8 +97536,7 @@
3105436672,3105437695,ES
3105437696,3105438719,GB
3105438720,3105439743,RU
-3105439744,3105439999,IE
-3105440000,3105440767,GB
+3105439744,3105440767,GB
3105440768,3105441791,RU
3105441792,3105442815,IT
3105442816,3105443839,FI
@@ -95032,7 +97561,7 @@
3105460224,3105461247,GB
3105461248,3105462271,PL
3105462272,3105463295,RU
-3105463296,3105464319,GB
+3105463296,3105464319,US
3105464320,3105465343,NL
3105465344,3105466367,DE
3105466368,3105467391,MT
@@ -95097,17 +97626,15 @@
3105524736,3105525759,IT
3105525760,3105526783,TR
3105526784,3105527807,GB
-3105527808,3105528063,NL
-3105528064,3105528319,US
-3105528320,3105528575,AU
-3105528576,3105528831,NL
+3105527808,3105528319,US
+3105528320,3105528831,NL
3105528832,3105529855,DE
3105529856,3105530879,LU
3105530880,3105531903,NO
3105531904,3105532927,RU
3105532928,3105533951,RS
3105533952,3105534975,BA
-3105534976,3105535487,ZA
+3105534976,3105535231,ZA
3105535795,3105535795,RU
3105536000,3105537023,AZ
3105537024,3105538047,AT
@@ -95186,16 +97713,18 @@
3105614848,3105615871,NL
3105615872,3105616895,SE
3105616896,3105617919,GB
-3105617920,3105617922,DE
-3105617923,3105617923,NL
-3105617924,3105617930,DE
-3105617931,3105617931,NL
-3105617932,3105618175,DE
-3105618176,3105618443,NL
+3105617920,3105618175,DE
+3105618176,3105618441,NL
+3105618442,3105618442,DE
+3105618443,3105618443,NL
3105618444,3105618444,DE
-3105618445,3105618481,NL
-3105618482,3105618482,JP
-3105618483,3105618943,NL
+3105618445,3105618482,NL
+3105618483,3105618484,IT
+3105618485,3105618515,NL
+3105618516,3105618517,US
+3105618518,3105618538,NL
+3105618539,3105618539,DE
+3105618540,3105618943,NL
3105618944,3105619967,DE
3105619968,3105620991,TR
3105620992,3105622015,DE
@@ -95287,9 +97816,7 @@
3105707008,3105708031,PL
3105708032,3105709055,AT
3105709056,3105710079,SA
-3105710080,3105710799,IT
-3105710800,3105710815,CH
-3105710816,3105711103,IT
+3105710080,3105711103,IT
3105711104,3105712127,RS
3105712128,3105713151,IT
3105713152,3105714175,NL
@@ -95393,9 +97920,7 @@
3105814528,3105815551,JO
3105815552,3105816575,BE
3105816576,3105817599,FR
-3105817600,3105818111,DE
-3105818112,3105818367,US
-3105818368,3105818623,DE
+3105817600,3105818623,DE
3105818624,3105819647,NL
3105819648,3105820671,GB
3105820672,3105820927,NL
@@ -95631,7 +98156,9 @@
3106027600,3106027615,IT
3106027616,3106027631,NL
3106027632,3106029567,GB
-3106030592,3106031615,NL
+3106029568,3106029823,US
+3106030080,3106030335,KZ
+3106030336,3106031615,NL
3106031616,3106032639,AZ
3106032640,3106033663,PL
3106033664,3106034687,GB
@@ -95670,7 +98197,9 @@
3106067456,3106068479,DE
3106068480,3106070527,NL
3106070528,3106071551,UA
-3106071552,3106072575,BH
+3106071552,3106072292,BH
+3106072293,3106072293,IT
+3106072294,3106072575,BH
3106072576,3106073599,GB
3106073600,3106074623,PL
3106074624,3106076671,RU
@@ -95735,6 +98264,7 @@
3106134016,3106135039,DE
3106135040,3106136063,RU
3106136064,3106137087,BE
+3106137088,3106138111,NL
3106138112,3106139135,DE
3106139136,3106140159,SE
3106140160,3106141183,DE
@@ -95850,7 +98380,8 @@
3106252800,3106253823,RS
3106253824,3106255871,GB
3106255872,3106256895,IT
-3106256896,3106257919,TR
+3106256896,3106257663,TR
+3106257664,3106257919,GB
3106257920,3106258943,RU
3106258944,3106259967,UA
3106259968,3106260991,GB
@@ -96151,9 +98682,7 @@
3106503680,3106504703,NL
3106504704,3106505727,PL
3106505728,3106506751,CH
-3106506752,3106507775,NL
-3106507776,3106508287,CZ
-3106508288,3106509823,NL
+3106506752,3106509823,NL
3106509824,3106510847,SE
3106510848,3106511871,FR
3106511872,3106512895,GE
@@ -96229,8 +98758,7 @@
3106592768,3106593791,LU
3106593792,3106594815,GB
3106594816,3106595839,IR
-3106595840,3106596095,EE
-3106596096,3106596863,RU
+3106595840,3106596863,RU
3106596864,3106597887,FR
3106597888,3106598911,GB
3106598912,3106599935,ES
@@ -96355,9 +98883,7 @@
3106716672,3106717695,CZ
3106717696,3106718719,TR
3106718720,3106719743,CH
-3106719744,3106720245,DE
-3106720246,3106720246,US
-3106720247,3106720767,DE
+3106719744,3106720767,DE
3106720768,3106722815,AT
3106722816,3106723839,IT
3106723840,3106724863,PL
@@ -96379,15 +98905,15 @@
3106738176,3106739199,DE
3106739200,3106740223,DK
3106740224,3106741247,GB
-3106741248,3106741759,ES
-3106741760,3106742015,NL
-3106742016,3106742271,ES
+3106741248,3106742271,ES
3106742272,3106743295,FR
3106743296,3106744319,NO
3106744320,3106745343,SM
3106745344,3106746367,NL
3106746368,3106747391,DK
-3106747392,3106748415,BE
+3106747392,3106747647,BE
+3106747648,3106747903,DE
+3106747904,3106748415,BE
3106748416,3106749439,CZ
3106749440,3106750463,RU
3106750464,3106751487,BG
@@ -96433,7 +98959,7 @@
3106786304,3106787327,DE
3106787328,3106787583,GB
3106787840,3106788351,GB
-3106788352,3106789375,AT
+3106788352,3106789375,SA
3106789376,3106790399,PL
3106790400,3106792447,GB
3106792448,3106793471,FR
@@ -96502,7 +99028,9 @@
3106850816,3106851839,GB
3106851840,3106852863,PL
3106852864,3106853887,GB
-3106853888,3106854399,NL
+3106853888,3106854235,NL
+3106854236,3106854237,GB
+3106854238,3106854399,NL
3106854400,3106854911,CH
3106854912,3106855935,IR
3106855936,3106856959,UA
@@ -96580,8 +99108,11 @@
3106926592,3106927615,FR
3106927616,3106928639,ES
3106928640,3106929663,NO
+3106929664,3106930303,RO
3106930304,3106930319,US
+3106930320,3106930335,RO
3106930336,3106930351,CA
+3106930352,3106930687,RO
3106930688,3106931711,DE
3106931712,3106932735,AT
3106932736,3106933759,PL
@@ -96596,34 +99127,7 @@
3106941952,3106943999,FR
3106944000,3106945023,IT
3106945024,3106946047,NL
-3106946048,3106946815,JE
-3106946816,3106946816,GB
-3106946817,3106946823,JE
-3106946824,3106946824,GB
-3106946825,3106946826,JE
-3106946827,3106946827,GB
-3106946828,3106946831,JE
-3106946832,3106946832,GB
-3106946833,3106946835,JE
-3106946836,3106946836,GB
-3106946837,3106946838,JE
-3106946839,3106946841,GB
-3106946842,3106946845,JE
-3106946846,3106946846,GB
-3106946847,3106946851,JE
-3106946852,3106946852,GB
-3106946853,3106946854,JE
-3106946855,3106946855,GB
-3106946856,3106946861,JE
-3106946862,3106946862,GB
-3106946863,3106946864,JE
-3106946865,3106946866,GB
-3106946867,3106946871,JE
-3106946872,3106946872,GB
-3106946873,3106946873,JE
-3106946874,3106946875,GB
-3106946876,3106946878,JE
-3106946879,3106947071,GB
+3106946048,3106947071,JE
3106947072,3106948095,AE
3106948096,3106949119,NL
3106949120,3106950143,RU
@@ -96685,8 +99189,7 @@
3107013632,3107014655,DE
3107014656,3107015679,GB
3107015680,3107016703,DE
-3107016704,3107017215,GB
-3107017216,3107017727,NL
+3107016704,3107017727,GB
3107017728,3107018751,IR
3107018752,3107019775,BG
3107019776,3107020799,GB
@@ -96725,7 +99228,7 @@
3107053568,3107054591,ES
3107054592,3107057663,GB
3107057664,3107058687,RU
-3107058688,3107059711,FR
+3107058688,3107059711,LU
3107059712,3107060735,IT
3107060736,3107061759,DK
3107061760,3107062783,ES
@@ -96901,9 +99404,12 @@
3107224576,3107225599,FR
3107225600,3107226623,AZ
3107226624,3107227647,RU
-3107227648,3107228671,US
+3107227648,3107228159,IS
+3107228160,3107228415,IM
+3107228416,3107228671,KG
3107228672,3107229695,RU
-3107229696,3107231743,GB
+3107229696,3107230719,GB
+3107230720,3107231743,US
3107231744,3107232767,RU
3107232768,3107233023,GB
3107233024,3107233279,SE
@@ -96954,7 +99460,9 @@
3107277824,3107278847,UA
3107278848,3107279871,FR
3107279872,3107280895,FI
-3107280896,3107281919,EE
+3107280896,3107281151,NL
+3107281152,3107281663,EE
+3107281664,3107281919,IS
3107281920,3107282943,GB
3107282944,3107283967,PL
3107283968,3107284991,AL
@@ -97034,7 +99542,7 @@
3107357696,3107358719,SY
3107358720,3107359743,RU
3107359744,3107360767,NL
-3107360768,3107361791,AT
+3107360768,3107361791,SA
3107361792,3107362815,DE
3107362816,3107363839,IT
3107363840,3107364863,IQ
@@ -97445,7 +99953,7 @@
3107733504,3107734527,BG
3107734528,3107735551,HU
3107735552,3107737599,DE
-3107737600,3107738623,GB
+3107737600,3107738623,NL
3107738624,3107738879,DE
3107738880,3107739135,DK
3107739136,3107739391,RO
@@ -97531,7 +100039,7 @@
3107820544,3107821311,LV
3107821312,3107821567,SE
3107821568,3107822591,GB
-3107822592,3107823615,UA
+3107822592,3107823615,US
3107823616,3107824639,FR
3107824640,3107825663,GB
3107825664,3107826687,IT
@@ -97631,8 +100139,8 @@
3107929088,3107930111,RU
3107930112,3107931135,CH
3107931136,3107932159,NL
-3107932160,3107932671,SE
-3107932672,3107934207,MT
+3107932160,3107932415,SE
+3107932416,3107934207,MT
3107934208,3107935231,GB
3107935232,3107936255,PL
3107936256,3107937279,IT
@@ -97642,7 +100150,9 @@
3107940352,3107941375,CZ
3107941376,3107942399,PL
3107942400,3107943423,RU
-3107943424,3107944447,NL
+3107943424,3107943679,NL
+3107943680,3107943935,GB
+3107943936,3107944447,NL
3107944448,3107945471,FR
3107945472,3107947519,DE
3107947520,3107948543,IT
@@ -97760,7 +100270,8 @@
3108057088,3108058111,LT
3108058112,3108059135,NL
3108059136,3108060159,FR
-3108060160,3108061183,CH
+3108060160,3108060671,CH
+3108060672,3108061183,IT
3108061184,3108062207,ES
3108062208,3108063231,TR
3108063232,3108064255,BE
@@ -97895,8 +100406,8 @@
3108191232,3108193279,NL
3108193280,3108194303,PL
3108194304,3108195327,FR
-3108195328,3108195839,ES
-3108195840,3108196351,NO
+3108195328,3108195328,ES
+3108195329,3108196351,NO
3108196352,3108197375,FI
3108197376,3108198399,IS
3108198400,3108199423,FR
@@ -98042,8 +100553,9 @@
3108336640,3108337151,GB
3108337152,3108337407,ES
3108337408,3108337663,GB
-3108337664,3108338687,IR
+3108337664,3108338687,AU
3108338688,3108339711,RU
+3108339712,3108340735,US
3108340736,3108341759,RU
3108341760,3108342783,CH
3108342784,3108343807,FI
@@ -98065,7 +100577,7 @@
3108359168,3108360191,NL
3108360192,3108361215,SA
3108361216,3108362239,IE
-3108362240,3108363263,FR
+3108362240,3108363263,LU
3108363264,3108364287,RU
3108364288,3108365311,LU
3108365312,3108366335,FR
@@ -98292,7 +100804,7 @@
3108593664,3108594687,ES
3108594688,3108597759,CZ
3108597760,3108598015,NL
-3108598016,3108598271,IR
+3108598016,3108598271,US
3108598272,3108598527,GB
3108598528,3108598783,IR
3108598784,3108600831,CH
@@ -98308,7 +100820,7 @@
3108611072,3108612095,IT
3108612096,3108615167,ES
3108615168,3108615679,BR
-3108615680,3108616191,RU
+3108615680,3108616191,MX
3108616192,3108617215,GB
3108617216,3108618239,ES
3108618240,3108619263,RU
@@ -98320,7 +100832,8 @@
3108623616,3108623871,GB
3108623872,3108624383,RU
3108624384,3108625407,BR
-3108625408,3108626431,NL
+3108625408,3108626175,NL
+3108626176,3108626431,US
3108626432,3108627455,CZ
3108627456,3108628479,PL
3108628480,3108629503,FR
@@ -98334,7 +100847,7 @@
3108636672,3108637695,FR
3108637696,3108638719,DE
3108638720,3108639743,ES
-3108639744,3108640767,HU
+3108639744,3108640767,TR
3108640768,3108641791,GB
3108641792,3108642815,CH
3108642816,3108643839,FR
@@ -98416,7 +100929,7 @@
3108730880,3108731903,GB
3108731904,3108732927,FR
3108732928,3108733951,FI
-3108733952,3108734975,RU
+3108733952,3108734975,MX
3108734976,3108735999,CZ
3108736000,3108737023,FR
3108737024,3108738047,IE
@@ -98470,9 +100983,7 @@
3108783104,3108784127,UA
3108784128,3108785151,NL
3108785152,3108786175,ES
-3108786176,3108786687,RU
-3108786688,3108786943,UA
-3108786944,3108787199,RU
+3108786176,3108787199,RU
3108787200,3108788223,NO
3108788224,3108789247,NL
3108789248,3108790271,GB
@@ -98511,7 +101022,7 @@
3108824832,3108825087,IE
3108825088,3108826111,RU
3108826112,3108827135,NL
-3108827136,3108828159,RU
+3108827136,3108828159,MX
3108828160,3108829183,MT
3108829184,3108830207,IR
3108830208,3108831231,RU
@@ -98578,7 +101089,7 @@
3108883456,3108884479,RU
3108884480,3108885503,NL
3108885504,3108886527,BE
-3108886528,3108888575,LV
+3108886528,3108888575,US
3108888576,3108889599,VA
3108889600,3108893695,RU
3108893696,3108894719,FI
@@ -98760,8 +101271,7 @@
3109055488,3109056511,IL
3109056512,3109058559,GB
3109058560,3109059583,DE
-3109059584,3109059839,LU
-3109059840,3109060095,DE
+3109059584,3109060095,LU
3109060096,3109060351,CY
3109060352,3109060607,RO
3109060608,3109061631,LT
@@ -98831,28 +101341,31 @@
3109124096,3109126143,ES
3109126144,3109127167,LV
3109127168,3109128191,ES
-3109128192,3109128215,GB
+3109128192,3109128207,NL
+3109128208,3109128215,GB
3109128216,3109128223,AT
3109128224,3109128231,DK
3109128232,3109128239,SE
-3109128240,3109128447,GB
-3109128448,3109128463,NL
+3109128240,3109128319,NL
+3109128320,3109128383,GB
+3109128384,3109128463,NL
3109128464,3109128471,DK
3109128472,3109128479,SE
3109128480,3109128487,IE
3109128488,3109128495,DK
3109128496,3109128503,SE
3109128504,3109128511,IE
-3109128512,3109128719,NL
-3109128720,3109128727,GB
+3109128512,3109128703,NL
+3109128704,3109128727,GB
3109128728,3109128735,AT
3109128736,3109128743,DK
3109128744,3109128751,SE
3109128752,3109128759,IE
3109128760,3109128760,IT
-3109128761,3109128831,NL
+3109128761,3109128831,GB
3109128832,3109128895,BE
-3109128896,3109128975,NL
+3109128896,3109128959,GB
+3109128960,3109128975,NL
3109128976,3109128983,DK
3109128984,3109128991,SE
3109128992,3109128999,IT
@@ -98868,10 +101381,10 @@
3109134336,3109135359,GB
3109135360,3109136383,LT
3109136384,3109137407,GB
-3109137408,3109138431,RU
+3109137408,3109138431,MX
3109138432,3109139455,GB
3109139456,3109140479,ES
-3109140480,3109141503,RU
+3109140480,3109141503,MX
3109141504,3109143551,GB
3109143552,3109144575,GR
3109144576,3109145599,FR
@@ -98905,7 +101418,7 @@
3109174272,3109175295,GB
3109175296,3109176319,IR
3109176320,3109177343,IL
-3109177344,3109178367,IE
+3109177600,3109177855,IE
3109178368,3109179391,GB
3109179392,3109180415,ES
3109180416,3109181439,DE
@@ -98914,8 +101427,8 @@
3109183488,3109184255,LB
3109184256,3109184511,GB
3109184512,3109185535,CH
-3109185536,3109187071,RS
-3109187072,3109187327,XK
+3109185536,3109186559,RS
+3109186560,3109187327,XK
3109187328,3109187583,RS
3109187584,3109188607,IT
3109188608,3109189631,SA
@@ -99258,7 +101771,8 @@
3109543936,3109544959,DE
3109544960,3109545983,FR
3109545984,3109547007,PL
-3109547008,3109548031,AT
+3109547008,3109547263,EE
+3109547264,3109548031,AT
3109548032,3109549055,IT
3109549056,3109550079,FI
3109550080,3109551103,NL
@@ -99274,7 +101788,9 @@
3109558272,3109559295,IQ
3109559296,3109560319,RO
3109560320,3109561343,KG
-3109561344,3109562367,RU
+3109561344,3109561599,PK
+3109561600,3109561855,IL
+3109561856,3109562367,MX
3109562368,3109563391,NO
3109563392,3109564415,GB
3109564416,3109565439,IR
@@ -99360,7 +101876,7 @@
3109643520,3109643775,RU
3109643776,3109644031,UA
3109644032,3109644287,ES
-3109644288,3109646335,RU
+3109644288,3109646335,MX
3109646336,3109647359,IR
3109647360,3109648383,CZ
3109648384,3109649407,GB
@@ -99387,10 +101903,9 @@
3109670912,3109671935,DE
3109671936,3109672959,HR
3109672960,3109673215,US
-3109673216,3109673376,GB
-3109673377,3109673377,SE
-3109673378,3109673469,GB
-3109673470,3109673471,NL
+3109673216,3109673459,GB
+3109673460,3109673461,NO
+3109673462,3109673471,GB
3109673472,3109673695,ID
3109673696,3109673727,GB
3109673728,3109673983,AU
@@ -99512,7 +102027,7 @@
3109790720,3109792767,CZ
3109792768,3109795839,RU
3109795840,3109796863,HU
-3109796864,3109797887,IT
+3109796864,3109797887,DE
3109797888,3109798911,ES
3109798912,3109799935,DE
3109799936,3109800959,SK
@@ -99524,7 +102039,7 @@
3109807104,3109808127,ES
3109808128,3109808383,RE
3109808384,3109808639,GP
-3109808640,3109809151,MQ
+3109808640,3109809151,RE
3109809152,3109810175,GB
3109810176,3109811199,IT
3109811200,3109812223,DE
@@ -99567,7 +102082,7 @@
3109845504,3109845759,GB
3109845760,3109846015,DE
3109846016,3109847039,CH
-3109847040,3109848063,AE
+3109847040,3109848063,IE
3109848064,3109849087,BG
3109849088,3109849856,RU
3109849857,3109850111,UA
@@ -99674,8 +102189,7 @@
3109937152,3109938175,ES
3109938176,3109938431,GB
3109938432,3109938687,US
-3109938688,3109938943,GB
-3109938944,3109939199,AU
+3109938688,3109939199,AU
3109939200,3109940223,ES
3109940224,3109941247,DE
3109941248,3109942271,PL
@@ -99801,7 +102315,8 @@
3110032384,3110033407,TR
3110033408,3110035455,SE
3110035456,3110036479,DE
-3110036480,3110038527,RU
+3110036480,3110037503,MX
+3110037504,3110038527,RU
3110038528,3110039551,GB
3110039552,3110040575,DE
3110040576,3110041599,CZ
@@ -99823,7 +102338,10 @@
3110060032,3110061055,DE
3110061056,3110062079,PL
3110062080,3110063103,US
-3110063104,3110064127,IQ
+3110063104,3110063871,IQ
+3110063872,3110064031,IT
+3110064032,3110064063,IQ
+3110064064,3110064127,IT
3110064128,3110065151,AT
3110065152,3110066175,DE
3110066176,3110067199,CH
@@ -99845,7 +102363,7 @@
3110083584,3110084607,UA
3110084608,3110085631,GR
3110085632,3110086143,BR
-3110086144,3110086655,RU
+3110086144,3110086655,MX
3110086656,3110087679,NO
3110087680,3110088703,NL
3110088704,3110089727,GB
@@ -99855,7 +102373,8 @@
3110093824,3110094847,JO
3110094848,3110095871,NO
3110095872,3110096895,CH
-3110096896,3110098943,RU
+3110096896,3110097919,MX
+3110097920,3110098943,RU
3110098944,3110099967,DK
3110099968,3110100991,GB
3110100992,3110102015,IT
@@ -99900,7 +102419,7 @@
3110138880,3110139903,GB
3110139904,3110140927,SE
3110140928,3110141951,BG
-3110141952,3110142975,RU
+3110141952,3110142975,MX
3110142976,3110143999,DE
3110144000,3110145023,TR
3110145024,3110146047,IT
@@ -99919,7 +102438,7 @@
3110158336,3110159359,PS
3110159360,3110160383,SI
3110160384,3110161407,BG
-3110161408,3110162431,RU
+3110161408,3110162431,FR
3110162432,3110163455,IE
3110163456,3110164479,NO
3110164480,3110165503,GB
@@ -99938,7 +102457,7 @@
3110175744,3110176767,PS
3110176768,3110177791,CH
3110177792,3110178815,FR
-3110178816,3110179839,DE
+3110178816,3110179839,US
3110179840,3110180095,EE
3110180096,3110180351,LT
3110180352,3110180607,EE
@@ -99980,7 +102499,7 @@
3110216704,3110217215,DK
3110217216,3110217471,DE
3110217472,3110217727,DK
-3110217728,3110218751,RU
+3110217728,3110218751,FR
3110218752,3110219775,GB
3110219776,3110220799,DE
3110220800,3110221823,NL
@@ -100034,7 +102553,8 @@
3110278144,3110279167,TR
3110279168,3110279679,GB
3110279680,3110279695,ES
-3110279696,3110279967,GB
+3110279696,3110279743,NL
+3110279744,3110279967,GB
3110279968,3110279983,DE
3110279984,3110280191,GB
3110280192,3110281215,RU
@@ -100050,9 +102570,7 @@
3110292480,3110293503,GB
3110293504,3110294527,AT
3110294528,3110295551,GB
-3110295552,3110296063,RO
-3110296064,3110296319,ES
-3110296320,3110296575,RO
+3110295552,3110296575,RO
3110296576,3110297599,GE
3110297600,3110298111,NL
3110298112,3110298623,FR
@@ -100084,7 +102602,6 @@
3110320128,3110321151,ES
3110321152,3110322175,SE
3110322176,3110323199,PL
-3110323200,3110324223,IT
3110324224,3110325247,US
3110325248,3110326271,NL
3110326272,3110327295,DE
@@ -100165,9 +102682,7 @@
3110393600,3110393855,IE
3110393856,3110394879,LB
3110394880,3110395391,GB
-3110395392,3110395647,RU
-3110395648,3110395648,SA
-3110395649,3110395903,RU
+3110395392,3110395903,SA
3110395904,3110396927,KZ
3110396928,3110397951,PL
3110397952,3110398975,NL
@@ -100226,7 +102741,8 @@
3110452224,3110453247,PL
3110453248,3110454271,GB
3110454272,3110455295,NL
-3110455296,3110457343,RU
+3110455296,3110456319,FR
+3110456320,3110457343,RU
3110457344,3110458367,FR
3110458368,3110459391,IT
3110459392,3110459647,EE
@@ -100236,8 +102752,7 @@
3110460416,3110461439,CZ
3110462464,3110463487,IR
3110463488,3110464511,PL
-3110464512,3110465279,IQ
-3110465280,3110465535,IT
+3110464512,3110465535,IQ
3110465536,3110466559,IE
3110466560,3110467583,NL
3110467584,3110468607,DE
@@ -100268,8 +102783,7 @@
3110495232,3110496255,SE
3110496256,3110497279,DE
3110497280,3110498303,NO
-3110498304,3110498815,RU
-3110498816,3110499327,BR
+3110498304,3110499327,BR
3110499328,3110500351,KZ
3110500352,3110501375,RU
3110501376,3110502399,RS
@@ -100283,7 +102797,8 @@
3110509568,3110510591,RO
3110510592,3110511615,FR
3110511616,3110512639,UA
-3110512640,3110514687,ES
+3110512640,3110513663,ES
+3110513664,3110514687,NL
3110514688,3110515711,FR
3110515712,3110516735,RU
3110516736,3110517759,UA
@@ -100319,8 +102834,7 @@
3110548224,3110548479,DE
3110548480,3110549503,IT
3110549504,3110550527,NL
-3110550528,3110551551,RU
-3110551552,3110552575,FR
+3110550528,3110552575,FR
3110552576,3110553599,RU
3110553600,3110554623,DE
3110554624,3110555647,NL
@@ -100396,7 +102910,7 @@
3110626304,3110627327,NL
3110627328,3110628351,RU
3110628352,3110629375,LU
-3110629376,3110630399,RU
+3110629376,3110630399,UA
3110630400,3110631423,IT
3110631424,3110632447,GB
3110632448,3110633471,IT
@@ -100406,7 +102920,7 @@
3110635520,3110636543,SE
3110636544,3110637567,DE
3110637568,3110638591,GR
-3110638592,3110639615,RU
+3110638592,3110639615,FR
3110639616,3110640639,ES
3110640640,3110641663,IQ
3110641664,3110642687,DE
@@ -100476,7 +102990,8 @@
3110705152,3110706175,FR
3110706176,3110707199,BE
3110707200,3110708223,NL
-3110708224,3110709247,GB
+3110708224,3110708479,IE
+3110708480,3110709247,GB
3110709248,3110710271,RU
3110710272,3110711295,CY
3110711296,3110712319,IL
@@ -100729,7 +103244,9 @@
3110986752,3110987775,GB
3110987776,3110988799,NL
3110988800,3110989055,CN
-3110989056,3110989823,DE
+3110989056,3110989311,DE
+3110989312,3110989567,SG
+3110989568,3110989823,IT
3110989824,3110990335,CA
3110990336,3110990847,CH
3110990848,3110992895,IR
@@ -100814,7 +103331,7 @@
3111074816,3111075839,DE
3111075840,3111076863,IR
3111076864,3111077887,DE
-3111077888,3111078911,NL
+3111077888,3111078911,GB
3111078912,3111079935,IT
3111079936,3111080959,IR
3111080960,3111081983,RU
@@ -100835,7 +103352,7 @@
3111096320,3111097343,AT
3111097344,3111098367,ES
3111098368,3111099391,SE
-3111099392,3111100415,CH
+3111099392,3111100415,SK
3111100416,3111101439,LB
3111101440,3111102463,RU
3111102464,3111103487,DE
@@ -100874,8 +103391,7 @@
3111135232,3111136255,PL
3111136256,3111137279,NL
3111137280,3111139327,CH
-3111139328,3111139839,RU
-3111139840,3111140351,BR
+3111139328,3111140351,BR
3111140352,3111141375,IT
3111141376,3111142399,NL
3111142400,3111143423,DE
@@ -100909,7 +103425,7 @@
3111168000,3111169023,IR
3111169024,3111170047,UA
3111170048,3111171071,DE
-3111171072,3111172095,PL
+3111171072,3111171583,PL
3111172096,3111173119,RO
3111173120,3111174143,IQ
3111174144,3111175167,AZ
@@ -100951,7 +103467,7 @@
3111214080,3111215103,GB
3111215104,3111216127,SE
3111216128,3111217151,AT
-3111217152,3111218175,IR
+3111217152,3111218175,IQ
3111218176,3111219199,RU
3111219200,3111220223,IR
3111220224,3111221247,RU
@@ -101034,7 +103550,7 @@
3111290880,3111291903,UA
3111291904,3111292927,DE
3111292928,3111293951,SI
-3111293952,3111294975,CY
+3111293952,3111294975,DE
3111294976,3111295999,US
3111296000,3111297023,NL
3111297024,3111298047,IE
@@ -101194,7 +103710,9 @@
3111447776,3111447807,AT
3111447808,3111448063,GB
3111448064,3111448319,BG
-3111448320,3111448575,GB
+3111448320,3111448447,US
+3111448448,3111448455,GB
+3111448456,3111448575,US
3111448576,3111448960,NO
3111448961,3111449502,BE
3111449503,3111449599,NO
@@ -101289,7 +103807,7 @@
3111548928,3111549951,SA
3111549952,3111550975,NL
3111550976,3111551999,IQ
-3111552000,3111553023,NL
+3111552000,3111553023,US
3111553024,3111554047,IR
3111554048,3111555071,TR
3111555072,3111556095,DE
@@ -101469,7 +103987,9 @@
3111741440,3111743487,UA
3111743488,3111744511,NL
3111744512,3111745535,UA
-3111745536,3111746559,MD
+3111745536,3111746047,MD
+3111746048,3111746303,RS
+3111746304,3111746559,MD
3111746560,3111747583,TR
3111747584,3111748607,IR
3111748608,3111750655,GB
@@ -101550,9 +104070,9 @@
3111823104,3111823359,GB
3111823360,3111824383,NL
3111824384,3111825407,PL
-3111825408,3111825919,GB
+3111825408,3111825919,SA
3111825920,3111826175,LT
-3111826176,3111826431,RU
+3111826176,3111826431,SA
3111826432,3111827455,DE
3111827456,3111828479,ES
3111828480,3111829503,DK
@@ -101592,7 +104112,65 @@
3111866368,3111867391,GB
3111867392,3111868415,FR
3111868416,3111869439,DE
-3111869440,3111870463,NO
+3111869440,3111869440,NO
+3111869441,3111869470,IN
+3111869471,3111869472,NO
+3111869473,3111869502,FI
+3111869503,3111869504,NO
+3111869505,3111869534,IE
+3111869535,3111869536,NO
+3111869537,3111869566,IL
+3111869567,3111869568,NO
+3111869569,3111869598,JP
+3111869599,3111869632,NO
+3111869633,3111869662,PT
+3111869663,3111869664,NO
+3111869665,3111869694,RU
+3111869695,3111869696,NO
+3111869697,3111869726,FI
+3111869727,3111869728,NO
+3111869729,3111869758,IE
+3111869759,3111869760,NO
+3111869761,3111869790,IL
+3111869791,3111869792,NO
+3111869793,3111869822,JP
+3111869823,3111869856,NO
+3111869857,3111869886,PT
+3111869887,3111869888,NO
+3111869889,3111869918,RU
+3111869919,3111869919,NO
+3111869920,3111869935,NZ
+3111869936,3111869951,BR
+3111869952,3111869952,NO
+3111869953,3111869982,FI
+3111869983,3111869984,NO
+3111869985,3111870014,IE
+3111870015,3111870016,NO
+3111870017,3111870046,IL
+3111870047,3111870048,NO
+3111870049,3111870078,JP
+3111870079,3111870112,NO
+3111870113,3111870142,PT
+3111870143,3111870144,NO
+3111870145,3111870174,RU
+3111870175,3111870175,NO
+3111870176,3111870191,NZ
+3111870192,3111870207,BR
+3111870208,3111870208,NO
+3111870209,3111870238,FI
+3111870239,3111870240,NO
+3111870241,3111870270,IE
+3111870271,3111870272,NO
+3111870273,3111870302,JP
+3111870303,3111870336,NO
+3111870337,3111870366,PT
+3111870367,3111870368,NO
+3111870369,3111870398,RU
+3111870399,3111870399,NO
+3111870400,3111870415,BR
+3111870416,3111870431,BE
+3111870432,3111870447,NZ
+3111870448,3111870463,NO
3111870464,3111871487,GB
3111871488,3111873535,TR
3111873536,3111874559,AT
@@ -101655,7 +104233,7 @@
3111944192,3111945215,PL
3111945216,3111946239,CH
3111946240,3111948287,ES
-3111948288,3111949311,AT
+3111948288,3111949311,DE
3111949312,3111950335,IQ
3111950336,3111951359,RU
3111951360,3111952383,IR
@@ -101690,7 +104268,7 @@
3111983104,3111984127,UA
3111984128,3111985151,ES
3111985152,3111986175,TR
-3111986176,3111987199,RU
+3111986176,3111987199,DE
3111987200,3111988223,NL
3111988224,3111989247,KZ
3111989248,3111990015,RU
@@ -101736,7 +104314,7 @@
3112031232,3112032255,CH
3112032256,3112033279,RU
3112033280,3112034303,DK
-3112034304,3112034305,DE
+3112034304,3112034305,FR
3112034306,3112034306,GB
3112034307,3112034307,PL
3112034308,3112034308,FR
@@ -101867,12 +104445,12 @@
3112071168,3112072191,UA
3112072192,3112073215,RO
3112073216,3112074239,NL
-3112074240,3112075263,IR
+3112074240,3112075263,UA
3112075264,3112076287,RU
3112076288,3112077311,IR
3112077312,3112078335,GB
3112078336,3112079359,IT
-3112079360,3112080383,IR
+3112079360,3112080383,UA
3112080384,3112081407,GB
3112081408,3112082431,DK
3112082432,3112083455,IR
@@ -101931,8 +104509,7 @@
3112139776,3112140799,LB
3112140800,3112141569,ES
3112141570,3112141570,FR
-3112141571,3112141571,DE
-3112141572,3112141823,ES
+3112141571,3112141823,ES
3112141824,3112142847,IT
3112142848,3112143871,NL
3112143872,3112144895,GB
@@ -101943,11 +104520,12 @@
3112150016,3112151039,RU
3112151040,3112152063,NO
3112152064,3112153087,CH
-3112153088,3112154111,IR
+3112153088,3112154111,AU
3112154112,3112155135,LB
3112155136,3112156159,NL
3112156160,3112157183,LB
3112158208,3112159231,IT
+3112159232,3112160255,DE
3112160256,3112161279,CH
3112161280,3112162303,DE
3112162304,3112163327,IT
@@ -101967,10 +104545,14 @@
3112176640,3112177663,ES
3112177664,3112178687,FI
3112178688,3112179711,PL
-3112179712,3112179967,SG
+3112179712,3112179911,SG
+3112179912,3112179919,BN
+3112179920,3112179967,SG
3112179968,3112180223,FR
3112180224,3112180479,HU
-3112180480,3112181759,IT
+3112180480,3112180661,IT
+3112180662,3112180662,RO
+3112180663,3112181759,IT
3112181760,3112182783,NL
3112182784,3112183807,IQ
3112183808,3112184831,CH
@@ -102009,7 +104591,8 @@
3112217600,3112218623,CH
3112218624,3112219647,GB
3112219648,3112220671,SY
-3112220672,3112221695,NL
+3112220672,3112220927,GB
+3112220928,3112221695,NL
3112221696,3112222719,DE
3112222720,3112223743,ES
3112223744,3112224767,RU
@@ -102051,7 +104634,8 @@
3112262656,3112263679,AZ
3112263680,3112265727,RU
3112265728,3112266751,ES
-3112266752,3112267775,IR
+3112266752,3112267007,IR
+3112267008,3112267775,UA
3112267776,3112268799,PL
3112268800,3112269823,IR
3112269824,3112270847,RS
@@ -102059,7 +104643,7 @@
3112271872,3112272895,UA
3112272896,3112273919,IE
3112273920,3112274943,CZ
-3112274944,3112275967,IR
+3112274944,3112275967,UA
3112275968,3112276991,RU
3112276992,3112278015,LV
3112278016,3112279039,FI
@@ -102093,8 +104677,11 @@
3112310784,3112312831,ES
3112312832,3112313855,DE
3112313856,3112315903,GB
-3112315904,3112316927,PL
-3112316928,3112317951,IQ
+3112315904,3112316159,SE
+3112316160,3112316927,PL
+3112316928,3112316929,IQ
+3112316930,3112316930,IT
+3112316931,3112317951,IQ
3112317952,3112318975,UA
3112318976,3112319999,TR
3112321024,3112322047,FI
@@ -102234,12 +104821,14 @@
3112474624,3112475647,GB
3112475648,3112476671,IL
3112476672,3112477695,ME
-3112477696,3112479743,AE
+3112477696,3112478719,ES
+3112478720,3112479743,IT
3112479744,3112480767,RO
3112480768,3112482815,NL
-3112482816,3112485887,AE
+3112482816,3112484863,AE
+3112484864,3112485887,ES
3112485888,3112486911,RU
-3112486912,3112487935,AE
+3112486912,3112487935,AD
3112487936,3112488959,KW
3112488960,3112489983,DE
3112489984,3112491007,IR
@@ -102286,7 +104875,9 @@
3112532992,3112534015,KW
3112534016,3112535039,FR
3112535040,3112536063,HR
-3112536064,3112537087,ES
+3112536064,3112536319,ES
+3112536320,3112536575,PT
+3112536576,3112537087,ES
3112537088,3112538111,NO
3112538112,3112539135,CZ
3112539136,3112540159,NL
@@ -102416,7 +105007,7 @@
3112665088,3112666111,GB
3112666112,3112666623,FR
3112666624,3112667135,NO
-3112667136,3112668159,DE
+3112667136,3112668159,US
3112668160,3112669183,UA
3112669184,3112670207,CZ
3112670208,3112671231,RU
@@ -102426,7 +105017,8 @@
3112674304,3112676351,GB
3112676352,3112677375,RU
3112677376,3112678399,FR
-3112678400,3112679423,UA
+3112678400,3112679167,UA
+3112679168,3112679423,RU
3112679424,3112680447,NO
3112680448,3112681471,IQ
3112681472,3112682495,PL
@@ -102450,13 +105042,13 @@
3112702976,3112703231,SE
3112703232,3112703487,FI
3112703488,3112703743,DK
-3112703744,3112703999,SE
+3112703744,3112703999,NO
3112704000,3112705023,DE
3112705024,3112706047,ES
3112706048,3112707071,RU
3112707072,3112708095,FI
3112708096,3112709119,FR
-3112709120,3112710143,DK
+3112709120,3112710143,IL
3112710144,3112711167,NO
3112711168,3112712191,PT
3112712192,3112713215,TR
@@ -102486,7 +105078,11 @@
3112734720,3112735743,SY
3112735744,3112736767,IQ
3112736768,3112737791,PL
-3112737792,3112741887,DE
+3112737792,3112737983,DE
+3112737984,3112737985,FR
+3112737986,3112740415,DE
+3112740416,3112740419,FR
+3112740420,3112741887,DE
3112741888,3112742911,IR
3112742912,3112743935,RO
3112743936,3112744959,IR
@@ -102507,9 +105103,12 @@
3112762368,3112763391,IE
3112763392,3112764415,GB
3112764416,3112765439,NO
-3112765440,3112766463,GB
+3112765440,3112765695,GB
+3112765696,3112765951,SG
+3112765952,3112766463,GB
3112766464,3112767487,DE
3112767744,3112767871,NL
+3112767872,3112767999,UA
3112768000,3112768018,NL
3112768019,3112768019,RU
3112768020,3112768511,NL
@@ -102605,9 +105204,7 @@
3112856576,3112857599,CZ
3112857600,3112858623,IE
3112858624,3112859647,FR
-3112859648,3112860159,IQ
-3112860160,3112860415,US
-3112860416,3112860671,IQ
+3112859648,3112860671,IQ
3112860672,3112861695,AT
3112861696,3112862719,RU
3112862720,3112863743,PS
@@ -102624,7 +105221,8 @@
3112876032,3112877055,KG
3112877056,3112878079,CZ
3112878080,3112880127,GB
-3112880128,3112882175,RU
+3112880128,3112881151,UA
+3112881152,3112882175,RU
3112882176,3112883199,NL
3112883200,3112884223,RU
3112884224,3112885247,IT
@@ -102721,7 +105319,9 @@
3112971264,3112972287,FR
3112972288,3112973311,US
3112973312,3112973567,SE
-3112973568,3112973823,DE
+3112973568,3112973727,DE
+3112973728,3112973728,LI
+3112973729,3112973823,DE
3112973824,3112974079,UA
3112974080,3112974083,HU
3112974084,3112974087,AT
@@ -102777,7 +105377,8 @@
3113020416,3113021439,CZ
3113021440,3113022463,IR
3113022464,3113023487,CZ
-3113023488,3113024511,SA
+3113023488,3113023743,AE
+3113023744,3113024511,SA
3113024512,3113025535,DE
3113025536,3113026559,CH
3113026560,3113027583,FR
@@ -102790,7 +105391,7 @@
3113032704,3113033727,SE
3113033728,3113034751,TR
3113034752,3113035775,IR
-3113035776,3113036799,RU
+3113035776,3113036799,UA
3113036800,3113037823,ES
3113037824,3113038847,IR
3113038848,3113039871,LV
@@ -102809,7 +105410,8 @@
3113052160,3113053183,IR
3113053184,3113054207,TR
3113054208,3113055231,SE
-3113055232,3113056255,FR
+3113055232,3113055999,FR
+3113056000,3113056255,LU
3113056256,3113057279,DE
3113057280,3113058303,RU
3113058304,3113059327,FR
@@ -102937,7 +105539,9 @@
3113176064,3113177087,GB
3113177088,3113178111,BG
3113178112,3113179135,GB
-3113179136,3113180159,RU
+3113179136,3113179391,NL
+3113179392,3113179647,RU
+3113179648,3113180159,NL
3113180160,3113182207,ES
3113182208,3113183231,US
3113183232,3113184255,NL
@@ -103006,7 +105610,8 @@
3113236480,3113237503,NL
3113237504,3113238527,RU
3113238528,3113239551,IR
-3113239552,3113240575,US
+3113239552,3113240319,US
+3113240320,3113240575,GB
3113240576,3113241599,IT
3113241600,3113242623,TR
3113242624,3113243647,RO
@@ -103018,7 +105623,9 @@
3113246976,3113247231,RU
3113247232,3113247487,CZ
3113247488,3113247743,RU
-3113247744,3113248767,GB
+3113247744,3113247999,GB
+3113248000,3113248255,US
+3113248256,3113248767,DE
3113248768,3113249791,NL
3113249792,3113250815,GB
3113250816,3113251839,FR
@@ -103095,7 +105702,7 @@
3113309184,3113310207,IT
3113310208,3113311231,GB
3113311232,3113312255,SE
-3113312256,3113313279,BG
+3113312256,3113313279,NL
3113313280,3113314303,IT
3113314304,3113315327,UA
3113315328,3113316351,CH
@@ -103146,7 +105753,7 @@
3113358336,3113359359,CZ
3113359360,3113360383,FR
3113360384,3113361407,BG
-3113361408,3113362431,US
+3113361408,3113362431,CA
3113362432,3113363455,DE
3113363456,3113364479,FR
3113364480,3113365503,GB
@@ -103177,9 +105784,7 @@
3113391104,3113392127,CZ
3113392128,3113393151,GB
3113393152,3113394175,RU
-3113394176,3113394687,IT
-3113394688,3113394943,JE
-3113394944,3113395199,IT
+3113394176,3113395199,IT
3113395200,3113396223,TR
3113396224,3113397247,RU
3113397248,3113398271,SE
@@ -103257,7 +105862,7 @@
3113465856,3113466879,GB
3113466880,3113467903,CH
3113467904,3113468927,RU
-3113468928,3113469951,TR
+3113468928,3113469951,UA
3113469952,3113470975,ME
3113470976,3113471999,FR
3113472000,3113473023,GB
@@ -103265,7 +105870,9 @@
3113473280,3113473535,SE
3113473536,3113473791,ES
3113473792,3113475071,DE
-3113475072,3113476607,FR
+3113475072,3113476095,FR
+3113476096,3113476351,YT
+3113476352,3113476607,FR
3113476608,3113477119,RE
3113477120,3113479167,FR
3113479168,3113480191,SE
@@ -103282,9 +105889,11 @@
3113490432,3113491455,RU
3113492480,3113493503,TR
3113493504,3113494527,RU
-3113494528,3113497599,NL
+3113494528,3113495551,NL
+3113495552,3113496575,US
+3113496576,3113497599,NL
3113497600,3113498623,ES
-3113498624,3113499647,TR
+3113498624,3113499647,UA
3113499648,3113500671,BG
3113500672,3113501695,PL
3113501696,3113502719,DE
@@ -103432,7 +106041,8 @@
3113649152,3113650175,PL
3113650176,3113651199,GB
3113651200,3113652223,SY
-3113652224,3113653759,GB
+3113652224,3113653247,GB
+3113653248,3113653759,US
3113653760,3113653763,DE
3113653764,3113653767,FR
3113653768,3113653771,GB
@@ -103451,7 +106061,7 @@
3113653800,3113653801,IE
3113653802,3113653803,IS
3113653804,3113653805,FO
-3113653806,3113653887,GB
+3113653806,3113653887,US
3113653888,3113653889,DE
3113653890,3113653891,FR
3113653892,3113653893,GB
@@ -103470,7 +106080,7 @@
3113653908,3113653908,IE
3113653909,3113653909,IS
3113653910,3113653910,FO
-3113653911,3113654015,GB
+3113653911,3113654015,US
3113654016,3113654019,DE
3113654020,3113654023,FR
3113654024,3113654027,GB
@@ -103489,7 +106099,7 @@
3113654056,3113654057,IE
3113654058,3113654059,IS
3113654060,3113654061,FO
-3113654062,3113654271,GB
+3113654062,3113654271,US
3113654272,3113655295,RU
3113655296,3113656319,NL
3113656320,3113657343,FR
@@ -103528,7 +106138,9 @@
3113691136,3113692159,KZ
3113692160,3113693183,GB
3113693184,3113694207,DE
-3113694208,3113695231,GB
+3113694208,3113695227,FR
+3113695228,3113695228,GB
+3113695229,3113695231,FR
3113695232,3113695347,DE
3113695348,3113695351,GB
3113695352,3113695359,DE
@@ -103628,9 +106240,7 @@
3113777152,3113778175,PL
3113778176,3113779199,TR
3113779200,3113780223,GB
-3113780224,3113780479,RU
-3113780480,3113780735,SG
-3113780736,3113781247,RU
+3113780224,3113781247,RU
3113781248,3113782271,BY
3113782272,3113783295,IT
3113783296,3113784319,TR
@@ -103714,7 +106324,6 @@
3113861120,3113862143,CZ
3113862144,3113863167,MD
3113863168,3113863423,NL
-3113863424,3113864191,LT
3113864192,3113865215,GB
3113865216,3113866239,IR
3113866240,3113867263,LB
@@ -103844,7 +106453,8 @@
3113990144,3113991167,CH
3113991168,3113993215,DE
3113993216,3113994239,IT
-3113994240,3113995263,NL
+3113994240,3113995007,FR
+3113995008,3113995263,IT
3113995264,3113996287,ES
3113996288,3113997311,HR
3113997312,3113998335,NO
@@ -104120,7 +106730,7 @@
3114245376,3114245631,CH
3114245632,3114245887,IS
3114245888,3114246143,SE
-3114246144,3114247167,TR
+3114246144,3114247167,UA
3114248192,3114249215,CZ
3114249216,3114250239,RU
3114250240,3114251263,IR
@@ -104169,7 +106779,7 @@
3114285056,3114286079,NL
3114286080,3114287103,UA
3114287104,3114287359,AE
-3114287360,3114288127,UA
+3114287360,3114288127,US
3114289152,3114290175,NL
3114290176,3114291199,DE
3114291200,3114291455,ES
@@ -104468,9 +107078,7 @@
3114557440,3114558463,DE
3114558464,3114559487,ES
3114559488,3114560511,LB
-3114560512,3114560767,DE
-3114560768,3114561023,GB
-3114561024,3114561535,DE
+3114560512,3114561535,DE
3114561536,3114562559,TR
3114562560,3114563583,ES
3114563584,3114564607,GB
@@ -104508,7 +107116,9 @@
3114596352,3114597375,SY
3114597376,3114598399,IR
3114598400,3114600447,ES
-3114600448,3114603519,DE
+3114600448,3114601471,DE
+3114601472,3114602495,SA
+3114602496,3114603519,DE
3114603520,3114604543,TR
3114604544,3114605567,BG
3114605568,3114606591,IR
@@ -104552,9 +107162,9 @@
3114634240,3114635263,SK
3114635264,3114636287,FR
3114636288,3114637311,PL
-3114637312,3114637567,NL
-3114637568,3114637823,RU
-3114637824,3114639103,NL
+3114637312,3114638079,NL
+3114638080,3114638335,CA
+3114638336,3114639103,NL
3114639104,3114639359,PL
3114639360,3114640383,RU
3114640384,3114641407,ES
@@ -104588,7 +107198,8 @@
3114670080,3114671103,IQ
3114671104,3114672127,FI
3114672128,3114673151,SE
-3114673152,3114675199,GB
+3114673152,3114674175,ES
+3114674176,3114675199,GB
3114675200,3114676223,NO
3114676224,3114677247,NL
3114677248,3114678271,SK
@@ -104616,7 +107227,7 @@
3114697728,3114699775,HU
3114699776,3114700799,NL
3114700800,3114701055,ES
-3114701056,3114701823,UA
+3114701056,3114701823,US
3114701824,3114702847,SE
3114702848,3114703871,LV
3114703872,3114704895,GB
@@ -104637,14 +107248,17 @@
3114721280,3114722303,GB
3114722304,3114723327,HU
3114723328,3114724351,SE
-3114724352,3114725119,NL
+3114724352,3114724767,NL
+3114724768,3114724775,US
+3114724776,3114725119,NL
3114725120,3114725375,US
3114725376,3114726399,RU
3114726400,3114727423,SE
3114727424,3114728447,BE
3114728448,3114729471,GB
3114729472,3114730495,AU
-3114730496,3114731519,GB
+3114730496,3114730751,CH
+3114730752,3114731519,GB
3114731520,3114732543,CH
3114732544,3114733567,SY
3114733568,3114734591,FR
@@ -104690,7 +107304,7 @@
3114777600,3114778623,DE
3114778624,3114779647,IT
3114779648,3114780671,IE
-3114780672,3114781695,LT
+3114780672,3114781695,SA
3114781696,3114782719,NL
3114782720,3114783743,CZ
3114783744,3114784767,PL
@@ -104731,7 +107345,7 @@
3114819584,3114820607,IT
3114820608,3114821631,AT
3114821632,3114822655,ES
-3114822656,3114823679,UA
+3114822656,3114823679,US
3114823680,3114824703,NL
3114824704,3114825727,HR
3114825728,3114826751,GB
@@ -104771,7 +107385,9 @@
3114858496,3114858751,NL
3114858752,3114859519,FR
3114859520,3114860543,NL
-3114860544,3114861567,DE
+3114860544,3114860799,DE
+3114860800,3114861311,US
+3114861312,3114861567,DE
3114861568,3114862591,AE
3114862592,3114863615,AT
3114863616,3114864639,DK
@@ -104797,7 +107413,8 @@
3114885120,3114886143,PT
3114886144,3114887167,RU
3114887168,3114888191,DE
-3114888192,3114890239,NL
+3114888192,3114889215,US
+3114889216,3114890239,NL
3114890240,3114892287,GB
3114892288,3114893311,DE
3114893312,3114894335,TR
@@ -104815,7 +107432,9 @@
3114905600,3114906623,IT
3114906624,3114907647,TR
3114907648,3114908671,IT
-3114908672,3114909695,IS
+3114908672,3114909183,IS
+3114909184,3114909439,LV
+3114909440,3114909695,IS
3114909696,3114910719,DE
3114910720,3114911231,NL
3114911232,3114911743,GB
@@ -104868,7 +107487,7 @@
3114954752,3114955775,DE
3114955776,3114956799,AE
3114956800,3114957823,DE
-3114958848,3114959871,NL
+3114958848,3114959871,LB
3114959872,3114960895,CH
3114960896,3114961919,IT
3114961920,3114962943,GR
@@ -104934,7 +107553,7 @@
3115020288,3115021311,FR
3115021312,3115022335,AE
3115023360,3115024127,FR
-3115024128,3115024383,CZ
+3115024128,3115024383,SE
3115024384,3115025407,NL
3115025408,3115026431,SY
3115026432,3115027455,DE
@@ -104954,7 +107573,7 @@
3115041792,3115042815,DK
3115042816,3115043839,RU
3115043840,3115044863,DE
-3115044864,3115045887,NL
+3115044864,3115045887,US
3115045888,3115046911,IT
3115046912,3115047935,DE
3115047936,3115048959,GB
@@ -104991,7 +107610,7 @@
3115079680,3115080703,MD
3115080704,3115081727,LI
3115081728,3115082751,ES
-3115082752,3115083775,UA
+3115082752,3115083775,CH
3115083776,3115084799,SK
3115084800,3115085823,NL
3115085824,3115086847,GB
@@ -105009,7 +107628,8 @@
3115095040,3115096063,DE
3115096064,3115097087,FR
3115097088,3115098111,LT
-3115098112,3115099391,NL
+3115098112,3115099135,NL
+3115099136,3115099391,DE
3115099392,3115099647,US
3115099648,3115100159,NL
3115100160,3115101183,ES
@@ -105108,7 +107728,8 @@
3115195392,3115196415,TR
3115196416,3115197439,LI
3115197440,3115198463,DE
-3115198464,3115199487,NL
+3115198464,3115198719,NO
+3115198720,3115199487,NL
3115199488,3115200511,CZ
3115200512,3115201535,DE
3115201536,3115202559,FR
@@ -105226,9 +107847,7 @@
3115301888,3115302911,SK
3115302912,3115303935,LT
3115303936,3115305983,NL
-3115305984,3115306239,BE
-3115306240,3115306495,TR
-3115306496,3115307007,BE
+3115305984,3115307007,BE
3115307008,3115307519,DE
3115307520,3115308031,CA
3115308032,3115309055,IT
@@ -105247,7 +107866,8 @@
3115322368,3115323391,IE
3115323392,3115324415,DE
3115324416,3115325439,IT
-3115325440,3115326463,RU
+3115325440,3115326207,RU
+3115326208,3115326463,BG
3115326464,3115327487,SE
3115327488,3115328511,IR
3115328512,3115329535,NO
@@ -105286,14 +107906,14 @@
3115366400,3115367423,SE
3115367424,3115368447,ES
3115368448,3115369471,BG
-3115369472,3115370495,GB
+3115369472,3115370495,MT
3115370496,3115371519,IT
3115371520,3115372543,GB
3115372544,3115373567,LB
3115373568,3115374591,NO
3115374592,3115375615,BG
3115375616,3115376639,LV
-3115376640,3115377663,UA
+3115376640,3115377663,CH
3115377664,3115378687,DE
3115378688,3115379711,FR
3115379712,3115380735,CH
@@ -105306,9 +107926,10 @@
3115385856,3115387903,SK
3115387904,3115388927,MK
3115388928,3115389951,AT
-3115389952,3115390207,DE
-3115390208,3115390719,GB
+3115389952,3115390463,DE
+3115390464,3115390719,GB
3115390720,3115390975,NL
+3115390976,3115391999,TR
3115392000,3115393023,AL
3115393024,3115395071,IT
3115395072,3115396095,ES
@@ -105316,26 +107937,23 @@
3115397120,3115398143,MT
3115398144,3115399167,RU
3115399168,3115400191,BG
-3115400192,3115401215,RU
+3115400192,3115401215,CH
3115401216,3115402239,GB
3115402240,3115402495,IE
3115402496,3115403263,US
3115403264,3115404287,ES
3115405312,3115405567,US
-3115405568,3115405823,DE
-3115405824,3115406335,GB
-3115406336,3115407359,DE
+3115405568,3115407359,DE
3115407360,3115408383,CY
3115408384,3115409407,MD
3115409408,3115410431,RU
3115410432,3115411455,NL
3115411456,3115412479,AM
3115412480,3115414527,RU
-3115414528,3115415551,DE
+3115414528,3115415551,US
3115415552,3115416575,DK
3115416576,3115417599,MD
-3115417856,3115418367,DE
-3115418368,3115418623,US
+3115417856,3115418623,DE
3115418624,3115419647,IS
3115419648,3115420671,NL
3115420672,3115421695,DE
@@ -105369,7 +107987,7 @@
3115446272,3115447295,UA
3115447296,3115448319,IT
3115448320,3115449343,DE
-3115449344,3115450367,BG
+3115449344,3115450367,DK
3115450368,3115451391,AT
3115451392,3115452415,BG
3115452416,3115453439,IT
@@ -105392,7 +108010,7 @@
3115469824,3115470847,FR
3115470848,3115471871,ES
3115471872,3115472895,PL
-3115472896,3115473919,UA
+3115472896,3115473919,GB
3115473920,3115474943,IT
3115474944,3115475967,PL
3115475968,3115476991,IT
@@ -105532,7 +108150,8 @@
3115606016,3115607039,NL
3115607040,3115608063,MD
3115608064,3115609087,NL
-3115609088,3115610111,RU
+3115609088,3115609343,RU
+3115609344,3115610111,BR
3115610112,3115611135,PL
3115611136,3115612159,GB
3115612160,3115613183,IT
@@ -105647,9 +108266,7 @@
3115725824,3115726847,GB
3115726848,3115727871,NL
3115727872,3115728127,US
-3115728128,3115728383,GB
-3115728384,3115728639,US
-3115728640,3115728703,GB
+3115728128,3115728703,GB
3115728704,3115728735,NL
3115728736,3115728895,GB
3115728896,3115729919,FR
@@ -105723,8 +108340,9 @@
3115799552,3115799807,US
3115799808,3115800063,DE
3115800064,3115800319,GB
-3115800320,3115801599,DE
-3115801600,3115801855,LB
+3115800320,3115800575,US
+3115800576,3115801599,DE
+3115801600,3115802623,LB
3115802624,3115802879,NL
3115802880,3115803135,RO
3115803136,3115803391,NL
@@ -105772,7 +108390,8 @@
3115842560,3115843583,FR
3115843584,3115844607,ES
3115844608,3115845631,FR
-3115845632,3115846655,PL
+3115845632,3115846399,PL
+3115846400,3115846655,SG
3115846656,3115847679,CH
3115847680,3115848703,IL
3115848704,3115849727,AE
@@ -105809,7 +108428,9 @@
3115879680,3115880447,CR
3115880448,3115881471,LT
3115881472,3115882495,ES
-3115882496,3115884543,GB
+3115882496,3115883775,GB
+3115883776,3115884031,US
+3115884032,3115884543,GB
3115884544,3115885567,DE
3115885568,3115886591,NL
3115886592,3115887615,UA
@@ -105876,8 +108497,7 @@
3115947008,3115948031,RU
3115948032,3115949055,GB
3115949056,3115950079,GR
-3115950080,3115950591,IE
-3115950592,3115951103,GB
+3115950080,3115951103,GB
3115951104,3115952127,NL
3115952128,3115953151,FI
3115953152,3115954175,IQ
@@ -105905,7 +108525,7 @@
3115974656,3115975679,RU
3115975680,3115975935,US
3115975936,3115976703,GB
-3115976704,3115976959,US
+3115976704,3115976959,NL
3115976960,3115977471,GB
3115977472,3115977727,US
3115977728,3115978751,IT
@@ -105921,7 +108541,7 @@
3115988992,3115990015,SE
3115990016,3115991039,RO
3115991040,3115991295,NL
-3115991296,3115991551,US
+3115991296,3115991551,RU
3115991552,3115991807,IL
3115991808,3115992063,NL
3115992064,3115993087,IT
@@ -105930,7 +108550,8 @@
3115994368,3115994623,GB
3115994624,3115994879,SE
3115994880,3115995135,DK
-3115995136,3115995647,RS
+3115995136,3115995391,XK
+3115995392,3115995647,RS
3115995648,3115995903,AL
3115995904,3115996159,RS
3115996160,3115997183,GR
@@ -106028,8 +108649,9 @@
3116091392,3116092415,DE
3116092416,3116093439,IQ
3116093440,3116094463,FR
-3116094464,3116094975,US
-3116094976,3116095487,CZ
+3116094464,3116094975,IT
+3116094976,3116095231,MC
+3116095232,3116095487,MD
3116095488,3116096511,FR
3116096512,3116097535,SY
3116097536,3116098559,NL
@@ -106039,10 +108661,7 @@
3116101632,3116101887,GB
3116101888,3116102143,NL
3116102144,3116102655,GB
-3116102656,3116102911,FR
-3116102912,3116103167,DE
-3116103168,3116103423,SG
-3116103424,3116103679,US
+3116102656,3116103679,FR
3116103680,3116104703,HU
3116104704,3116105727,SE
3116105728,3116107007,DE
@@ -106058,7 +108677,9 @@
3116114944,3116115967,TR
3116115968,3116116991,NL
3116116992,3116118015,CH
-3116118016,3116120063,DE
+3116118016,3116119295,DE
+3116119296,3116119551,AT
+3116119552,3116120063,DE
3116120064,3116121087,HU
3116121344,3116121599,GB
3116122112,3116123135,DE
@@ -106118,7 +108739,8 @@
3116183552,3116184575,SE
3116184576,3116185599,TR
3116185600,3116185855,US
-3116185856,3116186623,GB
+3116185856,3116186111,NL
+3116186112,3116186623,GB
3116186624,3116187647,IT
3116187648,3116188671,ES
3116188672,3116189695,MD
@@ -106175,7 +108797,8 @@
3116239872,3116240895,IE
3116240896,3116241151,US
3116241152,3116241407,FR
-3116241408,3116241919,US
+3116241408,3116241663,US
+3116241664,3116241919,NL
3116241920,3116242943,IR
3116242944,3116243967,NL
3116243968,3116244991,LB
@@ -106296,8 +108919,7 @@
3116363776,3116364799,NL
3116364800,3116365823,PL
3116365824,3116367871,ES
-3116367872,3116368127,GR
-3116368128,3116368895,NL
+3116367872,3116368895,GR
3116368896,3116369919,GI
3116369920,3116370943,IR
3116370944,3116371967,FI
@@ -106313,8 +108935,7 @@
3116380160,3116381183,DE
3116381184,3116382207,LB
3116382208,3116382463,JP
-3116382464,3116382719,GU
-3116382720,3116382975,AQ
+3116382464,3116382975,AQ
3116382976,3116383231,DE
3116383232,3116384255,RU
3116384256,3116385279,DE
@@ -106423,7 +109044,7 @@
3116489728,3116490751,HU
3116490752,3116491775,CH
3116491776,3116492799,DE
-3116492800,3116493823,AF
+3116492800,3116493823,IR
3116493824,3116494847,DK
3116494848,3116495871,NL
3116495872,3116496895,CH
@@ -106492,8 +109113,7 @@
3116546384,3116546399,GR
3116546400,3116546415,NO
3116546416,3116546431,SI
-3116546432,3116546815,LU
-3116546816,3116547071,BE
+3116546432,3116547071,BE
3116547072,3116548095,UA
3116548096,3116549119,NL
3116549120,3116550143,TJ
@@ -106529,7 +109149,8 @@
3116580864,3116581887,US
3116581888,3116582911,CH
3116582912,3116583935,IR
-3116583936,3116584959,TR
+3116583936,3116584703,TR
+3116584704,3116584959,NL
3116584960,3116587007,CZ
3116587008,3116588031,FR
3116588032,3116589055,SE
@@ -106747,7 +109368,8 @@
3116813312,3116814335,CH
3116814336,3116815359,IT
3116815360,3116816383,MD
-3116816384,3116818431,DE
+3116816384,3116817407,DE
+3116817408,3116818431,US
3116818432,3116819455,FR
3116819456,3116820479,GB
3116820480,3116822527,AT
@@ -106829,7 +109451,7 @@
3116897280,3116898303,TR
3116898304,3116899327,ES
3116899328,3116900351,TR
-3116900352,3116901375,DE
+3116900352,3116901375,US
3116901376,3116902399,TR
3116902400,3116903423,BG
3116903424,3116905471,PL
@@ -106900,7 +109522,7 @@
3116965888,3116966911,GB
3116966912,3116967935,BG
3116967936,3116968447,DE
-3116968448,3116968703,NO
+3116968448,3116968703,IE
3116968704,3116968959,DE
3116968960,3116969983,RU
3116969984,3116971007,IR
@@ -106937,7 +109559,7 @@
3117003776,3117004799,GB
3117004800,3117005823,IT
3117005824,3117005855,PT
-3117006080,3117006335,AE
+3117005856,3117006335,AE
3117006336,3117006591,IR
3117006592,3117006847,AE
3117006848,3117007871,KW
@@ -107051,7 +109673,7 @@
3117118464,3117119487,BG
3117119488,3117119999,DE
3117120000,3117120255,IN
-3117120256,3117120511,DE
+3117120256,3117120511,US
3117120512,3117121535,IT
3117121536,3117122559,PL
3117122560,3117123583,CH
@@ -107081,7 +109703,7 @@
3117149184,3117150207,RU
3117150208,3117151231,NL
3117151232,3117152255,UA
-3117152256,3117153279,RO
+3117152256,3117153279,GB
3117153280,3117154303,PL
3117154304,3117154559,RU
3117154560,3117154815,FI
@@ -107108,7 +109730,7 @@
3117176832,3117177855,SY
3117177856,3117178879,IE
3117178880,3117179903,DE
-3117179904,3117180927,ES
+3117179904,3117180927,GB
3117180928,3117181951,FR
3117181952,3117182975,RU
3117182976,3117183999,DK
@@ -107132,7 +109754,9 @@
3117201408,3117202431,US
3117202432,3117203455,FR
3117203456,3117204479,PL
-3117204480,3117205503,NL
+3117204480,3117204735,ES
+3117204736,3117204991,IT
+3117204992,3117205503,NL
3117205504,3117206527,ES
3117206528,3117208575,FR
3117208576,3117209599,GB
@@ -107206,7 +109830,7 @@
3117270016,3117271039,TR
3117271040,3117272063,RU
3117272064,3117272831,GB
-3117272832,3117273087,RU
+3117272832,3117273087,BY
3117273088,3117274111,BG
3117274112,3117276159,DE
3117276160,3117277183,IR
@@ -107240,7 +109864,7 @@
3117305856,3117306879,RO
3117306880,3117307903,IT
3117307904,3117308927,DE
-3117308928,3117309951,IN
+3117308928,3117309951,US
3117309952,3117310975,KW
3117310976,3117311999,RU
3117312000,3117313023,DE
@@ -107258,10 +109882,13 @@
3117323264,3117324287,GB
3117324288,3117325311,DE
3117325312,3117326335,DK
-3117326336,3117327359,DE
+3117326336,3117326847,NL
+3117326848,3117327359,US
3117327360,3117328383,RU
3117328384,3117329407,FR
-3117329408,3117330431,IQ
+3117329408,3117329536,IQ
+3117329537,3117329537,IT
+3117329538,3117330431,IQ
3117330432,3117331455,FI
3117331456,3117332479,DE
3117332480,3117333503,SI
@@ -107324,8 +109951,8 @@
3117392896,3117393919,NL
3117393920,3117394943,CZ
3117394944,3117395967,ES
-3117395968,3117396479,GB
-3117396480,3117396735,US
+3117395968,3117396223,GB
+3117396224,3117396735,US
3117396736,3117396991,TR
3117396992,3117398015,MD
3117398016,3117399039,UA
@@ -107382,7 +110009,8 @@
3117452288,3117453311,FR
3117453312,3117454335,ES
3117454336,3117455359,IR
-3117455360,3117456127,CZ
+3117455360,3117455871,CZ
+3117455872,3117456127,ME
3117456128,3117456383,DK
3117456384,3117457407,CH
3117457408,3117458431,DE
@@ -107472,7 +110100,7 @@
3117540352,3117541375,US
3117541376,3117542399,BG
3117542400,3117543423,DE
-3117543424,3117544447,PT
+3117543424,3117544447,GB
3117544448,3117545471,DE
3117545472,3117546495,PL
3117546496,3117547519,US
@@ -107554,7 +110182,8 @@
3117623296,3117624319,HU
3117624320,3117625343,GB
3117625344,3117625599,NL
-3117625600,3117626367,GB
+3117625600,3117625855,US
+3117625856,3117626367,GB
3117626368,3117627391,NO
3117627392,3117628415,IR
3117628416,3117629439,DE
@@ -107620,7 +110249,8 @@
3117693952,3117693952,IR
3117693953,3117694975,AU
3117694976,3117695999,PL
-3117696000,3117696511,GB
+3117696000,3117696255,US
+3117696256,3117696511,GB
3117696512,3117697023,US
3117697024,3117698047,FR
3117698048,3117699071,DE
@@ -107664,7 +110294,12 @@
3117732864,3117733887,FR
3117733888,3117734911,GB
3117734912,3117735935,LB
-3117735936,3117736959,FR
+3117735936,3117736847,FR
+3117736848,3117736855,NL
+3117736856,3117736863,DE
+3117736864,3117736867,PL
+3117736868,3117736871,RU
+3117736872,3117736959,FR
3117736960,3117737983,IE
3117737984,3117739007,NL
3117739008,3117743103,UA
@@ -107753,7 +110388,7 @@
3117826048,3117827071,DE
3117827072,3117827327,AT
3117827328,3117827583,GB
-3117827584,3117828095,AT
+3117827584,3117828095,US
3117828096,3117829119,NL
3117829120,3117830143,RU
3117830144,3117832191,ES
@@ -107829,7 +110464,7 @@
3117900800,3117901823,DE
3117901824,3117902847,ES
3117902848,3117903871,IE
-3117903872,3117904895,PT
+3117903872,3117904895,GB
3117904896,3117905919,IE
3117905920,3117906943,CH
3117906944,3117907967,IR
@@ -107859,7 +110494,8 @@
3117930240,3117930495,TW
3117930496,3117931519,AT
3117931520,3117933567,US
-3117933568,3117936639,IR
+3117933568,3117935615,IR
+3117935616,3117936639,AU
3117936640,3117937663,IT
3117937664,3117938687,IR
3117938688,3117939711,DK
@@ -107892,10 +110528,12 @@
3117959168,3117960191,US
3117960192,3117961215,GB
3117961216,3117962239,RU
-3117962240,3117963263,DE
+3117962240,3117963007,DE
+3117963008,3117963263,UA
3117963264,3117964287,IT
3117964288,3117965055,FR
3117965056,3117965311,SG
+3117965312,3117966335,FR
3117966336,3117967359,RU
3117967360,3117969407,GB
3117969408,3117970431,TR
@@ -107926,13 +110564,16 @@
3117996032,3117997055,ES
3117997056,3117998079,CZ
3117998080,3117999103,DE
-3117999104,3117999871,US
-3117999872,3118002175,DE
+3117999104,3118000127,US
+3118000128,3118002175,DE
3118002176,3118003199,FR
3118003200,3118004223,RU
3118004224,3118005247,NL
3118005248,3118006271,ES
-3118006272,3118007295,SE
+3118006272,3118006360,LV
+3118006361,3118006361,SE
+3118006362,3118006399,LV
+3118006400,3118007295,SE
3118007296,3118008319,AX
3118008320,3118009343,SA
3118009344,3118010367,ES
@@ -108057,7 +110698,7 @@
3118135296,3118136319,FR
3118136320,3118137343,ES
3118137344,3118138367,IT
-3118138368,3118139391,GB
+3118138368,3118139391,RU
3118139392,3118140415,ES
3118140416,3118141439,FR
3118141440,3118142463,CZ
@@ -108119,14 +110760,7 @@
3118203904,3118204927,FR
3118204928,3118205951,ES
3118205952,3118206975,GB
-3118206976,3118206976,GR
-3118206977,3118207231,BG
-3118207232,3118207232,GR
-3118207233,3118207487,BG
-3118207488,3118207488,GR
-3118207489,3118207743,BG
-3118207744,3118207744,GR
-3118207745,3118207999,BG
+3118206976,3118207999,GR
3118208000,3118209023,US
3118209024,3118210047,HR
3118210048,3118211071,CZ
@@ -108145,7 +110779,7 @@
3118223360,3118224383,US
3118224384,3118225407,ES
3118225408,3118226431,GB
-3118226432,3118227455,LV
+3118226432,3118227455,UA
3118227456,3118229503,DE
3118229504,3118231551,NL
3118231552,3118232575,IQ
@@ -108209,7 +110843,9 @@
3118285870,3118285871,IN
3118285872,3118285875,AU
3118285876,3118285877,NZ
-3118285878,3118286079,AU
+3118285878,3118285879,AU
+3118285880,3118285881,JP
+3118285882,3118286079,AU
3118286080,3118286111,SG
3118286112,3118286113,MY
3118286114,3118286115,ID
@@ -108223,7 +110859,8 @@
3118286130,3118286131,NP
3118286132,3118286133,SG
3118286134,3118286135,AU
-3118286136,3118286335,SG
+3118286136,3118286137,JP
+3118286138,3118286335,SG
3118286336,3118286367,JP
3118286368,3118286369,MY
3118286370,3118286371,ID
@@ -108250,8 +110887,7 @@
3118298112,3118300159,RU
3118300160,3118301183,CZ
3118301184,3118302207,ES
-3118302208,3118303231,US
-3118303232,3118304255,DE
+3118302208,3118304255,US
3118304256,3118305279,HU
3118305280,3118306303,GB
3118306304,3118307327,DE
@@ -108262,7 +110898,7 @@
3118312448,3118313471,IT
3118313472,3118314495,IS
3118314496,3118315519,UA
-3118315520,3118316543,NL
+3118315520,3118316543,BE
3118316544,3118317567,ES
3118317568,3118318591,IR
3118318592,3118319615,IT
@@ -108270,11 +110906,14 @@
3118320640,3118321663,GB
3118321664,3118322687,DE
3118322688,3118323711,RU
-3118323712,3118324735,GB
+3118323712,3118324479,GB
+3118324480,3118324735,US
3118324736,3118325759,RO
3118325760,3118327807,FR
3118327808,3118328831,IS
-3118328832,3118329855,FR
+3118328832,3118329343,GB
+3118329344,3118329599,FR
+3118329600,3118329855,GB
3118329856,3118330879,IT
3118330880,3118331903,DK
3118331904,3118332927,NL
@@ -108329,8 +110968,8 @@
3118382080,3118383103,ES
3118383104,3118384127,FR
3118384128,3118385151,PT
-3118385152,3118385919,UA
-3118385920,3118387199,DE
+3118385152,3118386175,UA
+3118386176,3118387199,DE
3118387200,3118388223,GB
3118388224,3118389247,FR
3118389248,3118390271,GB
@@ -108405,8 +111044,8 @@
3118460928,3118461951,ES
3118461952,3118462975,UA
3118462976,3118463999,RU
-3118464000,3118464767,DE
-3118464768,3118465023,US
+3118464000,3118464511,DE
+3118464512,3118465023,US
3118465024,3118466047,TR
3118466048,3118467071,HU
3118467072,3118468095,RU
@@ -108523,7 +111162,9 @@
3118562304,3118563071,KZ
3118563072,3118563327,EE
3118563328,3118564351,MD
-3118564352,3118567423,DE
+3118564352,3118565375,DE
+3118565376,3118566399,US
+3118566400,3118567423,DE
3118567424,3118568447,MD
3118568448,3118569471,ES
3118569472,3118570495,RU
@@ -108573,7 +111214,7 @@
3118611456,3118612479,PL
3118612480,3118613503,GR
3118613504,3118614527,RO
-3118614528,3118614783,DE
+3118614528,3118614783,US
3118614784,3118615039,TR
3118615040,3118615295,GB
3118615296,3118615551,TR
@@ -108612,7 +111253,7 @@
3118647296,3118648319,NO
3118648320,3118649343,NL
3118649344,3118650367,GB
-3118650368,3118651391,DE
+3118650368,3118651391,US
3118651392,3118652415,IE
3118652416,3118653439,GB
3118653440,3118657535,ES
@@ -108638,8 +111279,9 @@
3118676992,3118678015,GB
3118678016,3118679039,IR
3118679040,3118679295,FI
-3118679296,3118679551,NL
-3118679552,3118680063,GB
+3118679296,3118679551,DE
+3118679552,3118679807,GB
+3118679808,3118680063,DE
3118680064,3118681087,MD
3118681088,3118682111,SE
3118682112,3118682943,NL
@@ -108663,7 +111305,7 @@
3118696448,3118696703,RO
3118696704,3118696959,IR
3118696960,3118697215,TR
-3118697216,3118697471,IR
+3118697216,3118697471,US
3118697472,3118698495,SY
3118698496,3118699519,ES
3118699520,3118700543,CH
@@ -108685,7 +111327,8 @@
3118721024,3118722047,FR
3118722048,3118723071,IQ
3118723072,3118724095,GB
-3118724096,3118725119,MD
+3118724096,3118724097,MD
+3118724098,3118725119,ES
3118725120,3118726143,GB
3118726144,3118726399,HK
3118726400,3118726911,GB
@@ -108693,7 +111336,8 @@
3118727168,3118729215,ES
3118729216,3118730239,DE
3118730240,3118731263,SY
-3118731264,3118732287,DE
+3118731264,3118732031,DE
+3118732032,3118732287,US
3118732288,3118733311,FR
3118733312,3118734335,BG
3118734336,3118735359,SE
@@ -108742,7 +111386,7 @@
3118784512,3118785535,MD
3118785536,3118786559,FR
3118786560,3118787583,RU
-3118787584,3118788607,IN
+3118787584,3118788607,US
3118788608,3118789631,DE
3118789632,3118790655,SA
3118790656,3118791679,IT
@@ -108776,7 +111420,9 @@
3118818304,3118819327,DE
3118819328,3118820351,MD
3118820352,3118821375,GE
-3118821376,3118822911,DE
+3118821376,3118821887,SG
+3118821888,3118822399,LT
+3118822400,3118822911,DE
3118822912,3118823423,US
3118823424,3118824447,RU
3118824448,3118825471,PL
@@ -108816,8 +111462,7 @@
3118858240,3118859263,ES
3118859264,3118860287,BG
3118860288,3118861311,FR
-3118861312,3118861567,DE
-3118861568,3118862335,RU
+3118861312,3118862335,DE
3118862336,3118863359,RO
3118863360,3118864383,CH
3118864384,3118865407,SE
@@ -108829,8 +111474,7 @@
3118870528,3118872575,ES
3118872576,3118873599,MK
3118873600,3118874111,US
-3118874112,3118874112,IE
-3118874113,3118874367,IL
+3118874112,3118874367,IE
3118874368,3118874623,US
3118874624,3118875647,ES
3118875648,3118876671,DE
@@ -108845,7 +111489,9 @@
3118885888,3118886911,PL
3118886912,3118887935,CY
3118887936,3118888959,CH
-3118888960,3118889983,CZ
+3118888960,3118889215,BA
+3118889216,3118889471,LI
+3118889472,3118889983,CZ
3118889984,3118890239,ES
3118890240,3118890495,CH
3118890496,3118890751,US
@@ -108896,8 +111542,7 @@
3118935040,3118936063,SY
3118936064,3118937087,RU
3118937088,3118938111,CH
-3118938112,3118938623,GB
-3118938624,3118939135,RU
+3118938112,3118939135,RU
3118939136,3118940159,DE
3118940160,3118941183,CY
3118941184,3118942207,NL
@@ -108912,6 +111557,7 @@
3118950400,3118951423,CH
3118951424,3118952447,TR
3118952448,3118952703,IR
+3118952960,3118953215,PT
3118953472,3118954495,ES
3118954496,3118955519,FR
3118955520,3118956543,DE
@@ -108926,7 +111572,7 @@
3118965760,3118967807,FR
3118967808,3118968831,EG
3118968832,3118969855,SK
-3118969856,3118970879,IN
+3118969856,3118970879,US
3118970880,3118971903,SA
3118971904,3118972927,PL
3118972928,3118973951,NL
@@ -108938,7 +111584,8 @@
3118979072,3118980095,GB
3118980096,3118981119,NL
3118982144,3118983167,LV
-3118983168,3118984191,RU
+3118983168,3118983679,RU
+3118983680,3118984191,DE
3118984192,3118985215,CZ
3118985216,3118987263,RU
3118987264,3118991359,DE
@@ -108952,11 +111599,11 @@
3118995200,3118995455,DE
3118995456,3118996479,FR
3118996480,3118997503,EE
-3118997504,3118998527,IR
+3118997504,3118998527,AU
3118998528,3118999551,ES
3118999552,3119000319,RU
-3119000320,3119001087,GB
-3119001088,3119001599,RU
+3119000320,3119000575,GB
+3119000576,3119001599,RU
3119001600,3119002623,ES
3119002624,3119004671,NL
3119004672,3119005695,RU
@@ -108967,8 +111614,7 @@
3119009792,3119010815,HU
3119010816,3119011583,RU
3119011584,3119011839,EE
-3119011840,3119012351,GB
-3119012352,3119012863,RU
+3119011840,3119012863,RU
3119012864,3119013887,DE
3119013888,3119014911,RU
3119014912,3119015935,DE
@@ -109091,12 +111737,9 @@
3119142912,3119143935,PL
3119143936,3119144959,NO
3119144960,3119145983,NL
-3119145984,3119147007,ES
+3119145984,3119147007,GB
3119147008,3119148031,FR
-3119148032,3119148543,GB
-3119148544,3119149055,RU
-3119149056,3119149823,NL
-3119149824,3119152127,RU
+3119148032,3119152127,RU
3119152128,3119153151,PT
3119153152,3119154175,RO
3119154176,3119155199,CZ
@@ -109133,12 +111776,10 @@
3119181824,3119182847,PL
3119182848,3119183871,RU
3119183872,3119184895,SK
-3119184896,3119185407,GB
-3119185408,3119185919,RU
+3119184896,3119185919,RU
3119185920,3119186943,GB
3119186944,3119187967,FR
-3119187968,3119188479,GB
-3119188480,3119188991,RU
+3119187968,3119188991,RU
3119188992,3119190015,NL
3119190016,3119191039,SY
3119191040,3119192063,IT
@@ -109150,8 +111791,7 @@
3119198208,3119199231,CZ
3119200256,3119201279,DE
3119201280,3119203327,RU
-3119203328,3119203839,RO
-3119203840,3119204351,PL
+3119203328,3119204351,RO
3119204352,3119206399,RU
3119207424,3119208447,FR
3119208448,3119210495,RU
@@ -109188,16 +111828,15 @@
3119241216,3119242239,UA
3119242240,3119243263,ES
3119243264,3119244287,DE
-3119244288,3119245311,RU
-3119245312,3119247359,DE
+3119244288,3119244799,RU
+3119244800,3119247359,DE
3119247360,3119248383,UA
3119248384,3119249407,RU
3119249408,3119250431,PL
3119250432,3119251455,CY
3119251456,3119252479,FR
3119252480,3119253503,NL
-3119253504,3119254015,DE
-3119254016,3119254271,SE
+3119253504,3119254271,DE
3119254272,3119254527,GB
3119254528,3119255551,ES
3119255552,3119256575,NL
@@ -109379,7 +112018,8 @@
3119439872,3119440895,GB
3119440896,3119442943,ES
3119442944,3119443967,PL
-3119443968,3119444991,DE
+3119443968,3119444735,US
+3119444736,3119444991,DE
3119444992,3119446015,RS
3119446016,3119447039,IT
3119448064,3119449087,IR
@@ -109409,7 +112049,7 @@
3119472640,3119473663,IT
3119473664,3119474687,BE
3119474688,3119475711,DE
-3119475712,3119476735,FR
+3119475712,3119476735,MQ
3119476736,3119477759,GB
3119477760,3119479807,RU
3119479808,3119480831,BG
@@ -109500,7 +112140,8 @@
3119570944,3119571967,RO
3119571968,3119574015,ES
3119574016,3119575039,FR
-3119575040,3119577087,DE
+3119575040,3119576063,DE
+3119576064,3119577087,US
3119577088,3119578111,PT
3119578112,3119579135,RO
3119579136,3119580159,RU
@@ -109633,9 +112274,9 @@
3119707136,3119708159,NL
3119708160,3119709183,ES
3119709184,3119710207,PL
-3119710208,3119712255,RU
-3119712256,3119713791,DE
-3119713792,3119714303,AE
+3119710208,3119711231,RU
+3119711232,3119712255,PL
+3119712256,3119714303,DE
3119714304,3119715327,FR
3119715328,3119716351,DE
3119716352,3119717375,ES
@@ -109646,8 +112287,7 @@
3119721472,3119722495,DE
3119722496,3119723519,IR
3119723520,3119724543,PL
-3119724544,3119725055,DE
-3119725056,3119725567,US
+3119724544,3119725567,US
3119725568,3119726591,GB
3119726592,3119727615,CH
3119727616,3119728639,DE
@@ -109673,11 +112313,8 @@
3119748096,3119749119,IT
3119749120,3119749887,US
3119749888,3119750143,NL
-3119750144,3119750346,RU
-3119750347,3119750347,UA
-3119750348,3119750588,RU
-3119750589,3119750589,UA
-3119750590,3119750696,RU
+3119750144,3119750655,UA
+3119750656,3119750696,RU
3119750697,3119750697,US
3119750698,3119750821,RU
3119750822,3119750822,UA
@@ -109771,7 +112408,7 @@
3119838208,3119839231,FI
3119839232,3119840255,LT
3119840256,3119841279,CH
-3119841280,3119842303,RU
+3119841280,3119842303,PL
3119842304,3119843327,MD
3119843328,3119844351,DK
3119844352,3119845375,HR
@@ -109806,7 +112443,7 @@
3119876096,3119878143,FR
3119878144,3119879167,ES
3119879168,3119880191,RU
-3119880192,3119881215,AE
+3119880192,3119881215,DE
3119881216,3119882239,NL
3119882240,3119883263,CH
3119883264,3119884287,IT
@@ -109833,7 +112470,8 @@
3119904000,3119904255,EE
3119904256,3119904767,RO
3119904768,3119905791,FR
-3119905792,3119906303,DE
+3119905792,3119906047,DE
+3119906048,3119906303,US
3119906304,3119906815,ES
3119906816,3119907839,DE
3119907840,3119908863,IR
@@ -109866,7 +112504,7 @@
3119936512,3119937535,RU
3119937536,3119938559,DE
3119938560,3119939583,RU
-3119939584,3119940607,LV
+3119939584,3119940607,SE
3119940608,3119941631,GB
3119941632,3119942655,NL
3119942656,3119943679,AT
@@ -109944,7 +112582,7 @@
3120014336,3120016383,ES
3120016384,3120017407,UA
3120017408,3120018431,IQ
-3120018432,3120019455,BG
+3120018432,3120019455,CN
3120019456,3120020479,RU
3120020480,3120021503,IE
3120021504,3120022527,RU
@@ -109955,7 +112593,8 @@
3120027648,3120028671,AT
3120028672,3120029695,SA
3120029696,3120030719,RO
-3120030720,3120031743,PL
+3120030720,3120030975,DE
+3120030976,3120031743,PL
3120031744,3120032767,ES
3120032768,3120033791,SE
3120033792,3120034815,DE
@@ -110065,7 +112704,7 @@
3120146432,3120147455,DE
3120147456,3120148479,RU
3120148480,3120149503,GB
-3120149504,3120150527,ES
+3120149504,3120150527,IT
3120150528,3120151551,FR
3120151552,3120153599,CH
3120153600,3120154623,US
@@ -110131,9 +112770,10 @@
3120219136,3120221183,ES
3120221184,3120222207,NL
3120222208,3120223231,GB
-3120223232,3120224255,DE
+3120223232,3120223743,DE
+3120223744,3120224255,US
3120224256,3120225279,FR
-3120225280,3120226303,DE
+3120225280,3120226303,US
3120226304,3120227327,CH
3120227328,3120228351,RU
3120228352,3120229375,CZ
@@ -110147,11 +112787,11 @@
3120236544,3120237055,FR
3120237056,3120237567,GB
3120237568,3120238079,RU
-3120238080,3120239615,GB
-3120239616,3120239871,RU
+3120238080,3120238591,GB
+3120238592,3120239871,RU
3120239872,3120240127,CH
3120240128,3120240639,US
-3120240640,3120241663,GB
+3120240640,3120241663,RU
3120241664,3120242687,RO
3120242688,3120243711,TR
3120243712,3120244735,NL
@@ -110256,9 +112896,9 @@
3120347392,3120347647,DE
3120347648,3120348159,FR
3120348160,3120349183,MK
-3120349184,3120350207,GB
+3120349184,3120350207,RU
3120350208,3120351231,CZ
-3120351232,3120352255,GB
+3120351232,3120352255,RU
3120352256,3120353279,LT
3120353280,3120354815,RU
3120354816,3120355327,US
@@ -110271,8 +112911,7 @@
3120362496,3120363519,NL
3120363520,3120364543,RU
3120364544,3120365567,JE
-3120365568,3120366591,GB
-3120366592,3120367103,RU
+3120365568,3120367103,RU
3120367104,3120367615,US
3120367616,3120368639,RU
3120368640,3120369663,DE
@@ -110282,7 +112921,7 @@
3120375808,3120376831,RU
3120376832,3120377855,UA
3120377856,3120378879,NL
-3120378880,3120379903,GB
+3120378880,3120379903,RU
3120379904,3120380927,ES
3120380928,3120381951,LV
3120381952,3120382975,PL
@@ -110307,11 +112946,14 @@
3120397312,3120399359,GB
3120399360,3120400383,FR
3120400384,3120401407,RU
-3120401408,3120402431,GB
+3120401408,3120401663,US
+3120401664,3120402431,GB
3120402432,3120403455,ES
3120403456,3120404479,RU
3120404480,3120405503,UA
-3120405504,3120406527,BG
+3120405504,3120405759,BG
+3120405760,3120406015,RU
+3120406016,3120406527,BG
3120406528,3120407551,UA
3120407552,3120408575,PL
3120408576,3120409599,FR
@@ -110346,15 +112988,22 @@
3120441344,3120442367,NL
3120442368,3120443391,LT
3120443392,3120444415,NL
-3120444416,3120445439,TR
+3120444416,3120444671,CH
+3120444672,3120445439,TR
3120445440,3120446463,GB
3120446464,3120447487,DE
3120447488,3120448511,US
-3120448512,3120449535,NL
+3120448512,3120448767,NL
+3120448768,3120449023,GB
+3120449024,3120449535,NL
3120449536,3120450559,FR
3120450560,3120451583,CH
3120451584,3120452607,SE
-3120452608,3120453631,IQ
+3120452608,3120452608,IQ
+3120452609,3120452609,DE
+3120452610,3120453376,IQ
+3120453377,3120453377,IT
+3120453378,3120453631,IQ
3120453632,3120454655,GB
3120454656,3120455679,TR
3120455680,3120456703,DE
@@ -110363,7 +113012,7 @@
3120458752,3120459775,SY
3120459776,3120460799,DE
3120460800,3120461823,AL
-3120461824,3120462847,LT
+3120461824,3120462847,RU
3120462848,3120463871,DE
3120463872,3120464895,DK
3120464896,3120465919,SE
@@ -110383,14 +113032,13 @@
3120480256,3120484351,UA
3120484352,3120485375,FR
3120485376,3120486399,RU
-3120486400,3120487423,CY
+3120486400,3120487423,GR
3120487424,3120488447,PL
3120488448,3120489471,CH
3120489472,3120490495,IT
3120490496,3120491519,AT
3120491520,3120492543,IT
-3120492544,3120492799,GB
-3120492800,3120493567,JP
+3120492544,3120493567,JP
3120493568,3120494591,DE
3120494592,3120495615,SK
3120495616,3120496639,HR
@@ -110426,19 +113074,21 @@
3120526336,3120527359,CZ
3120527360,3120528383,NL
3120528384,3120529407,ES
-3120529408,3120530431,DE
+3120529408,3120530431,US
3120530432,3120531455,RU
3120531456,3120532479,LB
3120532480,3120533503,DK
3120533504,3120534527,RO
3120534528,3120535551,ES
-3120535552,3120536063,GB
+3120535552,3120535807,HK
+3120535808,3120536063,GB
3120536064,3120536575,TR
3120536576,3120537599,DK
3120537600,3120538623,GB
3120538624,3120540671,UA
3120540672,3120541695,TR
-3120541696,3120542719,RU
+3120541696,3120542463,RU
+3120542464,3120542719,LV
3120542720,3120543743,US
3120543744,3120544767,IT
3120544768,3120545791,DE
@@ -110469,9 +113119,22 @@
3120618496,3120627711,AR
3120627712,3120644095,NI
3120644096,3120660479,DO
-3120660480,3120662271,CO
+3120660480,3120662015,CO
+3120662016,3120662271,BR
3120662272,3120662527,PE
-3120662528,3120676863,CO
+3120662528,3120662783,BR
+3120662784,3120663039,EC
+3120663040,3120663295,PE
+3120663296,3120663551,CO
+3120663552,3120663807,PE
+3120663808,3120664063,CO
+3120664064,3120664319,PE
+3120664320,3120664575,CO
+3120664576,3120664831,EC
+3120664832,3120665087,PE
+3120665088,3120665343,CL
+3120665344,3120665599,BR
+3120665600,3120676863,CO
3120676864,3120680959,HT
3120680960,3120691199,AR
3120691200,3120693247,CO
@@ -110481,13 +113144,12 @@
3120734464,3120734719,EC
3120734720,3120735487,RU
3120735488,3120735743,NL
-3120735744,3120736149,BZ
-3120736150,3120736150,RU
-3120736151,3120736255,BZ
+3120735744,3120735999,BZ
+3120736000,3120736255,RU
3120736256,3120736511,EC
3120736512,3120736767,BZ
-3120736768,3120737279,RU
-3120737280,3120737791,BZ
+3120736768,3120737023,RU
+3120737024,3120737791,BZ
3120737792,3120738303,EC
3120738304,3120742399,CW
3120742400,3120754687,PY
@@ -110538,9 +113200,9 @@
3123445760,3123576831,TT
3123576832,3123707903,EC
3123707904,3124232191,UY
-3124232192,3124760600,AR
-3124760601,3124760601,MX
-3124760602,3124783103,AR
+3124232192,3124760575,AR
+3124760576,3124762623,MX
+3124762624,3124783103,AR
3124783104,3124785151,GT
3124785152,3124788223,CL
3124788224,3124789247,PE
@@ -110553,8 +113215,7 @@
3124846592,3124848639,AR
3124848640,3124849663,BR
3124849664,3124850687,AR
-3124850688,3124852735,US
-3124852736,3124854783,HN
+3124850688,3124854783,US
3124854784,3124887551,CL
3124887552,3124953087,EC
3124953088,3125018623,CL
@@ -110596,8 +113257,7 @@
3130312704,3130314751,AR
3130314752,3130315775,CL
3130315776,3130316799,CR
-3130316800,3130317823,AW
-3130317824,3130318847,CW
+3130316800,3130318847,CW
3130318848,3130327039,AR
3130327040,3130458111,DO
3130458112,3130523647,GT
@@ -110636,8 +113296,8 @@
3132325888,3132358655,SR
3132358656,3132489727,CO
3132489728,3132510719,AR
-3132510720,3132510975,PY
-3132510976,3132588031,AR
+3132510720,3132511231,PY
+3132511232,3132588031,AR
3132588032,3132620799,CO
3132620800,3132915711,VE
3132915712,3132948479,PA
@@ -110738,7 +113398,9 @@
3155165184,3155312938,RU
3155312939,3155312939,US
3155312940,3155427327,RU
-3155427328,3155689471,AT
+3155427328,3155496959,AT
+3155496960,3155497471,DE
+3155497472,3155689471,AT
3155689472,3155873791,RO
3155873792,3155877887,ES
3155877888,3155951615,RO
@@ -110748,11 +113410,7 @@
3156344832,3156410367,IR
3156410368,3156475903,RU
3156475904,3156541439,HU
-3156541440,3156549119,PT
-3156549120,3156549375,PL
-3156549376,3156597759,PT
-3156597760,3156597887,DE
-3156597888,3156606975,PT
+3156541440,3156606975,PT
3156606976,3156672511,TR
3156672512,3156738047,GB
3156738048,3156793343,DE
@@ -110765,8 +113423,7 @@
3156803584,3156869119,TR
3156869120,3156876287,LU
3156876288,3156877311,RU
-3156877312,3156879359,UA
-3156879360,3156893695,LU
+3156877312,3156893695,LU
3156893696,3156894719,IN
3156894720,3156897791,LU
3156897792,3156899839,US
@@ -110793,24 +113450,14 @@
3156926464,3156927743,NL
3156927744,3156927999,LU
3156928000,3156929535,NL
-3156929536,3156930559,LU
-3156930560,3156932607,US
-3156932608,3156932863,NL
+3156929536,3156932863,LU
3156932864,3156933119,US
-3156933120,3156933631,NL
+3156933120,3156933631,LU
3156933632,3156934655,SG
3156934656,3157000191,RU
3157000192,3157008383,MK
3157008384,3157016575,RU
-3157016576,3157017343,FR
-3157017344,3157017599,BE
-3157017600,3157017855,FR
-3157017856,3157018111,BE
-3157018112,3157018623,FR
-3157018624,3157018879,BE
-3157018880,3157022975,FR
-3157022976,3157023231,BE
-3157023232,3157024767,FR
+3157016576,3157024767,BE
3157024768,3157032959,RU
3157032960,3157065727,HU
3157065728,3157131263,AT
@@ -110850,6 +113497,8 @@
3158362112,3158365183,IL
3158365184,3158366207,AT
3158366208,3158368255,RU
+3158368256,3158369023,FR
+3158369024,3158370303,GB
3158370304,3158372351,BE
3158372352,3158374399,FR
3158374400,3158376447,DE
@@ -110873,13 +113522,13 @@
3158409216,3158411263,RU
3158411264,3158413311,FI
3158413312,3158415359,DE
-3158415360,3158417407,SE
+3158415360,3158415871,SE
+3158415872,3158416127,NO
+3158416128,3158417407,SE
3158417408,3158419455,NL
3158419456,3158421503,FR
3158421504,3158423551,GB
-3158423552,3158425087,MT
-3158425088,3158425343,IE
-3158425344,3158425599,MT
+3158423552,3158425599,IE
3158425600,3158427647,NL
3158427648,3158429695,DE
3158429696,3158431743,RU
@@ -110910,13 +113559,21 @@
3158616064,3158630399,RU
3158630400,3158638591,PL
3158638592,3158704127,LT
-3158704128,3158821119,KW
-3158821120,3158821151,US
-3158821152,3158821159,KW
-3158821160,3158821375,US
-3158821376,3158828031,KW
-3158828032,3158828287,US
-3158828288,3158835199,KW
+3158704128,3158706463,KW
+3158706464,3158706527,IT
+3158706528,3158706543,KW
+3158706544,3158706687,IT
+3158706688,3158711103,KW
+3158711104,3158711143,IT
+3158711144,3158711151,KW
+3158711152,3158711231,IT
+3158711232,3158820927,KW
+3158820928,3158820991,IT
+3158820992,3158821087,KW
+3158821088,3158821119,IT
+3158821120,3158831103,KW
+3158831104,3158831231,IT
+3158831232,3158835199,KW
3158835200,3158851583,IQ
3158851584,3158852863,NL
3158852864,3158853119,ES
@@ -111080,7 +113737,8 @@
3160360960,3160363007,IT
3160363008,3160365055,GB
3160365056,3160366079,RU
-3160366080,3160367103,CZ
+3160366080,3160366335,ES
+3160366336,3160367103,CZ
3160367104,3160369151,NL
3160369152,3160371199,RU
3160371200,3160373247,ES
@@ -111088,8 +113746,7 @@
3160375296,3160377343,GB
3160377344,3160379391,NL
3160379392,3160380927,CZ
-3160380928,3160381183,SK
-3160381184,3160381439,CZ
+3160380928,3160381439,SK
3160381440,3160383487,UA
3160383488,3160385535,SA
3160385536,3160387583,NL
@@ -111114,7 +113771,10 @@
3161604096,3161612287,PL
3161612288,3161613311,US
3161613312,3161614335,IT
-3161614336,3161616383,ES
+3161614336,3161614847,US
+3161614848,3161615103,ES
+3161615104,3161615359,US
+3161615360,3161616383,ES
3161616384,3161618431,GB
3161618432,3161620479,IQ
3161620480,3161636863,DK
@@ -111125,11 +113785,11 @@
3161645056,3161653247,SE
3161653248,3161669631,LU
3161669632,3161673727,MQ
-3161673728,3161681919,GP
+3161673728,3161677823,GP
+3161677824,3161679871,MQ
+3161679872,3161681919,GP
3161681920,3161682943,GF
-3161682944,3161683967,MQ
-3161683968,3161684479,FR
-3161684480,3161684991,MQ
+3161682944,3161684991,MQ
3161684992,3161686015,FR
3161686016,3161702399,UA
3161702400,3161718783,AM
@@ -111140,8 +113800,12 @@
3161784320,3161800703,FI
3161800704,3161817087,SA
3161817088,3161833471,PL
-3161833472,3161837567,MK
-3161837568,3161846271,GR
+3161833472,3161835519,GR
+3161835520,3161837567,MK
+3161837568,3161839615,AT
+3161839616,3161839871,GR
+3161839872,3161841663,AT
+3161841664,3161846271,GR
3161846272,3161847807,AT
3161847808,3161849855,GR
3161849856,3161866239,BE
@@ -111149,6 +113813,21 @@
3161882624,3161899007,DE
3161899008,3161915391,AT
3161915392,3161931775,TR
+3161931776,3161932799,RU
+3161932800,3161933823,DE
+3161933824,3161934847,ES
+3161934848,3161935871,RU
+3161935872,3161936895,NO
+3161936896,3161937919,DE
+3161937920,3161938943,RO
+3161938944,3161939967,DE
+3161939968,3161940991,CZ
+3161940992,3161942015,GB
+3161942016,3161943039,SI
+3161943040,3161944063,TR
+3161944064,3161945087,RU
+3161945088,3161946111,ES
+3161946112,3161948159,RU
3161948160,3161964543,RO
3161964544,3161980927,ES
3161980928,3161989119,SK
@@ -111182,7 +113861,9 @@
3162193920,3162202111,FR
3162202112,3162209535,SK
3162209536,3162209791,CZ
-3162209792,3162210303,SK
+3162209792,3162209887,SK
+3162209888,3162209903,GR
+3162209904,3162210303,SK
3162210304,3162218495,GE
3162218496,3162226687,JO
3162226688,3162234879,PL
@@ -111211,13 +113892,14 @@
3162390528,3162396927,SE
3162396928,3162397183,FI
3162397184,3162398719,SE
-3162398720,3162406911,NL
+3162398720,3162404863,NL
+3162404864,3162406911,BE
3162406912,3162415103,ES
3162415104,3162423295,DE
3162423296,3162431487,NO
3162431488,3162439679,SE
3162439680,3162447871,PL
-3162447872,3162456063,RU
+3162447872,3162456063,KZ
3162456064,3162464255,BG
3162464256,3162472447,BA
3162472448,3162480639,HU
@@ -111230,9 +113912,13 @@
3162636288,3162669055,FR
3162669056,3162676223,RU
3162676224,3162677247,KZ
-3162677248,3162679039,RU
+3162677248,3162677759,RU
+3162677760,3162678015,UZ
+3162678016,3162679039,RU
3162679040,3162679295,KZ
-3162679296,3162681343,RU
+3162679296,3162679807,RU
+3162679808,3162680063,BY
+3162680064,3162681343,RU
3162681344,3162682367,UA
3162682368,3162682879,MD
3162682880,3162683135,GB
@@ -111276,7 +113962,8 @@
3163521024,3163553791,RU
3163553792,3163684863,DE
3163684864,3163815935,PL
-3163815936,3164078079,NO
+3163815936,3163947007,NO
+3163947008,3164078079,SE
3164078080,3164209151,IT
3164209152,3164340223,CH
3164340224,3164471295,HU
@@ -111288,9 +113975,7 @@
3164864512,3164864703,GB
3164864704,3164864735,ZA
3164864736,3164864767,IE
-3164864768,3164891135,GB
-3164891136,3164891647,DE
-3164891648,3164893183,FR
+3164864768,3164893183,GB
3164893184,3164895231,TR
3164895232,3164897279,GB
3164897280,3164899327,IT
@@ -111307,7 +113992,9 @@
3164925952,3164927999,PL
3164928000,3164930047,NL
3164930048,3164932095,IE
-3164932096,3164932719,FR
+3164932096,3164932643,FR
+3164932644,3164932647,PL
+3164932648,3164932719,FR
3164932720,3164932735,CZ
3164932736,3164932799,FR
3164932800,3164932815,DE
@@ -111320,11 +114007,9 @@
3164932992,3164933119,GB
3164933120,3164934143,FR
3164934144,3164936191,PL
-3164936192,3164936499,RU
-3164936500,3164936500,LT
-3164936501,3164937749,RU
+3164936192,3164937749,LT
3164937750,3164937750,FR
-3164937751,3164938239,RU
+3164937751,3164938239,LT
3164938240,3164939705,FR
3164939706,3164939706,ES
3164939707,3164945919,FR
@@ -111336,7 +114021,8 @@
3164946064,3164946079,DE
3164946080,3164946479,FR
3164946480,3164946483,ES
-3164946484,3164946507,FR
+3164946484,3164946487,PL
+3164946488,3164946507,FR
3164946508,3164946511,CZ
3164946512,3164946527,FR
3164946528,3164946559,FI
@@ -111352,14 +114038,22 @@
3164947552,3164947567,DE
3164947568,3164947591,FR
3164947592,3164947599,ES
-3164947600,3164948739,FR
+3164947600,3164947651,FR
+3164947652,3164947655,PL
+3164947656,3164947751,FR
+3164947752,3164947755,PL
+3164947756,3164948739,FR
3164948740,3164948743,CZ
3164948744,3164948747,GB
3164948748,3164948863,FR
3164948864,3164948927,GB
3164948928,3164949119,FR
3164949120,3164949123,PT
-3164949124,3164949339,FR
+3164949124,3164949215,FR
+3164949216,3164949219,PL
+3164949220,3164949331,FR
+3164949332,3164949335,PL
+3164949336,3164949339,FR
3164949340,3164949343,GB
3164949344,3164949371,FR
3164949372,3164949375,GB
@@ -111386,18 +114080,27 @@
3164953024,3164953087,IE
3164953088,3164953255,FR
3164953256,3164953263,CZ
-3164953264,3164953583,FR
+3164953264,3164953327,FR
+3164953328,3164953343,PL
+3164953344,3164953583,FR
3164953584,3164953599,ES
-3164953600,3164954371,FR
+3164953600,3164954239,FR
+3164954240,3164954247,PL
+3164954248,3164954371,FR
3164954372,3164954375,DE
3164954376,3164954463,FR
3164954464,3164954471,IT
3164954472,3164954479,IE
-3164954480,3164958895,FR
+3164954480,3164956383,FR
+3164956384,3164956399,DE
+3164956400,3164958895,FR
3164958896,3164958911,PT
-3164958912,3164959247,FR
+3164958912,3164958943,FR
+3164958944,3164958947,PL
+3164958948,3164959247,FR
3164959248,3164959255,ES
-3164959256,3164959455,FR
+3164959256,3164959263,PL
+3164959264,3164959455,FR
3164959456,3164959463,DE
3164959464,3164959467,FR
3164959468,3164959471,GB
@@ -111406,7 +114109,9 @@
3164959584,3164959807,FR
3164959808,3164959823,IE
3164959824,3164959839,FI
-3164959840,3164960247,FR
+3164959840,3164959899,FR
+3164959900,3164959903,PL
+3164959904,3164960247,FR
3164960248,3164960255,DE
3164960256,3164960263,FR
3164960264,3164960267,ES
@@ -111419,7 +114124,9 @@
3164960500,3164960503,CZ
3164960504,3164960671,FR
3164960672,3164960675,ES
-3164960676,3164960699,FR
+3164960676,3164960687,FR
+3164960688,3164960695,PL
+3164960696,3164960699,FR
3164960700,3164960703,ES
3164960704,3164960787,FR
3164960788,3164960791,DE
@@ -111435,9 +114142,13 @@
3164961552,3164961555,ES
3164961556,3164961727,FR
3164961728,3164961735,ES
-3164961736,3164962191,FR
+3164961736,3164961791,FR
+3164961792,3164961807,PL
+3164961808,3164962191,FR
3164962192,3164962199,DE
-3164962200,3164962335,FR
+3164962200,3164962295,FR
+3164962296,3164962303,PL
+3164962304,3164962335,FR
3164962336,3164962367,DE
3164962368,3164962455,FR
3164962456,3164962459,IE
@@ -111448,9 +114159,7 @@
3164962656,3164962815,FR
3164962816,3164964863,ES
3164964864,3164966911,FI
-3164966912,3164967135,FR
-3164967136,3164967151,ES
-3164967152,3164967231,FR
+3164966912,3164967231,FR
3164967232,3164967239,ES
3164967240,3164967303,FR
3164967304,3164967311,DE
@@ -111464,7 +114173,11 @@
3164968320,3164968447,GB
3164968448,3164968835,FR
3164968836,3164968839,ES
-3164968840,3164969135,FR
+3164968840,3164969079,FR
+3164969080,3164969083,PL
+3164969084,3164969095,FR
+3164969096,3164969099,PL
+3164969100,3164969135,FR
3164969136,3164969143,ES
3164969144,3164969147,FR
3164969148,3164969151,GB
@@ -111476,20 +114189,27 @@
3164970224,3164970239,GB
3164970240,3164970299,FR
3164970300,3164970303,DE
-3164970304,3164970413,FR
+3164970304,3164970383,FR
+3164970384,3164970387,PL
+3164970388,3164970413,FR
3164970414,3164970415,IT
3164970416,3164970603,FR
3164970604,3164970607,DE
3164970608,3164970615,ES
3164970616,3164970631,FR
3164970632,3164970639,ES
-3164970640,3164970719,FR
+3164970640,3164970695,FR
+3164970696,3164970699,PL
+3164970700,3164970719,FR
3164970720,3164970751,PL
3164970752,3164971011,FR
3164971012,3164971015,IE
-3164971016,3164971511,FR
+3164971016,3164971483,FR
+3164971484,3164971487,PL
+3164971488,3164971511,FR
3164971512,3164971519,CZ
-3164971520,3164971579,FR
+3164971520,3164971575,FR
+3164971576,3164971579,PL
3164971580,3164971583,ES
3164971584,3164971615,FR
3164971616,3164971619,ES
@@ -111506,7 +114226,11 @@
3164972704,3164972735,FR
3164972736,3164972751,GB
3164972752,3164972767,DE
-3164972768,3164973407,FR
+3164972768,3164972783,FR
+3164972784,3164972799,PL
+3164972800,3164973003,FR
+3164973004,3164973007,NL
+3164973008,3164973407,FR
3164973408,3164973415,GB
3164973416,3164973419,FR
3164973420,3164973423,ES
@@ -111525,11 +114249,17 @@
3164974936,3164974939,PT
3164974940,3164975199,FR
3164975200,3164975215,ES
-3164975216,3164975311,FR
+3164975216,3164975255,FR
+3164975256,3164975259,PL
+3164975260,3164975311,FR
3164975312,3164975327,ES
3164975328,3164975351,FR
3164975352,3164975355,DE
-3164975356,3164975887,FR
+3164975356,3164975759,FR
+3164975760,3164975775,PL
+3164975776,3164975811,FR
+3164975812,3164975815,PL
+3164975816,3164975887,FR
3164975888,3164975903,IT
3164975904,3164975991,FR
3164975992,3164975995,PL
@@ -111539,7 +114269,9 @@
3164976144,3164976159,BE
3164976160,3164976231,FR
3164976232,3164976239,ES
-3164976240,3164976511,FR
+3164976240,3164976343,FR
+3164976344,3164976347,PL
+3164976348,3164976511,FR
3164976512,3164976527,LT
3164976528,3164976767,FR
3164976768,3164976783,DE
@@ -111560,7 +114292,10 @@
3164978156,3164978159,DE
3164978160,3164978623,FR
3164978624,3164978655,ES
-3164978656,3164979119,FR
+3164978656,3164978951,FR
+3164978952,3164978955,PL
+3164978956,3164979111,FR
+3164979112,3164979119,PL
3164979120,3164979135,LT
3164979136,3164979151,FR
3164979152,3164979155,ES
@@ -111594,8 +114329,8 @@
3165438208,3165439487,AT
3165439488,3165439743,GB
3165439744,3165439999,ES
-3165440000,3165440255,JP
-3165440256,3165440511,HK
+3165440000,3165440255,AT
+3165440256,3165440511,MX
3165440512,3165440767,JP
3165440768,3165441023,SG
3165441024,3165442047,AT
@@ -111641,7 +114376,15 @@
3166175232,3166306303,CH
3166306304,3166437375,RU
3166437376,3166568447,BE
-3166568448,3166601215,UA
+3166568448,3166593023,UA
+3166593024,3166594047,RU
+3166594048,3166595071,SK
+3166595072,3166596095,TR
+3166596096,3166597119,CH
+3166597120,3166598143,NL
+3166598144,3166599167,RU
+3166599168,3166600191,TR
+3166600192,3166601215,ES
3166601216,3166609407,RU
3166609408,3166633983,UA
3166633984,3166638079,RU
@@ -111693,7 +114436,7 @@
3167775744,3167775999,RO
3167776000,3167776255,GB
3167776256,3167776511,RO
-3167776512,3167776767,GB
+3167776512,3167776767,ES
3167776768,3167777791,MD
3167777792,3167778815,RO
3167778816,3167780863,MD
@@ -111717,12 +114460,12 @@
3167834112,3167838207,IT
3167838208,3167842303,RO
3167842304,3167843327,ES
-3167843328,3167844351,IR
+3167843328,3167844351,HK
3167844352,3167846399,GB
3167846400,3167850495,IR
3167850496,3167852543,AU
3167852544,3167854591,IR
-3167854592,3167862783,AU
+3167854592,3167862783,DE
3167862784,3167866879,IR
3167866880,3167867903,SY
3167867904,3167868159,RO
@@ -111764,7 +114507,7 @@
3168002048,3168003071,RO
3168003072,3168004095,ES
3168004096,3168005887,RO
-3168005888,3168006143,NL
+3168005888,3168006143,ES
3168006144,3168008191,SE
3168008192,3168008447,RO
3168008448,3168010239,US
@@ -112006,7 +114749,9 @@
3169279488,3169279743,CY
3169279744,3169279759,IQ
3169279760,3169279871,KW
-3169279872,3169285119,GB
+3169279872,3169282047,GB
+3169282048,3169283071,KW
+3169283072,3169285119,GB
3169285120,3169285631,KW
3169285632,3169286143,GB
3169286144,3169288191,KW
@@ -112140,7 +114885,9 @@
3170298880,3170303999,KZ
3170304000,3170312191,SY
3170312192,3170320383,RU
-3170320384,3170327593,JO
+3170320384,3170321919,JO
+3170321920,3170322175,IT
+3170322176,3170327593,JO
3170327594,3170327594,US
3170327595,3170328575,JO
3170328576,3170336767,UA
@@ -112156,7 +114903,11 @@
3170664448,3170697215,HR
3170697216,3170697471,IR
3170697472,3170705407,AU
-3170705408,3170729983,IR
+3170705408,3170721791,IR
+3170721792,3170723839,AU
+3170723840,3170727935,IR
+3170727936,3170729951,AU
+3170729952,3170729983,IR
3170729984,3170762751,AZ
3170762752,3170795519,RU
3170795520,3170828287,BG
@@ -112208,7 +114959,9 @@
3187933342,3187933342,HN
3187933343,3187934079,GT
3187934080,3187934207,HN
-3187934208,3187935543,GT
+3187934208,3187935151,GT
+3187935152,3187935159,HN
+3187935160,3187935543,GT
3187935544,3187935551,HN
3187935552,3187936015,GT
3187936016,3187936023,HN
@@ -112220,8 +114973,8 @@
3187940632,3187940639,HN
3187940640,3187941711,GT
3187941712,3187941715,HN
-3187941716,3187942655,GT
-3187942656,3187942663,HN
+3187941716,3187942399,GT
+3187942400,3187942663,HN
3187942664,3187942775,GT
3187942776,3187942783,HN
3187942784,3187942975,GT
@@ -112234,20 +114987,30 @@
3187943552,3187943687,HN
3187943688,3187943715,GT
3187943716,3187943716,HN
-3187943717,3187944351,GT
+3187943717,3187943807,GT
+3187943808,3187943839,HN
+3187943840,3187944351,GT
3187944352,3187944359,HN
3187944360,3187944495,GT
3187944496,3187944503,HN
3187944504,3187944773,GT
3187944774,3187944774,HN
-3187944775,3187945343,GT
+3187944775,3187944851,GT
+3187944852,3187944855,HN
+3187944856,3187945343,GT
3187945344,3187945471,HN
3187945472,3187945983,GT
3187945984,3187946111,HN
-3187946112,3187947363,GT
+3187946112,3187946495,GT
+3187946496,3187947007,HN
+3187947008,3187947363,GT
3187947364,3187947367,HN
-3187947368,3187947999,GT
-3187948000,3187948159,HN
+3187947368,3187947743,GT
+3187947744,3187947751,HN
+3187947752,3187947895,GT
+3187947896,3187947899,HN
+3187947900,3187948031,GT
+3187948032,3187948159,HN
3187948160,3187948799,GT
3187948800,3187948927,HN
3187948928,3187949023,GT
@@ -112338,8 +115101,10 @@
3188490240,3188498431,CO
3188498432,3188523007,AR
3188523008,3188539391,CO
-3188539392,3188543487,CL
-3188543488,3188545535,PA
+3188539392,3188542207,CL
+3188542208,3188542463,US
+3188542464,3188543487,CL
+3188543488,3188545535,CO
3188545536,3188547583,AR
3188547584,3188551679,CO
3188551680,3188552703,AR
@@ -112347,7 +115112,16 @@
3188553728,3188555775,CW
3188555776,3188572159,CL
3188572160,3188576255,CO
-3188576256,3188597759,AR
+3188576256,3188588543,AR
+3188588544,3188589567,US
+3188589568,3188589823,CO
+3188589824,3188590079,EC
+3188590080,3188590335,PT
+3188590336,3188590591,US
+3188590592,3188590847,CL
+3188590848,3188591103,AR
+3188591104,3188591359,PE
+3188591360,3188597759,AR
3188597760,3188598783,PA
3188598784,3188600831,AR
3188600832,3188604927,CL
@@ -112405,7 +115179,8 @@
3191209984,3191275519,CL
3191275520,3191341055,AR
3191341056,3191406591,GT
-3191406592,3191418879,SV
+3191406592,3191414783,SV
+3191414784,3191418879,PA
3191418880,3191420927,CR
3191420928,3191439359,SV
3191439360,3191455743,EC
@@ -112425,13 +115200,18 @@
3191635968,3191652351,AR
3191652352,3191673281,CO
3191673282,3191673282,EC
-3191673283,3191677183,CO
+3191673283,3191676927,CO
+3191676928,3191677183,MX
3191677184,3191677695,SV
3191677696,3191678207,CO
3191678208,3191678463,HN
3191678464,3191678719,SV
3191678720,3191678975,EC
-3191678976,3191693311,CO
+3191678976,3191682559,CO
+3191682560,3191682815,AR
+3191682816,3191683071,CO
+3191683072,3191683327,CL
+3191683328,3191693311,CO
3191693312,3191701503,AR
3191701504,3191709695,CO
3191709696,3191709951,BR
@@ -112463,9 +115243,7 @@
3193575168,3193575295,PE
3193575296,3193575311,CO
3193575312,3193575327,PE
-3193575328,3193582847,CO
-3193582848,3193583103,EC
-3193583104,3193590655,CO
+3193575328,3193590655,CO
3193590656,3193590783,EC
3193590784,3193592319,CO
3193592320,3193592575,EC
@@ -112483,15 +115261,15 @@
3193618432,3193618559,US
3193618560,3193618943,CO
3193618944,3193619071,EC
-3193619072,3193622015,CO
-3193622016,3193622271,EC
-3193622272,3193622943,CO
+3193619072,3193622943,CO
3193622944,3193622975,EC
3193622976,3193623039,CO
3193623040,3193623551,EC
3193623552,3193625599,CO
3193625600,3193625855,EC
-3193625856,3193626623,US
+3193625856,3193626111,US
+3193626112,3193626367,CO
+3193626368,3193626623,US
3193626624,3193628671,CO
3193628672,3193628927,EC
3193628928,3193631103,CO
@@ -112499,9 +115277,7 @@
3193631232,3193634687,CO
3193634688,3193634815,EC
3193634816,3193700351,CL
-3193700352,3193724767,HN
-3193724768,3193724783,AR
-3193724784,3193724927,HN
+3193700352,3193724927,HN
3193724928,3193729023,AR
3193729024,3193733119,CU
3193733120,3193740543,AR
@@ -112535,8 +115311,7 @@
3194028032,3194044415,AR
3194044416,3194052607,CO
3194052608,3194056703,TT
-3194056704,3194058495,BQ
-3194058496,3194058751,CA
+3194056704,3194058751,BQ
3194058752,3194060799,AR
3194060800,3194068991,CO
3194068992,3194071039,PA
@@ -112621,7 +115396,9 @@
3194511360,3194515455,AW
3194515456,3194519551,GT
3194519552,3194535935,PY
-3194535936,3194585087,AR
+3194535936,3194547335,AR
+3194547336,3194547343,US
+3194547344,3194585087,AR
3194585088,3194589183,HN
3194589184,3194591231,AR
3194591232,3194592255,PA
@@ -112631,7 +115408,9 @@
3194596352,3194597375,HT
3194597376,3194601471,AR
3194601472,3194602495,CW
-3194602496,3194610943,AR
+3194602496,3194605439,AR
+3194605440,3194605567,CO
+3194605568,3194610943,AR
3194610944,3194611199,CO
3194611200,3194613503,AR
3194613504,3194613759,CL
@@ -112738,8 +115517,7 @@
3195143680,3195143935,AR
3195143936,3195144319,PA
3195144320,3195144447,MX
-3195144448,3195144703,CR
-3195144704,3195150335,PA
+3195144448,3195150335,PA
3195150336,3195158527,CL
3195158528,3195199487,AR
3195199488,3195201535,PY
@@ -112798,9 +115576,7 @@
3195736064,3195737087,BQ
3195737088,3195738111,CW
3195738112,3195740159,HN
-3195740160,3195740415,EC
-3195740416,3195740671,PA
-3195740672,3195741055,EC
+3195740160,3195741055,EC
3195741056,3195741087,HN
3195741088,3195741695,EC
3195741696,3195741951,PA
@@ -112814,11 +115590,9 @@
3195768832,3195772927,AR
3195772928,3195781119,VE
3195781120,3195785215,BR
-3195785216,3195785375,HN
-3195785376,3195785439,DE
-3195785440,3195785815,HN
-3195785816,3195785823,DE
-3195785824,3195786239,HN
+3195785216,3195785407,HN
+3195785408,3195785439,DE
+3195785440,3195786239,HN
3195786240,3195786287,US
3195786288,3195786295,ES
3195786296,3195786751,US
@@ -112851,7 +115625,11 @@
3196190720,3196207103,HN
3196207104,3196223487,CO
3196223488,3196305407,EC
-3196305408,3196317055,CO
+3196305408,3196316215,CO
+3196316216,3196316223,CW
+3196316224,3196316335,CO
+3196316336,3196316351,CW
+3196316352,3196317055,CO
3196317056,3196317183,CW
3196317184,3196321791,CO
3196321792,3196583935,UY
@@ -112859,7 +115637,8 @@
3196846080,3196977151,PA
3196977152,3197042687,VE
3197042688,3197075455,CO
-3197075456,3197108223,GT
+3197075456,3197104127,GT
+3197104128,3197108223,NI
3197108224,3197370367,CO
3197370368,3197501439,GT
3197501440,3197566975,SV
@@ -112900,8 +115679,7 @@
3199729664,3199762431,NI
3199762432,3199778815,CO
3199778816,3199779839,AR
-3199779840,3199780735,CR
-3199780736,3199780863,US
+3199779840,3199780863,CR
3199780864,3199782911,CO
3199782912,3199784959,AR
3199784960,3199785983,EC
@@ -112971,11 +115749,11 @@
3201900544,3201903615,CL
3201903616,3201904639,AR
3201904640,3201908735,CO
-3201908736,3201917007,AR
-3201917008,3201917023,CO
-3201917024,3201917527,AR
-3201917528,3201917535,CO
-3201917536,3201917859,AR
+3201908736,3201916927,AR
+3201916928,3201917183,CO
+3201917184,3201917439,AR
+3201917440,3201917695,CO
+3201917696,3201917859,AR
3201917860,3201917863,CO
3201917864,3201917879,AR
3201917880,3201917887,CO
@@ -112984,17 +115762,15 @@
3201918720,3201918795,AR
3201918796,3201918799,CO
3201918800,3201918975,AR
-3201918976,3201920063,CO
-3201920064,3201920064,AR
-3201920065,3201920068,CO
-3201920069,3201920255,AR
+3201918976,3201920083,CO
+3201920084,3201920255,AR
3201920256,3201920511,CO
-3201920512,3201920639,AR
-3201920640,3201920655,CO
-3201920656,3201921279,AR
-3201921280,3201921535,CO
-3201921536,3201922047,AR
-3201922048,3201923071,CO
+3201920512,3201920623,AR
+3201920624,3201920655,CO
+3201920656,3201921319,AR
+3201921320,3201921327,CO
+3201921328,3201921343,AR
+3201921344,3201923071,CO
3201923072,3201924351,AR
3201924352,3201924607,CR
3201924608,3201924863,AR
@@ -113034,8 +115810,8 @@
3203565056,3203566079,CR
3203566080,3203566591,CO
3203566592,3203566847,PA
-3203566848,3203567103,DO
-3203567104,3203568639,CO
+3203566848,3203566975,DO
+3203566976,3203568639,CO
3203568640,3203569663,SV
3203569664,3203570303,CO
3203570304,3203570431,SV
@@ -113072,18 +115848,22 @@
3210742562,3210742567,CL
3210742568,3210742575,US
3210742576,3210742591,BR
-3210742592,3210742783,FR
-3210742784,3210743039,CL
+3210742592,3210742751,FR
+3210742752,3210742783,BR
+3210742784,3210743039,US
3210743040,3210743055,GR
3210743056,3210743079,CL
3210743080,3210743087,US
3210743088,3210743103,CL
-3210743104,3210743295,FR
+3210743104,3210743135,FR
+3210743136,3210743231,BR
+3210743232,3210743295,FR
3210743296,3210743551,US
3210743552,3210743567,TH
3210743568,3210743615,BR
3210743616,3210743679,FR
-3210743680,3210743807,BR
+3210743680,3210743711,BR
+3210743712,3210743807,CL
3210743808,3210744063,US
3210744064,3210744079,TR
3210744080,3210744087,BR
@@ -113226,7 +116006,9 @@
3210788352,3210788607,MX
3210788608,3210788863,US
3210788864,3210789119,HR
-3210789120,3210792959,US
+3210789120,3210791935,US
+3210791936,3210792447,CL
+3210792448,3210792959,US
3210792960,3210793471,GB
3210793472,3210795007,US
3210795008,3210796031,IL
@@ -113259,8 +116041,7 @@
3210825728,3210827775,BZ
3210827776,3210829823,DO
3210829824,3210830847,AR
-3210830848,3210831359,PE
-3210831360,3210831871,BR
+3210830848,3210831871,BR
3210831872,3210832895,DO
3210832896,3210835967,AR
3210835968,3210838015,PY
@@ -113314,14 +116095,16 @@
3211082752,3211083007,SG
3211083008,3211083263,US
3211083264,3211083519,BR
-3211083520,3211083775,HK
+3211083520,3211083527,CO
+3211083528,3211083543,HK
+3211083544,3211083551,VE
+3211083552,3211083775,HK
3211083776,3211083791,RU
-3211083792,3211083839,CL
+3211083792,3211083839,DE
3211083840,3211083855,GB
-3211083856,3211083871,DE
-3211083872,3211083903,CL
+3211083856,3211083903,DE
3211083904,3211084031,FR
-3211084032,3211084287,CL
+3211084032,3211084287,DE
3211084288,3211084303,NL
3211084304,3211084351,DE
3211084352,3211084367,GB
@@ -113343,9 +116126,12 @@
3211085600,3211085695,CL
3211085696,3211085823,GE
3211085824,3211085839,TH
-3211085840,3211085887,DE
+3211085840,3211085887,CL
3211085888,3211085903,GB
-3211085904,3211086335,DE
+3211085904,3211085919,DE
+3211085920,3211086095,CL
+3211086096,3211086111,DE
+3211086112,3211086335,CL
3211086336,3211086351,FR
3211086352,3211086367,DE
3211086368,3211086463,CL
@@ -113477,7 +116263,8 @@
3211130624,3211130879,TR
3211130880,3211131391,US
3211131392,3211131903,NL
-3211131904,3211132927,SG
+3211131904,3211132159,BR
+3211132160,3211132927,SG
3211132928,3211137023,CO
3211137024,3211141119,AR
3211141120,3211142143,CL
@@ -113494,19 +116281,11 @@
3211172672,3211172687,NL
3211172688,3211174183,US
3211174184,3211174191,CA
-3211174192,3211174415,US
-3211174416,3211174431,CA
-3211174432,3211177839,US
+3211174192,3211177839,US
3211177840,3211177847,CR
3211177848,3211178583,US
3211178584,3211178591,ES
-3211178592,3211180047,US
-3211180048,3211180063,BR
-3211180064,3211180103,US
-3211180104,3211180111,BR
-3211180112,3211180887,US
-3211180888,3211180895,CR
-3211180896,3211181215,US
+3211178592,3211181215,US
3211181216,3211181231,CR
3211181232,3211182079,US
3211182080,3211194367,CO
@@ -113686,7 +116465,9 @@
3221647360,3221757951,US
3221757952,3221759999,MY
3221760000,3221761023,IN
-3221761024,3221779455,US
+3221761024,3221762047,US
+3221762048,3221762303,GB
+3221762304,3221779455,US
3221779456,3221780479,IN
3221780480,3221790719,US
3221790720,3221795071,IN
@@ -113734,8 +116515,7 @@
3222066944,3222067199,CA
3222067200,3222067455,US
3222067456,3222067967,CH
-3222067968,3222071039,US
-3222071040,3222071295,GB
+3222067968,3222071295,US
3222071296,3222071551,PT
3222071552,3222072063,US
3222072064,3222072319,SE
@@ -113783,8 +116563,8 @@
3222525440,3222531327,US
3222531328,3222531583,IN
3222531584,3222534655,US
-3222534656,3222534911,IL
-3222534912,3222806527,US
+3222534656,3222535167,IL
+3222535168,3222806527,US
3222806528,3222814719,CA
3222814720,3222875647,US
3222875648,3222875903,SG
@@ -113874,8 +116654,8 @@
3223302400,3223302655,CA
3223302656,3223303167,US
3223303168,3223303423,CA
-3223303424,3223307519,US
-3223307520,3223310079,JP
+3223303424,3223307263,US
+3223307264,3223310079,JP
3223310080,3223311103,US
3223311104,3223311359,FR
3223311360,3223315455,US
@@ -113904,7 +116684,7 @@
3223421440,3223421695,GB
3223421696,3223421951,NL
3223421952,3223422719,US
-3223422720,3223422975,JP
+3223422720,3223422975,AU
3223422976,3223424767,US
3223424768,3223425535,FR
3223425536,3223425791,US
@@ -114000,16 +116780,12 @@
3223586304,3223586559,GB
3223586560,3223589119,SE
3223589120,3223589375,US
-3223589376,3223591679,SE
-3223591936,3223592703,SE
-3223592960,3223594495,SE
+3223589376,3223594495,SE
3223594496,3223595007,AT
-3223595008,3223595263,SE
-3223595520,3223599103,SE
+3223595008,3223599103,SE
3223599104,3223599359,AT
3223599360,3223599615,IS
-3223599616,3223600383,SE
-3223600640,3223601663,SE
+3223599616,3223601663,SE
3223601664,3223602175,GB
3223602176,3223606527,SE
3223606528,3223606783,GB
@@ -114200,11 +116976,7 @@
3224370432,3224370687,CA
3224370688,3224370943,US
3224370944,3224371199,CA
-3224371200,3224373247,US
-3224373248,3224373503,AU
-3224373504,3224373759,US
-3224373760,3224374015,AU
-3224374016,3224379135,US
+3224371200,3224379135,US
3224379136,3224379391,DE
3224379392,3224398591,US
3224398592,3224398847,DE
@@ -114265,12 +117037,14 @@
3224725248,3224725503,NL
3224725504,3224725759,CH
3224725760,3224772351,US
-3224772352,3224777983,DE
+3224772352,3224776447,DE
+3224776448,3224776703,GB
+3224776704,3224777983,DE
3224777984,3224778239,US
3224778752,3224779775,ES
3224779776,3224785151,DE
3224785152,3224791039,US
-3224791040,3224791295,NL
+3224791040,3224791295,DE
3224791296,3224791807,AU
3224791808,3224793343,US
3224793344,3224793599,DE
@@ -114288,7 +117062,7 @@
3224798976,3224799231,AU
3224799232,3224799487,US
3224799744,3224799999,US
-3224800000,3224800255,NL
+3224800000,3224800255,DE
3224800256,3224800511,US
3224800512,3224816639,FR
3224816640,3224816895,IL
@@ -114307,16 +117081,15 @@
3224828928,3224829439,US
3224829440,3224829695,DE
3224829952,3224834047,US
-3224834048,3224834303,SG
-3224834304,3224834559,US
+3224834048,3224834559,SG
3224834560,3224834815,TH
-3224834816,3224841727,US
+3224834816,3224835071,SG
+3224835072,3224841727,US
3224841728,3224841983,CN
3224841984,3224847359,US
3224847360,3224848383,CN
-3224848384,3224850431,IN
-3224850432,3224851455,US
-3224851456,3224851711,NL
+3224848384,3224851455,US
+3224851456,3224851711,DE
3224851712,3224852735,US
3224852736,3224852991,DE
3224852992,3224855039,US
@@ -114361,9 +117134,11 @@
3224889344,3224889599,AU
3224889600,3224892415,US
3224892416,3224892671,DE
-3224892672,3224921087,US
-3224921088,3224921343,FI
-3224921344,3224957951,US
+3224892672,3224897791,US
+3224897792,3224898047,PR
+3224898048,3224943103,US
+3224943104,3224943615,NL
+3224943616,3224957951,US
3224957952,3224958207,CA
3224958208,3225028863,US
3225028864,3225031423,JP
@@ -114418,8 +117193,7 @@
3225468928,3225470463,CA
3225470464,3225471487,US
3225471488,3225471743,DE
-3225471744,3225472255,HK
-3225472256,3225498367,US
+3225471744,3225498367,US
3225498368,3225503487,NL
3225503488,3225506303,US
3225506304,3225508863,AU
@@ -114513,8 +117287,8 @@
3225673728,3225679871,US
3225679872,3225680127,AU
3225680128,3225680383,GR
-3225680384,3225680639,CA
-3225680640,3225681663,US
+3225680384,3225680895,CA
+3225680896,3225681663,US
3225681664,3225681919,CA
3225681920,3225682943,DE
3225682944,3225683199,AT
@@ -114584,8 +117358,8 @@
3225765888,3225766399,US
3225766400,3225766655,CA
3225766656,3225769471,US
-3225769472,3225769983,CA
-3225769984,3225773311,US
+3225769472,3225772031,CA
+3225772032,3225773311,US
3225773312,3225773567,CA
3225773568,3225776639,US
3225776640,3225777151,CA
@@ -114617,7 +117391,8 @@
3225860096,3225862143,US
3225862144,3225863167,DE
3225863168,3225864191,RU
-3225864192,3225868287,US
+3225864192,3225864447,ZA
+3225864448,3225868287,US
3225868288,3225868543,AU
3225868544,3225869055,US
3225869056,3225869311,AU
@@ -114640,7 +117415,7 @@
3225883392,3225884927,SE
3225884928,3225885183,NL
3225885184,3225885439,IT
-3225885440,3225885695,AT
+3225885440,3225885695,IL
3225885696,3225886719,SE
3225886720,3225886975,NO
3225886976,3225887231,SE
@@ -114906,7 +117681,8 @@
3226695680,3226695935,US
3226695936,3226696191,CA
3226696448,3226696703,AU
-3226697728,3226701823,CA
+3226697728,3226699775,US
+3226699776,3226701823,CA
3226701824,3226705919,US
3226705920,3226706175,FR
3226706176,3226707199,US
@@ -114918,7 +117694,8 @@
3226716160,3226716415,GB
3226716416,3226716671,US
3226716672,3226716927,GB
-3226716928,3226718207,US
+3226716928,3226717951,US
+3226717952,3226718207,BR
3226718208,3226719231,ZA
3226719232,3226720255,KE
3226720768,3226721279,JP
@@ -114969,8 +117746,8 @@
3226757888,3226758143,SI
3226758144,3226758399,HR
3226758400,3226758655,SI
-3226758656,3226763007,US
-3226763008,3226770687,IT
+3226758656,3226763263,US
+3226763264,3226770687,IT
3226770688,3226772991,US
3226772992,3226773247,CH
3226773248,3226774783,US
@@ -115040,7 +117817,7 @@
3226995456,3226996991,US
3226996992,3226997247,PT
3226997248,3226998527,US
-3226998528,3226999039,AT
+3226998528,3226999039,NL
3226999040,3227013119,US
3227013376,3227013887,US
3227013888,3227014399,NL
@@ -115060,9 +117837,10 @@
3227025920,3227026175,GB
3227026176,3227026687,US
3227026688,3227026943,GB
-3227026944,3227026947,US
-3227026948,3227026948,AU
-3227026949,3227040511,US
+3227026944,3227026955,AU
+3227026956,3227026957,US
+3227026958,3227027199,AU
+3227027200,3227040511,US
3227040512,3227040767,AU
3227040768,3227041279,US
3227041280,3227041535,NZ
@@ -115150,10 +117928,10 @@
3227392256,3227393023,US
3227393024,3227393279,AT
3227393280,3227394559,US
-3227394560,3227394815,IN
-3227394816,3227396351,US
-3227396352,3227396607,AU
-3227396608,3227398399,US
+3227394560,3227394817,IN
+3227394818,3227394818,US
+3227394819,3227395071,IN
+3227395072,3227398399,US
3227398400,3227398655,CA
3227398656,3227400447,US
3227400448,3227400703,AT
@@ -115177,7 +117955,7 @@
3227425792,3227427583,DK
3227427584,3227427839,ES
3227427840,3227429119,US
-3227429120,3227429375,AU
+3227429120,3227429375,NZ
3227429376,3227429887,US
3227429888,3227430143,GB
3227430144,3227430399,US
@@ -115277,7 +118055,10 @@
3227537152,3227539199,ZA
3227539200,3227540735,MU
3227540736,3227540991,ZA
-3227540992,3227543295,MU
+3227540992,3227541759,MU
+3227541760,3227542015,ZA
+3227542016,3227542527,MU
+3227542528,3227543295,ZA
3227543296,3227543551,US
3227543552,3227544831,ZA
3227544832,3227545087,MU
@@ -115328,14 +118109,37 @@
3227733912,3227733919,BR
3227733920,3227734399,CA
3227734400,3227734527,US
-3227734528,3227738879,CA
+3227734528,3227738367,CA
+3227738368,3227738623,US
+3227738624,3227738879,CA
3227738880,3227739135,US
-3227739136,3227746559,CA
+3227739136,3227742207,CA
+3227742208,3227742463,PL
+3227742464,3227742691,CA
+3227742692,3227742695,US
+3227742696,3227743359,CA
+3227743360,3227743375,US
+3227743376,3227743487,CA
+3227743488,3227743743,BR
+3227743744,3227743999,CZ
+3227744000,3227744167,CA
+3227744168,3227744171,US
+3227744172,3227744827,CA
+3227744828,3227744831,US
+3227744832,3227744911,CA
+3227744912,3227744915,US
+3227744916,3227745755,CA
+3227745756,3227745759,US
+3227745760,3227745867,CA
+3227745868,3227745871,US
+3227745872,3227746007,CA
+3227746008,3227746011,US
+3227746012,3227746167,CA
+3227746168,3227746175,US
+3227746176,3227746559,CA
3227746560,3227746815,AU
3227746816,3227747071,BR
-3227747072,3227747855,CA
-3227747856,3227747863,US
-3227747864,3227748035,CA
+3227747072,3227748035,CA
3227748036,3227748039,US
3227748040,3227749839,CA
3227749840,3227749855,BZ
@@ -115451,9 +118255,7 @@
3227818752,3227819263,MX
3227819264,3227819519,AR
3227819520,3227822079,MX
-3227822336,3227822847,MX
-3227822848,3227823103,HN
-3227823104,3227824383,MX
+3227822336,3227824383,MX
3227824384,3227824639,BR
3227824640,3227825663,MX
3227825664,3227825919,CR
@@ -115487,8 +118289,7 @@
3227851776,3227852031,DE
3227852032,3227853311,US
3227853312,3227853567,GB
-3227853568,3227860991,US
-3227863040,3227863807,US
+3227853568,3227863807,US
3227863808,3227864063,DE
3227864064,3227865343,US
3227865344,3227866111,NL
@@ -115649,9 +118450,7 @@
3228125952,3228126207,DE
3228126208,3228133375,US
3228133376,3228133631,CA
-3228133632,3228133887,US
-3228133888,3228134143,CA
-3228134144,3228134399,US
+3228133632,3228134399,US
3228134400,3228134655,CA
3228134656,3228172287,US
3228172288,3228237823,IT
@@ -115960,8 +118759,8 @@
3229264896,3229265919,US
3229265920,3229266175,AU
3229266176,3229266943,US
-3229266944,3229267199,NZ
-3229267200,3229273599,US
+3229266944,3229267455,NZ
+3229267456,3229273599,US
3229273600,3229273855,CA
3229273856,3229275647,US
3229275648,3229275903,GB
@@ -116098,13 +118897,13 @@
3229940736,3229940991,CH
3229940992,3229941247,AU
3229941248,3229945343,US
-3229945600,3229945855,PT
+3229945600,3229945855,NL
3229945856,3229947135,US
3229947136,3229947391,AU
3229947392,3229948927,US
3229948928,3229949183,IT
3229949184,3229949695,US
-3229949696,3229949951,AU
+3229949696,3229949951,NZ
3229949952,3229950207,NO
3229950208,3229950975,US
3229950976,3229951231,IL
@@ -116183,6 +118982,7 @@
3230116096,3230117631,US
3230117632,3230117887,FR
3230117888,3230120191,US
+3230120192,3230120447,BR
3230120448,3230120703,US
3230120704,3230120959,PT
3230120960,3230125823,US
@@ -116243,9 +119043,7 @@
3230168064,3230177791,US
3230177792,3230178303,GB
3230178304,3230178559,CH
-3230178560,3230214911,US
-3230214912,3230215167,PR
-3230215168,3230220287,US
+3230178560,3230220287,US
3230220288,3230220543,NL
3230220544,3230222079,US
3230222080,3230222335,NL
@@ -116292,9 +119090,7 @@
3230259200,3230269695,US
3230269696,3230271743,GB
3230271744,3230272511,US
-3230273536,3230277631,US
-3230277632,3230281727,DE
-3230281728,3230291455,US
+3230273536,3230291455,US
3230291456,3230291711,PT
3230291712,3230295039,US
3230295040,3230295295,AU
@@ -116416,6 +119212,17 @@
3230528512,3230529535,MX
3230529536,3230531583,BR
3230531584,3230662655,ZA
+3230662656,3230663679,ES
+3230663680,3230667775,RU
+3230667776,3230669823,RO
+3230669824,3230670847,RU
+3230670848,3230671103,DE
+3230671104,3230671871,US
+3230671872,3230673919,RU
+3230673920,3230674943,CZ
+3230674944,3230675967,RU
+3230675968,3230678015,CZ
+3230678016,3230679039,HR
3230679040,3230681599,BR
3230681600,3230681855,FR
3230682112,3230682623,FR
@@ -116429,9 +119236,10 @@
3230777344,3230784511,BR
3230784512,3230785535,MX
3230785536,3230786559,PL
-3230787328,3230795007,US
-3230795008,3230795263,TW
-3230795264,3230823679,US
+3230786560,3230787071,ID
+3230787328,3230797311,US
+3230797312,3230797567,SG
+3230797568,3230823679,US
3230823680,3230823935,DK
3230823936,3230824191,US
3230824192,3230824447,FR
@@ -116491,7 +119299,9 @@
3230868480,3230868735,GB
3230868736,3230870015,US
3230870016,3230870271,PL
-3230870272,3230878719,US
+3230870272,3230873343,US
+3230873344,3230873599,HK
+3230873600,3230878719,US
3230878720,3230879487,PT
3230879488,3230879743,FR
3230879744,3230895359,US
@@ -116693,8 +119503,9 @@
3231156224,3231166463,US
3231166464,3231167231,CA
3231167232,3231167487,CO
-3231167488,3231170559,CA
-3231170560,3231174655,US
+3231167488,3231167743,MX
+3231167744,3231168511,CA
+3231168512,3231174655,US
3231174656,3231178751,CN
3231178752,3231179263,HK
3231179264,3231180287,US
@@ -116858,16 +119669,13 @@
3231411056,3231411063,AU
3231411064,3231423999,US
3231424000,3231424511,PR
-3231424512,3231455521,US
-3231455522,3231455522,DE
-3231455523,3231482879,US
+3231424512,3231482879,US
3231482880,3231483135,BE
3231483136,3231484927,US
3231484928,3231487999,JP
3231488512,3231488767,JP
3231489280,3231489535,US
-3231489536,3231489791,JP
-3231489792,3231490047,AU
+3231489536,3231490047,AU
3231490048,3231490559,US
3231490560,3231490815,GB
3231490816,3231491327,US
@@ -116899,10 +119707,12 @@
3231515648,3231516671,US
3231516672,3231518719,SE
3231518720,3231519231,BR
-3231519232,3231528191,US
+3231519232,3231521471,US
+3231521472,3231521479,AU
+3231521480,3231528191,US
3231528192,3231528287,CA
3231528288,3231528303,US
-3231528304,3231528311,NO
+3231528304,3231528311,CA
3231528312,3231528383,US
3231528384,3231528447,CA
3231528448,3231528959,US
@@ -116914,11 +119724,7 @@
3231529024,3231529031,US
3231529032,3231529055,CA
3231529056,3231529071,US
-3231529072,3231529119,CA
-3231529120,3231529127,US
-3231529128,3231529167,CA
-3231529168,3231529175,US
-3231529176,3231529191,CA
+3231529072,3231529191,CA
3231529192,3231529199,US
3231529200,3231529435,CA
3231529436,3231529439,US
@@ -116968,8 +119774,8 @@
3231589120,3231591679,US
3231591680,3231591935,AU
3231591936,3231593983,US
-3231593984,3231594239,GB
-3231594240,3231596031,US
+3231593984,3231594495,GB
+3231594496,3231596031,US
3231596032,3231596543,PR
3231596544,3231634943,US
3231634944,3231635455,CA
@@ -117008,8 +119814,8 @@
3231676160,3231676671,US
3231676672,3231676927,FR
3231676928,3231677183,FI
-3231677184,3231689727,US
-3231689728,3231690751,MX
+3231677184,3231689215,US
+3231689216,3231690751,MX
3231690752,3231692799,CA
3231692800,3231694847,US
3231694848,3231711231,CA
@@ -117220,7 +120026,8 @@
3232112640,3232113663,PL
3232113664,3232114687,IQ
3232114688,3232115711,TR
-3232115712,3232116735,GB
+3232115712,3232115967,NL
+3232115968,3232116735,GB
3232116736,3232129023,DE
3232129024,3232130047,NL
3232130048,3232131071,UA
@@ -117342,53 +120149,39 @@
3232825344,3233288191,US
3233288192,3233292287,CA
3233292288,3233431551,US
-3233431552,3233448223,CA
-3233448224,3233448255,US
-3233448256,3233448263,CA
-3233448264,3233448271,US
-3233448272,3233448287,CA
+3233431552,3233448239,CA
+3233448240,3233448255,US
+3233448256,3233448287,CA
3233448288,3233448295,US
-3233448296,3233448303,CA
-3233448304,3233448319,US
-3233448320,3233448447,CA
+3233448296,3233448447,CA
3233448448,3233448463,US
3233448464,3233448479,CA
3233448480,3233448495,US
-3233448496,3233448527,CA
-3233448528,3233448543,US
-3233448544,3233448575,CA
-3233448576,3233448607,US
-3233448608,3233448655,CA
-3233448656,3233448671,US
-3233448672,3233448823,CA
+3233448496,3233448591,CA
+3233448592,3233448607,US
+3233448608,3233448823,CA
3233448824,3233448831,US
3233448832,3233448863,CA
3233448864,3233448871,US
-3233448872,3233448879,FI
-3233448880,3233448895,US
-3233448896,3233448903,CA
-3233448904,3233448927,US
-3233448928,3233449071,CA
-3233449072,3233449079,US
-3233449080,3233449095,CA
+3233448872,3233448903,CA
+3233448904,3233448911,US
+3233448912,3233449095,CA
3233449096,3233449103,GB
3233449104,3233449199,CA
3233449200,3233449215,US
3233449216,3233449311,CA
3233449312,3233449319,RO
-3233449320,3233449327,CA
-3233449328,3233449343,US
-3233449344,3233449359,CA
+3233449320,3233449359,CA
3233449360,3233449367,US
-3233449368,3233449519,CA
-3233449520,3233449567,US
-3233449568,3233449583,CA
-3233449584,3233449663,US
-3233449664,3233449671,CA
-3233449672,3233449695,US
-3233449696,3233449727,CA
-3233449728,3233449783,US
-3233449784,3233449823,CA
+3233449368,3233449535,CA
+3233449536,3233449567,US
+3233449568,3233449615,CA
+3233449616,3233449631,US
+3233449632,3233449639,CA
+3233449640,3233449663,US
+3233449664,3233449759,CA
+3233449760,3233449775,US
+3233449776,3233449823,CA
3233449824,3233449839,US
3233449840,3233450047,CA
3233450048,3233450111,US
@@ -117396,105 +120189,82 @@
3233450128,3233450135,US
3233450136,3233450199,CA
3233450200,3233450207,GB
-3233450208,3233450411,CA
-3233450412,3233450415,US
-3233450416,3233450607,CA
-3233450608,3233450615,US
-3233450616,3233450735,CA
-3233450736,3233450739,US
-3233450740,3233450775,CA
-3233450776,3233450783,SE
+3233450208,3233450783,CA
3233450784,3233450815,US
-3233450816,3233450847,CA
-3233450848,3233450887,US
+3233450816,3233450863,CA
+3233450864,3233450887,US
3233450888,3233450895,CA
-3233450896,3233450959,US
-3233450960,3233450991,CA
-3233450992,3233451263,US
+3233450896,3233450911,US
+3233450912,3233450927,CA
+3233450928,3233450959,US
+3233450960,3233451007,CA
+3233451008,3233451263,US
3233451264,3233451519,CA
-3233451520,3233451551,GB
-3233451552,3233451583,US
-3233451584,3233451647,GB
-3233451648,3233451711,US
-3233451712,3233451751,GB
-3233451752,3233451807,US
-3233451808,3233451823,CA
-3233451824,3233451831,US
-3233451832,3233451879,CA
-3233451880,3233451951,US
+3233451520,3233451775,GB
+3233451776,3233451903,CA
+3233451904,3233451951,US
3233451952,3233452031,CA
-3233452032,3233452319,US
-3233452320,3233452335,CA
-3233452336,3233452351,US
-3233452352,3233452383,CA
-3233452384,3233452495,US
-3233452496,3233452511,CA
-3233452512,3233452527,US
+3233452032,3233452287,US
+3233452288,3233452303,CA
+3233452304,3233452319,US
+3233452320,3233452383,CA
+3233452384,3233452487,US
+3233452488,3233452519,CA
+3233452520,3233452527,US
3233452528,3233452543,CA
-3233452544,3233452879,US
+3233452544,3233452831,US
+3233452832,3233452847,CA
+3233452848,3233452879,US
3233452880,3233452959,CA
-3233452960,3233453199,US
+3233452960,3233453007,US
+3233453008,3233453023,CA
+3233453024,3233453199,US
3233453200,3233453247,CA
-3233453248,3233453279,US
+3233453248,3233453263,US
+3233453264,3233453271,CA
+3233453272,3233453279,US
3233453280,3233453295,CA
3233453296,3233453311,US
-3233453312,3233453383,CA
-3233453384,3233453391,US
-3233453392,3233453439,CA
-3233453440,3233453471,US
-3233453472,3233453503,CA
-3233453504,3233453567,US
-3233453568,3233453623,IT
-3233453624,3233454079,US
-3233454080,3233454175,CA
-3233454176,3233454207,US
-3233454208,3233454399,CA
-3233454400,3233454447,US
-3233454448,3233454511,CA
+3233453312,3233453455,CA
+3233453456,3233453471,US
+3233453472,3233453567,CA
+3233453568,3233453631,IT
+3233453632,3233454079,US
+3233454080,3233454399,CA
+3233454400,3233454415,US
+3233454416,3233454423,CA
+3233454424,3233454431,US
+3233454432,3233454511,CA
3233454512,3233454527,US
3233454528,3233454559,CA
3233454560,3233454575,US
-3233454576,3233454591,CA
-3233454592,3233454599,SE
-3233454600,3233454639,CA
-3233454640,3233454647,US
-3233454648,3233454687,CA
-3233454688,3233454695,US
-3233454696,3233454735,CA
-3233454736,3233454743,US
-3233454744,3233454799,CA
-3233454800,3233454807,US
-3233454808,3233454815,CA
+3233454576,3233454727,CA
+3233454728,3233454783,US
+3233454784,3233454815,CA
3233454816,3233454823,US
-3233454824,3233454831,CA
-3233454832,3233454839,US
-3233454840,3233454879,CA
-3233454880,3233454911,US
-3233454912,3233455039,CA
+3233454824,3233454847,CA
+3233454848,3233454879,US
+3233454880,3233455039,CA
3233455040,3233455071,US
-3233455072,3233455087,CA
-3233455088,3233455103,US
-3233455104,3233455327,CA
+3233455072,3233455327,CA
3233455328,3233455335,US
-3233455336,3233455351,CA
-3233455352,3233455359,US
-3233455360,3233455423,CA
-3233455424,3233455447,US
-3233455448,3233455455,CA
-3233455456,3233455487,US
+3233455336,3233455439,CA
+3233455440,3233455447,US
+3233455448,3233455471,CA
+3233455472,3233455487,US
3233455488,3233455519,CA
3233455520,3233455551,US
-3233455552,3233455663,CA
-3233455664,3233455719,US
-3233455720,3233455743,CA
+3233455552,3233455695,CA
+3233455696,3233455711,US
+3233455712,3233455743,CA
3233455744,3233455807,US
-3233455808,3233455839,CA
-3233455840,3233455871,US
+3233455808,3233455855,CA
+3233455856,3233455871,US
3233455872,3233455935,CA
3233455936,3233455967,US
-3233455968,3233455999,CA
-3233456000,3233456047,US
-3233456048,3233456063,CA
+3233455968,3233456015,CA
+3233456016,3233456031,US
+3233456032,3233456063,CA
3233456064,3233456111,US
3233456112,3233456119,CA
3233456120,3233456191,US
@@ -117506,92 +120276,96 @@
3233456416,3233456639,US
3233456640,3233456655,CA
3233456656,3233456671,US
-3233456672,3233456767,CA
-3233456768,3233456895,US
+3233456672,3233456799,CA
+3233456800,3233456847,US
+3233456848,3233456863,CA
+3233456864,3233456895,US
3233456896,3233456943,CA
-3233456944,3233456999,US
+3233456944,3233456959,US
+3233456960,3233456975,CA
+3233456976,3233456999,US
3233457000,3233457023,CA
3233457024,3233457039,US
-3233457040,3233457055,CA
-3233457056,3233457535,US
+3233457040,3233457087,CA
+3233457088,3233457471,US
+3233457472,3233457519,CA
+3233457520,3233457535,US
3233457536,3233457631,CA
-3233457632,3233457671,US
-3233457672,3233457679,CA
-3233457680,3233457687,US
-3233457688,3233457727,CA
-3233457728,3233457775,US
+3233457632,3233457647,US
+3233457648,3233457663,CA
+3233457664,3233457671,US
+3233457672,3233457735,CA
+3233457736,3233457775,US
3233457776,3233457831,CA
-3233457832,3233457919,US
-3233457920,3233458175,CA
-3233458176,3233458207,US
-3233458208,3233458223,CA
+3233457832,3233457871,US
+3233457872,3233458175,CA
+3233458176,3233458191,US
+3233458192,3233458223,CA
3233458224,3233458271,US
3233458272,3233458303,CA
-3233458304,3233458527,US
-3233458528,3233458535,CA
-3233458536,3233458559,US
-3233458560,3233458591,CA
-3233458592,3233458623,US
-3233458624,3233458687,CA
+3233458304,3233458351,US
+3233458352,3233458359,CA
+3233458360,3233458399,US
+3233458400,3233458431,CA
+3233458432,3233458527,US
+3233458528,3233458591,CA
+3233458592,3233458607,US
+3233458608,3233458687,CA
3233458688,3233458943,US
3233458944,3233458959,BG
-3233458960,3233459839,US
-3233459840,3233459919,CA
-3233459920,3233459935,US
-3233459936,3233459967,CA
+3233458960,3233459455,US
+3233459456,3233459471,CA
+3233459472,3233459631,US
+3233459632,3233459679,CA
+3233459680,3233459695,US
+3233459696,3233459711,CA
+3233459712,3233459727,US
+3233459728,3233459775,CA
+3233459776,3233459807,US
+3233459808,3233459823,CA
+3233459824,3233459839,US
+3233459840,3233459967,CA
3233459968,3233459999,US
3233460000,3233460015,CA
-3233460016,3233460063,US
-3233460064,3233460119,CA
-3233460120,3233460159,US
-3233460160,3233460223,CA
+3233460016,3233460047,US
+3233460048,3233460223,CA
3233460224,3233460479,US
-3233460480,3233460487,CA
-3233460488,3233460511,US
+3233460480,3233460495,CA
+3233460496,3233460511,US
3233460512,3233460519,SE
3233460520,3233460527,CA
3233460528,3233460535,US
-3233460536,3233460543,CA
-3233460544,3233460607,US
-3233460608,3233460671,CA
-3233460672,3233461279,US
+3233460536,3233460607,CA
+3233460608,3233461279,US
3233461280,3233461303,CA
3233461304,3233461319,US
-3233461320,3233461327,CA
-3233461328,3233461335,US
-3233461336,3233461343,CA
-3233461344,3233461351,US
-3233461352,3233461375,CA
-3233461376,3233461439,US
-3233461440,3233461471,CA
-3233461472,3233461543,US
+3233461320,3233461375,CA
+3233461376,3233461407,US
+3233461408,3233461487,CA
+3233461488,3233461543,US
3233461544,3233461567,CA
-3233461568,3233461631,US
-3233461632,3233461639,CA
+3233461568,3233461583,US
+3233461584,3233461599,CA
+3233461600,3233461615,US
+3233461616,3233461639,CA
3233461640,3233461679,US
-3233461680,3233461687,CA
-3233461688,3233461711,US
-3233461712,3233461727,CA
+3233461680,3233461727,CA
3233461728,3233461743,US
3233461744,3233461759,CA
-3233461760,3233461855,US
+3233461760,3233461823,US
+3233461824,3233461839,CA
+3233461840,3233461855,US
3233461856,3233461871,CA
3233461872,3233462015,US
-3233462016,3233462063,CA
-3233462064,3233462071,US
-3233462072,3233462127,CA
-3233462128,3233462271,US
-3233462272,3233462527,CA
+3233462016,3233462127,CA
+3233462128,3233462143,US
+3233462144,3233462527,CA
3233462528,3233462783,US
3233462784,3233463295,CA
3233463296,3233463551,US
-3233463552,3233463615,CA
-3233463616,3233463663,US
-3233463664,3233463679,CA
-3233463680,3233463855,US
-3233463856,3233463871,CA
-3233463872,3233463887,US
-3233463888,3233463919,CA
+3233463552,3233463807,CA
+3233463808,3233463855,US
+3233463856,3233463919,CA
3233463920,3233463999,US
3233464000,3233464063,CA
3233464064,3233484799,US
@@ -117643,7 +120417,7 @@
3233579520,3233580031,US
3233580032,3233580287,GB
3233580288,3233581055,US
-3233581056,3233581311,NL
+3233581056,3233581311,DE
3233581312,3233583359,US
3233583360,3233583615,GB
3233583616,3233584895,US
@@ -117672,9 +120446,7 @@
3233607168,3233607935,US
3233607936,3233608191,NZ
3233608192,3233609727,HU
-3233609728,3233612031,US
-3233612032,3233612287,GB
-3233612288,3233613823,US
+3233609728,3233613823,US
3233613824,3233614847,GB
3233614848,3233615359,US
3233615360,3233615615,NL
@@ -117716,7 +120488,7 @@
3233650688,3233651199,US
3233651200,3233651455,IT
3233651456,3233651967,US
-3233651968,3233652223,NL
+3233651968,3233652223,GB
3233652224,3233652479,US
3233652736,3233652991,NL
3233652992,3233654271,US
@@ -117808,17 +120580,19 @@
3233802752,3233808383,US
3233808384,3233873919,TW
3233873920,3233874943,AU
-3233874944,3233903615,US
+3233874944,3233890815,US
+3233890816,3233891071,ID
+3233891072,3233901055,US
+3233901056,3233901567,IN
+3233901568,3233903615,US
3233903616,3233903743,GB
3233903744,3233903807,US
3233903808,3233903871,GB
-3233903872,3233908479,US
+3233903872,3233907967,US
+3233907968,3233908223,HK
+3233908224,3233908479,US
3233908480,3233908735,SG
-3233908736,3233917853,US
-3233917854,3233917854,MX
-3233917855,3233921535,US
-3233921536,3233921791,MX
-3233921792,3233939455,US
+3233908736,3233939455,US
3233939456,3234004991,FI
3234005248,3234005503,GB
3234005760,3234006015,CA
@@ -117881,9 +120655,37 @@
3234127616,3234127871,CA
3234127872,3234128455,US
3234128456,3234128463,GB
-3234128464,3234131183,US
-3234131184,3234131191,GB
-3234131192,3234136063,US
+3234128464,3234128975,US
+3234128976,3234128983,CN
+3234128984,3234131135,US
+3234131136,3234131143,GB
+3234131144,3234131151,US
+3234131152,3234131159,BR
+3234131160,3234131167,US
+3234131168,3234131183,NL
+3234131184,3234131199,GB
+3234131200,3234131207,AU
+3234131208,3234131247,US
+3234131248,3234131255,DO
+3234131256,3234131263,US
+3234131264,3234131279,RU
+3234131280,3234131295,BR
+3234131296,3234131327,US
+3234131328,3234131359,TR
+3234131360,3234131375,BR
+3234131376,3234131391,US
+3234131392,3234131423,IN
+3234131424,3234131519,AU
+3234131520,3234131535,US
+3234131536,3234131551,IN
+3234131552,3234131583,JM
+3234131584,3234131639,US
+3234131640,3234131647,JM
+3234131648,3234131679,US
+3234131680,3234131687,JM
+3234131688,3234131695,US
+3234131696,3234131703,IT
+3234131704,3234136063,US
3234136064,3234150911,CA
3234150912,3234151423,US
3234151424,3234158847,CA
@@ -117908,21 +120710,15 @@
3234201344,3234203647,US
3234203648,3234205695,AR
3234205696,3234226175,US
-3234226176,3234226207,CA
-3234226208,3234226239,US
-3234226240,3234226263,CA
+3234226176,3234226263,CA
3234226264,3234226271,US
3234226272,3234226279,CA
3234226280,3234226303,US
-3234226304,3234226359,CA
-3234226360,3234226367,US
-3234226368,3234226559,CA
-3234226560,3234226575,US
-3234226576,3234226591,CA
-3234226592,3234226687,US
+3234226304,3234226623,CA
+3234226624,3234226687,US
3234226688,3234226711,CA
-3234226712,3234226767,US
-3234226768,3234226847,CA
+3234226712,3234226751,US
+3234226752,3234226847,CA
3234226848,3234226863,US
3234226864,3234226879,CA
3234226880,3234226943,US
@@ -117930,14 +120726,9 @@
3234226960,3234226967,US
3234226968,3234227007,CA
3234227008,3234227023,US
-3234227024,3234227047,CA
-3234227048,3234227055,US
-3234227056,3234227135,CA
+3234227024,3234227135,CA
3234227136,3234227143,US
-3234227144,3234227151,CA
-3234227152,3234227159,US
-3234227160,3234227167,FI
-3234227168,3234227191,CA
+3234227144,3234227191,CA
3234227192,3234227455,US
3234227456,3234227611,CA
3234227612,3234227615,US
@@ -117948,8 +120739,8 @@
3234227644,3234227695,CA
3234227696,3234227699,US
3234227700,3234227707,CA
-3234227708,3234227759,US
-3234227760,3234227775,CA
+3234227708,3234227711,US
+3234227712,3234227775,CA
3234227776,3234227807,US
3234227808,3234227839,CA
3234227840,3234227879,US
@@ -117959,37 +120750,33 @@
3234227952,3234228223,US
3234228224,3234228287,CA
3234228288,3234228383,US
-3234228384,3234228447,CA
-3234228448,3234228455,US
-3234228456,3234228463,CA
+3234228384,3234228463,CA
3234228464,3234228479,US
3234228480,3234228607,CA
3234228608,3234228639,US
3234228640,3234228671,CA
-3234228672,3234228735,US
-3234228736,3234228999,CA
-3234229000,3234229007,US
-3234229008,3234229039,CA
+3234228672,3234228703,US
+3234228704,3234228719,CA
+3234228720,3234228735,US
+3234228736,3234229039,CA
3234229040,3234229047,US
3234229048,3234229063,CA
-3234229064,3234229095,US
-3234229096,3234229111,CA
+3234229064,3234229079,US
+3234229080,3234229111,CA
3234229112,3234229119,US
-3234229120,3234229135,CA
-3234229136,3234229143,US
-3234229144,3234229191,CA
+3234229120,3234229191,CA
3234229192,3234229199,US
3234229200,3234229215,CA
3234229216,3234229223,SE
3234229224,3234229239,CA
-3234229240,3234229599,US
+3234229240,3234229503,US
+3234229504,3234229567,CA
+3234229568,3234229599,US
3234229600,3234229607,CA
3234229608,3234229615,US
3234229616,3234229695,CA
-3234229696,3234229759,US
-3234229760,3234229839,CA
-3234229840,3234229847,US
-3234229848,3234229895,CA
+3234229696,3234229743,US
+3234229744,3234229895,CA
3234229896,3234229903,US
3234229904,3234229911,CA
3234229912,3234229951,US
@@ -117997,62 +120784,58 @@
3234230016,3234230207,ES
3234230208,3234230271,US
3234230272,3234230399,CA
-3234230400,3234230463,US
-3234230464,3234230511,CA
-3234230512,3234230783,US
-3234230784,3234230911,CA
-3234230912,3234230991,US
-3234230992,3234230999,CA
-3234231000,3234231047,US
-3234231048,3234231055,CA
+3234230400,3234230431,US
+3234230432,3234230527,CA
+3234230528,3234230783,US
+3234230784,3234230927,CA
+3234230928,3234230991,US
+3234230992,3234231007,CA
+3234231008,3234231039,US
+3234231040,3234231055,CA
3234231056,3234231063,US
3234231064,3234231087,CA
3234231088,3234231103,US
-3234231104,3234231127,CA
-3234231128,3234231135,US
-3234231136,3234231143,CA
-3234231144,3234231159,US
-3234231160,3234231199,CA
-3234231200,3234231215,US
-3234231216,3234231231,CA
-3234231232,3234231247,US
-3234231248,3234231255,CA
+3234231104,3234231143,CA
+3234231144,3234231151,US
+3234231152,3234231255,CA
3234231256,3234231279,US
-3234231280,3234231287,CA
-3234231288,3234231295,SE
-3234231296,3234231423,CA
+3234231280,3234231423,CA
3234231424,3234231551,US
3234231552,3234231807,CA
-3234231808,3234232159,US
+3234231808,3234232111,US
+3234232112,3234232127,CA
+3234232128,3234232159,US
3234232160,3234232247,CA
-3234232248,3234232319,US
+3234232248,3234232255,US
+3234232256,3234232319,CA
3234232320,3234232575,EG
-3234232576,3234233063,US
-3234233064,3234233071,SE
-3234233072,3234233375,US
-3234233376,3234233383,CA
-3234233384,3234233391,US
-3234233392,3234233399,CA
+3234232576,3234233343,US
+3234233344,3234233399,CA
3234233400,3234233407,US
3234233408,3234233471,CA
3234233472,3234233487,US
-3234233488,3234233495,CA
-3234233496,3234233503,SE
-3234233504,3234233599,US
-3234233600,3234233631,CA
-3234233632,3234233759,US
+3234233488,3234233519,CA
+3234233520,3234233599,US
+3234233600,3234233647,CA
+3234233648,3234233759,US
3234233760,3234233791,CA
3234233792,3234233823,US
3234233824,3234233855,CA
-3234233856,3234234199,US
+3234233856,3234234127,US
+3234234128,3234234143,CA
+3234234144,3234234199,US
3234234200,3234234207,CA
3234234208,3234234239,US
3234234240,3234234247,CA
3234234248,3234234271,US
3234234272,3234234287,CA
-3234234288,3234238463,US
+3234234288,3234234335,US
+3234234336,3234234367,CA
+3234234368,3234238463,US
3234238464,3234239487,MY
-3234239488,3234267135,US
+3234239488,3234240255,US
+3234240256,3234240511,IE
+3234240512,3234267135,US
3234267136,3234267391,CA
3234267392,3234268927,US
3234268928,3234269183,SG
@@ -118218,7 +121001,8 @@
3235184896,3235275775,US
3235275776,3235276799,CA
3235276800,3235278847,US
-3235278848,3235282943,BB
+3235278848,3235282431,BB
+3235282432,3235282943,GD
3235282944,3235315711,CA
3235315712,3235512319,US
3235512320,3235577855,JP
@@ -118272,9 +121056,7 @@
3235959552,3235959807,CA
3235959808,3235962111,US
3235962112,3235962367,CA
-3235962368,3235963647,US
-3235963648,3235963903,CA
-3235963904,3235968511,US
+3235962368,3235968511,US
3235968512,3235968767,CA
3235968768,3235970559,US
3235970560,3235970815,CA
@@ -118484,55 +121266,48 @@
3237036128,3237036135,CA
3237036136,3237036159,US
3237036160,3237036255,CA
-3237036256,3237036383,US
+3237036256,3237036351,US
+3237036352,3237036367,CA
+3237036368,3237036383,US
3237036384,3237036415,CA
3237036416,3237036495,US
3237036496,3237036511,CA
3237036512,3237036543,US
3237036544,3237036551,CA
3237036552,3237036555,US
-3237036556,3237036679,CA
-3237036680,3237036687,SE
-3237036688,3237036695,US
-3237036696,3237036703,CA
+3237036556,3237036703,CA
3237036704,3237036711,US
3237036712,3237036799,CA
3237036800,3237037311,US
3237037312,3237037567,CA
3237037568,3237037583,US
-3237037584,3237037591,CA
-3237037592,3237037599,US
-3237037600,3237037607,CA
+3237037584,3237037607,CA
3237037608,3237037631,US
-3237037632,3237037647,CA
-3237037648,3237037655,SE
-3237037656,3237037703,CA
+3237037632,3237037703,CA
3237037704,3237037711,US
3237037712,3237037751,CA
3237037752,3237037759,US
-3237037760,3237037767,CA
-3237037768,3237037775,NO
-3237037776,3237037783,CA
-3237037784,3237037791,US
-3237037792,3237037815,CA
-3237037816,3237037847,US
-3237037848,3237037887,CA
+3237037760,3237037815,CA
+3237037816,3237037823,US
+3237037824,3237037887,CA
3237037888,3237037895,US
3237037896,3237037943,CA
-3237037944,3237037975,US
-3237037976,3237037991,CA
-3237037992,3237038007,US
-3237038008,3237038015,CA
-3237038016,3237038047,US
+3237037944,3237037959,US
+3237037960,3237037967,CA
+3237037968,3237037975,US
+3237037976,3237037999,CA
+3237038000,3237038007,US
+3237038008,3237038031,CA
+3237038032,3237038047,US
3237038048,3237038079,CA
3237038080,3237038335,US
3237038336,3237038367,CA
3237038368,3237038399,US
3237038400,3237038415,CA
3237038416,3237038431,US
-3237038432,3237038463,CA
-3237038464,3237038591,US
-3237038592,3237038607,CA
+3237038432,3237038495,CA
+3237038496,3237038575,US
+3237038576,3237038607,CA
3237038608,3237038615,US
3237038616,3237038663,CA
3237038664,3237038671,US
@@ -118547,21 +121322,27 @@
3237038792,3237038823,CA
3237038824,3237038839,US
3237038840,3237038863,CA
-3237038864,3237039055,US
-3237039056,3237039103,CA
-3237039104,3237039231,US
-3237039232,3237039295,CA
-3237039296,3237039615,US
-3237039616,3237039811,CA
-3237039812,3237039815,US
-3237039816,3237039835,CA
-3237039836,3237039839,US
-3237039840,3237039935,CA
+3237038864,3237038879,US
+3237038880,3237038911,CA
+3237038912,3237038927,US
+3237038928,3237038991,CA
+3237038992,3237039039,US
+3237039040,3237039103,CA
+3237039104,3237039183,US
+3237039184,3237039199,CA
+3237039200,3237039215,US
+3237039216,3237039295,CA
+3237039296,3237039343,US
+3237039344,3237039359,CA
+3237039360,3237039615,US
+3237039616,3237039935,CA
3237039936,3237040063,US
3237040064,3237040143,CA
3237040144,3237040159,US
3237040160,3237040255,CA
-3237040256,3237040335,US
+3237040256,3237040303,US
+3237040304,3237040319,CA
+3237040320,3237040335,US
3237040336,3237040351,CA
3237040352,3237040895,US
3237040896,3237041151,CA
@@ -118571,28 +121352,24 @@
3237041824,3237041935,CA
3237041936,3237041983,US
3237041984,3237042047,CA
-3237042048,3237042079,US
-3237042080,3237042127,CA
+3237042048,3237042063,US
+3237042064,3237042127,CA
3237042128,3237042431,US
3237042432,3237042463,CA
3237042464,3237042471,US
3237042472,3237042479,CA
3237042480,3237042495,US
-3237042496,3237042511,CA
-3237042512,3237042527,US
-3237042528,3237042607,CA
+3237042496,3237042607,CA
3237042608,3237042623,US
3237042624,3237042631,CA
3237042632,3237042639,US
3237042640,3237042647,CA
-3237042648,3237042671,US
-3237042672,3237042679,CA
+3237042648,3237042655,US
+3237042656,3237042679,CA
3237042680,3237042687,US
3237042688,3237042943,CA
3237042944,3237043455,US
-3237043456,3237043479,CA
-3237043480,3237043483,US
-3237043484,3237043711,CA
+3237043456,3237043711,CA
3237043712,3237043967,US
3237043968,3237044223,CH
3237044224,3237044287,US
@@ -118602,69 +121379,64 @@
3237044624,3237044631,US
3237044632,3237044639,CA
3237044640,3237044647,US
-3237044648,3237044679,CA
-3237044680,3237044703,US
+3237044648,3237044695,CA
+3237044696,3237044703,US
3237044704,3237044711,CA
3237044712,3237044719,US
3237044720,3237044727,CA
-3237044728,3237044799,US
-3237044800,3237044815,CA
+3237044728,3237044735,US
+3237044736,3237044815,CA
3237044816,3237044831,US
3237044832,3237044887,CA
3237044888,3237044895,US
-3237044896,3237044903,CA
-3237044904,3237044911,US
-3237044912,3237045031,CA
+3237044896,3237045031,CA
3237045032,3237045039,US
-3237045040,3237045119,CA
-3237045120,3237045127,US
-3237045128,3237045199,CA
-3237045200,3237045207,US
-3237045208,3237045223,CA
+3237045040,3237045223,CA
3237045224,3237045231,US
3237045232,3237045247,CA
3237045248,3237045503,US
-3237045504,3237045559,CA
-3237045560,3237045567,US
-3237045568,3237045591,CA
-3237045592,3237045599,SE
-3237045600,3237045663,CA
-3237045664,3237045671,FI
-3237045672,3237045687,CA
-3237045688,3237045695,US
-3237045696,3237045711,CA
+3237045504,3237045711,CA
3237045712,3237045719,US
3237045720,3237045759,CA
3237045760,3237046559,US
3237046560,3237046607,CA
-3237046608,3237046639,US
-3237046640,3237046647,CA
+3237046608,3237046623,US
+3237046624,3237046647,CA
3237046648,3237046655,SE
-3237046656,3237046767,US
+3237046656,3237046671,CA
+3237046672,3237046767,US
3237046768,3237046775,CA
-3237046776,3237046943,US
+3237046776,3237046815,US
+3237046816,3237046879,CA
+3237046880,3237046943,US
3237046944,3237047039,CA
3237047040,3237047295,FR
-3237047296,3237047871,US
+3237047296,3237047807,US
+3237047808,3237047839,CA
+3237047840,3237047871,US
3237047872,3237047935,CA
-3237047936,3237048143,US
+3237047936,3237048031,US
+3237048032,3237048079,CA
+3237048080,3237048111,US
+3237048112,3237048127,CA
+3237048128,3237048143,US
3237048144,3237048159,CA
3237048160,3237048191,US
3237048192,3237048255,CA
3237048256,3237048575,US
3237048576,3237048767,CA
-3237048768,3237048815,US
-3237048816,3237049727,CA
+3237048768,3237048783,US
+3237048784,3237049727,CA
3237049728,3237050111,US
-3237050112,3237050143,GB
-3237050144,3237050207,US
-3237050208,3237050239,GB
-3237050240,3237051903,US
+3237050112,3237050159,GB
+3237050160,3237050175,US
+3237050176,3237050303,GB
+3237050304,3237051903,US
3237051904,3237052159,TR
-3237052160,3237052287,CA
-3237052288,3237052383,US
-3237052384,3237052399,CA
-3237052400,3237125295,US
+3237052160,3237052319,CA
+3237052320,3237052383,US
+3237052384,3237052415,CA
+3237052416,3237125295,US
3237125296,3237125311,CR
3237125312,3237154815,US
3237154816,3237155839,ES
@@ -118739,7 +121511,8 @@
3237554432,3237554434,SG
3237554435,3237554435,US
3237554436,3237554463,SG
-3237554464,3237554943,US
+3237554464,3237554687,AU
+3237554688,3237554943,US
3237554944,3237555199,SG
3237555200,3237568511,US
3237568512,3237572607,CA
@@ -118754,10 +121527,12 @@
3237624832,3237634047,US
3237634048,3237634601,GB
3237634602,3237634603,US
-3237634604,3237638143,GB
-3237638144,3237647103,US
+3237634604,3237636095,GB
+3237636096,3237647103,US
3237647104,3237647359,AU
-3237647360,3237653503,US
+3237647360,3237648383,US
+3237648384,3237650431,AU
+3237650432,3237653503,US
3237653504,3237653759,IN
3237653760,3237655039,US
3237655040,3237655551,IN
@@ -119141,7 +121916,9 @@
3238067456,3238067711,SE
3238067712,3238067967,AT
3238067968,3238068223,GB
-3238068224,3238133759,IE
+3238068224,3238084607,IE
+3238084608,3238085631,US
+3238085632,3238133759,IE
3238133760,3238199295,SI
3238199296,3238264831,DK
3238264832,3238330367,IS
@@ -119155,6 +121932,13 @@
3238461440,3238502399,DE
3238502400,3238504447,RU
3238504448,3238510591,DE
+3238510592,3238511615,GB
+3238511616,3238512639,RU
+3238512640,3238514687,GB
+3238514688,3238515711,HU
+3238515712,3238516735,FR
+3238516736,3238517759,RU
+3238517760,3238518783,PS
3238518784,3238526975,DE
3238526976,3238527231,RU
3238528000,3238529023,BG
@@ -119170,7 +121954,8 @@
3238541568,3238541823,PL
3238541824,3238542591,CH
3238542592,3238542847,PL
-3238543360,3238545407,CH
+3238543360,3238544383,CH
+3238544384,3238545407,DE
3238545920,3238546431,RU
3238546432,3238546943,CH
3238546944,3238547455,UA
@@ -119220,6 +122005,12 @@
3238598912,3238599167,PL
3238599168,3238599679,HU
3238599680,3238599935,US
+3238600704,3238601727,DE
+3238601728,3238603775,CZ
+3238603776,3238604799,DE
+3238604800,3238605823,RU
+3238605824,3238606847,SI
+3238606848,3238608895,RU
3238608896,3238621183,SE
3238621184,3238621439,CZ
3238621440,3238621695,GB
@@ -119243,9 +122034,7 @@
3238656512,3238657023,UA
3238657024,3238657535,AT
3238657536,3238657791,GB
-3238658048,3238818815,SE
-3238818816,3238819327,KZ
-3238819328,3238821887,SE
+3238658048,3238821887,SE
3238821888,3238823935,HR
3238823936,3238860799,SE
3238860800,3238862847,HR
@@ -119272,7 +122061,7 @@
3239028736,3239051263,SE
3239051264,3239053311,DE
3239053312,3239053567,GB
-3239053568,3239054335,AT
+3239053568,3239054335,US
3239054336,3239055359,CZ
3239055360,3239059455,DE
3239059456,3239060479,RU
@@ -119330,9 +122119,7 @@
3239112192,3239112447,IL
3239112704,3239112959,PL
3239112960,3239113215,CH
-3239113216,3239113471,AT
-3239113472,3239113727,ES
-3239113728,3239113983,AT
+3239113216,3239113983,AT
3239113984,3239114239,DE
3239114240,3239114495,BG
3239114496,3239114751,UA
@@ -119421,9 +122208,7 @@
3239171584,3239171839,PL
3239172096,3239172607,UA
3239172608,3239172863,SE
-3239172864,3239172991,DE
-3239172992,3239173002,BG
-3239173003,3239173119,DE
+3239172864,3239173119,DE
3239173376,3239173631,DE
3239173632,3239173887,AT
3239173888,3239174143,PL
@@ -119435,9 +122220,9 @@
3239180288,3239181311,CZ
3239181312,3239181567,AT
3239181824,3239182079,GB
-3239182336,3239205887,DE
-3239205888,3239206143,US
-3239206144,3239264255,DE
+3239182336,3239204863,DE
+3239204864,3239206911,US
+3239206912,3239264255,DE
3239264256,3239264767,NO
3239264768,3239266303,RU
3239266816,3239267327,UA
@@ -119489,7 +122274,8 @@
3239306240,3239307263,UA
3239307264,3239308287,EG
3239308288,3239309311,DE
-3239309312,3239311359,UA
+3239309312,3239310335,UA
+3239310336,3239311359,SA
3239311360,3239312383,PL
3239312384,3239313407,UA
3239313408,3239445759,DE
@@ -119540,7 +122326,8 @@
3239483392,3239484415,DE
3239484416,3239484671,TW
3239484672,3239484927,IT
-3239484928,3239485439,AT
+3239484928,3239485183,US
+3239485184,3239485439,AT
3239485440,3239486719,DE
3239486720,3239486975,ES
3239486976,3239487487,DE
@@ -119668,9 +122455,9 @@
3239635968,3239636991,DE
3239636992,3239638015,BG
3239638016,3239639039,PL
-3239639040,3239639551,SI
+3239639040,3239639551,AT
3239639552,3239639807,CZ
-3239639808,3239640063,SI
+3239639808,3239640063,AT
3239640064,3239641087,DE
3239641088,3239643135,PL
3239643136,3239645183,RU
@@ -119740,7 +122527,8 @@
3239714048,3239714303,FR
3239714304,3239714559,SE
3239714560,3239714815,HU
-3239714816,3239723007,DE
+3239714816,3239716863,GB
+3239716864,3239723007,DE
3239723008,3239731199,GB
3239731200,3239735295,DE
3239735296,3239735807,US
@@ -119936,13 +122724,13 @@
3239916800,3239917055,KZ
3239917056,3239917311,DE
3239917312,3239917567,BG
-3239917568,3239919615,DE
-3239919616,3239923711,CZ
-3239923712,3239927807,DE
+3239917568,3239927807,DE
3239927808,3239928831,LT
3239928832,3239929855,DE
3239929856,3239930879,RO
-3239930880,3239938815,DE
+3239930880,3239931135,DE
+3239931136,3239931903,US
+3239931904,3239938815,DE
3239938816,3239939071,NL
3239939072,3239948543,DE
3239949312,3239950335,RU
@@ -120024,11 +122812,19 @@
3240049664,3240050687,DE
3240050688,3240051711,GB
3240051712,3240052735,ES
-3240052736,3240053247,DK
+3240052736,3240053247,KH
3240053248,3240053503,SA
3240053504,3240053759,AE
3240053760,3240054783,PL
3240054784,3240058879,DE
+3240058880,3240059903,ES
+3240059904,3240060927,RU
+3240060928,3240061951,MD
+3240061952,3240062975,EE
+3240062976,3240063999,US
+3240064000,3240065023,TR
+3240065024,3240066047,DE
+3240066048,3240067071,RU
3240067072,3240083455,DE
3240083456,3240085503,RU
3240085504,3240087551,KZ
@@ -120076,7 +122872,30 @@
3240126208,3240128511,GB
3240128512,3240129535,ME
3240130048,3240132607,GB
-3240157184,3240158207,DE
+3240132608,3240133631,DE
+3240133632,3240134655,NO
+3240134656,3240135679,GB
+3240135680,3240136703,RO
+3240136704,3240137727,GB
+3240137728,3240138751,NO
+3240138752,3240139775,RU
+3240139776,3240140799,ES
+3240140800,3240141055,GB
+3240141056,3240141823,RO
+3240141824,3240142847,RU
+3240142848,3240143871,NL
+3240143872,3240144895,DE
+3240144896,3240145919,RU
+3240145920,3240146943,PL
+3240146944,3240147967,BE
+3240147968,3240148991,RU
+3240148992,3240150015,PL
+3240150016,3240152063,RU
+3240152064,3240153087,TR
+3240153088,3240154111,NL
+3240154112,3240155135,ES
+3240155136,3240156159,RU
+3240156160,3240158207,DE
3240158208,3240159231,KW
3240159232,3240160255,HU
3240160256,3240162303,ES
@@ -120109,7 +122928,7 @@
3240179712,3240180223,FR
3240180736,3240181247,NL
3240181248,3240181759,RU
-3240181760,3240182271,GI
+3240181760,3240182271,UA
3240182784,3240183295,RU
3240183296,3240183807,NL
3240183808,3240184319,GB
@@ -120194,8 +123013,7 @@
3240237056,3240239103,DE
3240239104,3240240127,CH
3240240128,3240241151,US
-3240241152,3240241407,FI
-3240241408,3240242175,NO
+3240241152,3240242175,FI
3240242176,3240243199,PL
3240243200,3240244223,DE
3240244224,3240245247,PL
@@ -120211,7 +123029,9 @@
3240252416,3240253439,LT
3240253440,3240254463,BE
3240254464,3240256511,UA
-3240256512,3240257535,DE
+3240256512,3240256767,DE
+3240256768,3240257023,GB
+3240257024,3240257535,DE
3240257536,3240258559,FO
3240258560,3240259583,RO
3240259584,3240260607,PL
@@ -120349,6 +123169,19 @@
3240378368,3240384511,GB
3240384512,3240385535,RU
3240385536,3240386559,IE
+3240386560,3240387583,ES
+3240387584,3240388607,DE
+3240388608,3240388863,CH
+3240388864,3240388895,GB
+3240388896,3240389631,CH
+3240389632,3240390655,IT
+3240390656,3240391679,HK
+3240391680,3240391935,DK
+3240391936,3240392191,CH
+3240392192,3240392447,ES
+3240392448,3240392703,FR
+3240392704,3240393727,DE
+3240393728,3240394751,JP
3240394752,3240398847,GB
3240398848,3240399871,ES
3240399872,3240400895,NO
@@ -120371,7 +123204,7 @@
3240420608,3240420863,NL
3240420864,3240421119,GB
3240421376,3240422399,MD
-3240422400,3240423423,DE
+3240422400,3240423423,US
3240423424,3240435711,GB
3240436480,3240436735,GB
3240436736,3240439807,DE
@@ -120412,6 +123245,14 @@
3240467968,3240468223,DE
3240468224,3240468479,CH
3240468480,3240476671,GB
+3240476672,3240477695,UA
+3240477696,3240478719,LT
+3240478720,3240479743,MD
+3240479744,3240480767,NL
+3240480768,3240481791,GB
+3240481792,3240482815,BG
+3240482816,3240483839,RO
+3240483840,3240484863,LT
3240484864,3240486911,GB
3240486912,3240487935,NL
3240487936,3240488191,CH
@@ -120446,6 +123287,13 @@
3240531968,3240532991,PL
3240532992,3240534015,DE
3240534016,3240550399,GB
+3240550400,3240551423,CZ
+3240551424,3240552447,BR
+3240552448,3240553471,RU
+3240553472,3240555519,RO
+3240555520,3240556543,NL
+3240556544,3240557567,DE
+3240557568,3240558591,CZ
3240558592,3240559615,FR
3240559616,3240560127,GB
3240560640,3240561663,GB
@@ -120603,10 +123451,21 @@
3240757248,3240759295,IT
3240759296,3240760319,ES
3240760320,3240761343,IT
-3240761344,3240762111,HK
-3240762112,3240762367,RU
+3240761344,3240762367,RU
3240762368,3240763391,ES
+3240763392,3240764415,DE
+3240764416,3240765439,LT
+3240765440,3240767487,GB
+3240767488,3240768511,EE
+3240768512,3240769535,MD
+3240769536,3240770559,TR
+3240770560,3240771582,NL
+3240771583,3240771583,DE
3240771584,3240779775,IT
+3240779776,3240780799,DE
+3240780800,3240781823,TR
+3240781824,3240782847,UA
+3240782848,3240787967,RU
3240787968,3240788991,CZ
3240788992,3240790015,IT
3240790528,3240791551,IT
@@ -120640,7 +123499,9 @@
3240814592,3240816639,IT
3240816640,3240817663,PL
3240817664,3240818687,RU
-3240818688,3240820735,NL
+3240818688,3240819715,GB
+3240819716,3240819716,NL
+3240819717,3240820735,GB
3240820736,3240820799,FR
3240820800,3240820831,CY
3240820832,3240820863,GB
@@ -120656,10 +123517,10 @@
3240827648,3240827903,CH
3240828160,3240828415,DE
3240828928,3240830975,IT
-3240830976,3240831999,GB
+3240830976,3240831999,RU
3240832000,3240837119,IT
3240837120,3240838143,ES
-3240838144,3240839167,DE
+3240838144,3240839167,US
3240839424,3240839679,IT
3240840192,3240840447,IT
3240840448,3240840703,PL
@@ -120784,6 +123645,11 @@
3241080832,3241082879,AT
3241082880,3241083135,FR
3241083136,3241091071,CH
+3241091072,3241095167,RU
+3241095168,3241096191,US
+3241096192,3241097215,IT
+3241097216,3241098239,TR
+3241098240,3241099263,DE
3241099264,3241100287,IT
3241101056,3241101311,DK
3241101312,3241101567,RO
@@ -120848,9 +123714,7 @@
3241146368,3241146623,IL
3241146624,3241146879,RO
3241146880,3241148415,CH
-3241148416,3241313791,FR
-3241313792,3241314047,GF
-3241314048,3241419519,FR
+3241148416,3241419519,FR
3241419520,3241419775,GP
3241419776,3241476095,FR
3241476864,3241477375,BE
@@ -120878,9 +123742,7 @@
3241501952,3241502463,BE
3241503232,3241503487,RS
3241503488,3241503999,BE
-3241504000,3241504831,DE
-3241504832,3241504847,BE
-3241504848,3241505023,DE
+3241504000,3241505023,DE
3241505024,3241508095,BE
3241508096,3241508351,NL
3241508864,3241517055,BE
@@ -120904,8 +123766,7 @@
3241689344,3241689599,TR
3241689600,3241689855,IN
3241689856,3241690111,CN
-3241690112,3241690879,PL
-3241690880,3241691135,FR
+3241690112,3241691135,PL
3241691136,3241691391,US
3241691392,3241691647,TR
3241691648,3241691903,IN
@@ -120942,7 +123803,7 @@
3241738240,3241739263,DE
3241739264,3241742335,FR
3241742336,3241743359,GB
-3241743360,3241743615,BG
+3241743360,3241743615,DE
3241744384,3241745407,FR
3241745408,3241746431,AM
3241746432,3241747455,FR
@@ -120987,6 +123848,13 @@
3241824256,3241826303,BE
3241826304,3241827327,DE
3241827328,3241828351,BE
+3241828352,3241829375,ES
+3241829376,3241830399,DE
+3241830400,3241831423,GB
+3241831424,3241832447,FR
+3241832448,3241833471,BE
+3241833472,3241834495,GB
+3241834496,3241836543,DE
3241836544,3241837567,BE
3241837568,3241838591,US
3241838592,3241840639,BE
@@ -121000,7 +123868,7 @@
3241848832,3241849855,RU
3241849856,3241850879,PL
3241850880,3241851903,MD
-3241851904,3241852927,DE
+3241851904,3241852927,US
3241852928,3241854463,SK
3241854464,3241854975,GB
3241854976,3241855999,DE
@@ -121030,9 +123898,7 @@
3241869312,3241934847,PL
3241934848,3242196991,GB
3242196992,3242393599,FI
-3242393600,3242428671,NL
-3242428672,3242428927,GB
-3242428928,3242459135,NL
+3242393600,3242459135,NL
3242459136,3242467327,BG
3242467328,3242475519,HU
3242475520,3242483711,LV
@@ -121072,7 +123938,8 @@
3242604160,3242604287,IT
3242604288,3242604671,FR
3242604672,3242604799,NL
-3242604800,3242605279,FR
+3242604800,3242605055,IT
+3242605056,3242605279,FR
3242605280,3242605311,BE
3242605312,3242606943,FR
3242606944,3242606959,BE
@@ -121087,7 +123954,8 @@
3242607360,3242607375,GB
3242607376,3242607775,FR
3242607776,3242607807,CZ
-3242607808,3242608383,FR
+3242607808,3242608127,FR
+3242608128,3242608383,BE
3242608384,3242608639,GB
3242608640,3242608767,FR
3242608768,3242608895,DE
@@ -121121,7 +123989,9 @@
3242618368,3242618415,FR
3242618416,3242618431,CZ
3242618432,3242618495,PL
-3242618496,3242620199,FR
+3242618496,3242620183,FR
+3242620184,3242620187,PL
+3242620188,3242620199,FR
3242620200,3242620207,ES
3242620208,3242620223,FR
3242620224,3242620239,PT
@@ -121131,13 +124001,15 @@
3242620352,3242620359,ES
3242620360,3242620367,FR
3242620368,3242620383,PL
-3242620384,3242622031,FR
-3242622032,3242622047,PL
+3242620384,3242620415,FR
+3242620416,3242620419,FI
+3242620420,3242622027,FR
+3242622028,3242622047,PL
3242622048,3242622079,FR
3242622080,3242622083,PL
3242622084,3242622207,FR
-3242622208,3242622463,PL
-3242622464,3242622591,FR
+3242622208,3242622479,PL
+3242622480,3242622591,FR
3242622592,3242622623,PL
3242622624,3242622915,FR
3242622916,3242622927,PL
@@ -121151,11 +124023,15 @@
3242950656,3242983423,BE
3242983424,3243048959,IT
3243048960,3243114495,SI
-3243114496,3243134975,NL
-3243134976,3243137023,PL
-3243137024,3243245567,NL
+3243114496,3243136255,NL
+3243136256,3243136511,PL
+3243136512,3243237887,NL
+3243237888,3243238399,GB
+3243238400,3243245567,NL
3243245568,3243376639,AT
-3243376640,3243433983,GB
+3243376640,3243393023,GB
+3243393024,3243401215,JP
+3243401216,3243433983,GB
3243433984,3243442175,AU
3243442176,3243507711,AT
3243507712,3243507967,GB
@@ -121227,9 +124103,7 @@
3243554816,3243555071,LV
3243555072,3243555327,RO
3243555328,3243555583,CZ
-3243555840,3243556045,RO
-3243556046,3243556046,NL
-3243556047,3243556863,RO
+3243555840,3243556863,NL
3243556864,3243565055,CZ
3243565056,3243569151,GB
3243569152,3243570175,DE
@@ -121242,7 +124116,11 @@
3243704320,3243769855,SK
3243769856,3243900927,DK
3243900928,3243966463,NO
-3243966464,3243974655,PL
+3243966464,3243966975,PL
+3243966976,3243967487,LV
+3243967488,3243970047,PL
+3243970048,3243970559,LV
+3243970560,3243974655,PL
3243974656,3243978751,LU
3243978752,3243982847,NL
3243982848,3243991039,HU
@@ -121276,7 +124154,8 @@
3244128256,3244129279,RU
3244129280,3244130303,FR
3244130304,3244131327,NO
-3244131328,3244133375,FI
+3244131328,3244132351,FI
+3244132352,3244133375,EE
3244133376,3244134399,RO
3244134400,3244135423,PL
3244135424,3244137471,GB
@@ -121290,10 +124169,9 @@
3244144640,3244146687,UA
3244146688,3244146943,GB
3244146944,3244147711,RU
-3244147712,3244147775,GB
+3244147712,3244147775,IE
3244147776,3244147839,DE
-3244147840,3244147967,GB
-3244147968,3244148031,IE
+3244147840,3244148031,IE
3244148032,3244148095,NO
3244148096,3244148159,IT
3244148160,3244148223,ES
@@ -121388,8 +124266,7 @@
3244838400,3244838655,GB
3244838656,3244838911,BG
3244839168,3244839423,GB
-3244839424,3244839679,AT
-3244839680,3244839935,DK
+3244839424,3244839935,DK
3244839936,3244840191,DE
3244840192,3244840447,UA
3244840448,3244840703,IT
@@ -121602,8 +124479,7 @@
3244900608,3244900863,RU
3244900864,3244901119,PL
3244901120,3244901375,SI
-3244901376,3244901631,DE
-3244901632,3244901887,GB
+3244901376,3244901887,DE
3244901888,3244902143,UA
3244902144,3244902655,RU
3244902656,3244902911,BE
@@ -121896,6 +124772,7 @@
3245093888,3245094911,RO
3245094912,3245095935,UA
3245095936,3245096959,IT
+3245097216,3245097471,GB
3245099008,3245103103,GB
3245105664,3245106175,NL
3245106176,3245106687,AT
@@ -121916,7 +124793,9 @@
3245116928,3245117439,KW
3245117440,3245118463,LV
3245118464,3245119487,GB
-3245120512,3245121535,GB
+3245120512,3245120767,GB
+3245120768,3245121023,SG
+3245121024,3245121535,GB
3245121536,3245122047,GR
3245122048,3245122559,UA
3245122560,3245123071,DE
@@ -122039,7 +124918,7 @@
3245193216,3245195263,BE
3245195264,3245197311,GB
3245197312,3245199359,IT
-3245199360,3245199615,LU
+3245199360,3245199615,FR
3245199616,3245199871,SE
3245199872,3245200127,NO
3245200128,3245200383,LV
@@ -122080,9 +124959,7 @@
3245218816,3245219839,AT
3245219840,3245221887,FI
3245221888,3245223935,DE
-3245223936,3245224959,NL
-3245224960,3245225471,GB
-3245225472,3245225727,NL
+3245223936,3245225727,NL
3245225728,3245225983,GB
3245225984,3245228031,HU
3245228032,3245229055,FI
@@ -122092,9 +124969,7 @@
3245232384,3245232639,BE
3245232896,3245233151,IT
3245233152,3245233407,DK
-3245233408,3245233452,DE
-3245233453,3245233453,CH
-3245233454,3245233663,DE
+3245233408,3245233663,CH
3245233664,3245233919,GR
3245233920,3245234175,DK
3245234176,3245234431,GB
@@ -122248,7 +125123,7 @@
3245335552,3245335807,NL
3245336064,3245336575,GB
3245336576,3245336831,RO
-3245337600,3245337855,PL
+3245337600,3245337855,EE
3245337856,3245338367,DE
3245338368,3245339647,UA
3245339648,3245340671,LV
@@ -122260,9 +125135,7 @@
3245498368,3245514751,AU
3245514752,3245547519,GB
3245547520,3245555711,JP
-3245555712,3245568533,AU
-3245568534,3245568534,GB
-3245568535,3245572095,AU
+3245555712,3245572095,AU
3245572096,3245613055,GB
3245613056,3245621247,JP
3245621248,3245637631,AU
@@ -122270,8 +125143,8 @@
3245654016,3245670399,AU
3245670400,3245686783,GB
3245686784,3245694975,JP
-3245694976,3245744127,GB
-3245744128,3245752319,DE
+3245694976,3245744639,GB
+3245744640,3245752319,DE
3245752320,3245760511,GB
3245760512,3245776895,DE
3245776896,3245785087,GB
@@ -122281,7 +125154,9 @@
3245834240,3245867007,GB
3245867008,3245916159,IE
3245916160,3245917183,GB
-3245917184,3245931263,IE
+3245917184,3245923455,IE
+3245923456,3245924351,GB
+3245924352,3245931263,IE
3245931264,3245931519,GB
3245931520,3245932543,IE
3245932544,3245998079,BE
@@ -122353,13 +125228,9 @@
3246350848,3246351103,ES
3246351616,3246352639,ES
3246359552,3246362623,US
-3246362624,3246366719,ES
-3246366720,3246370815,PT
-3246370816,3246371073,ES
+3246362624,3246371073,ES
3246371074,3246371074,PT
-3246371075,3246377007,ES
-3246377008,3246377023,GB
-3246377024,3246379007,ES
+3246371075,3246379007,ES
3246379008,3246381055,GB
3246381056,3246383103,ES
3246383872,3246384127,ES
@@ -122372,7 +125243,16 @@
3246614528,3246784511,GB
3246784512,3246825983,CH
3246825984,3246826239,US
-3246826240,3246915583,CH
+3246826240,3246852095,CH
+3246852096,3246853119,DE
+3246853120,3246878719,CH
+3246878720,3246879743,UA
+3246879744,3246880767,US
+3246880768,3246881791,DE
+3246881792,3246882815,FR
+3246882816,3246906367,CH
+3246906368,3246907391,JP
+3246907392,3246915583,CH
3246915584,3247046655,PT
3247046656,3247046911,AT
3247046912,3247047679,SI
@@ -122398,7 +125278,8 @@
3247066368,3247066623,LV
3247066624,3247066879,CZ
3247066880,3247067135,RU
-3247067136,3247067647,DE
+3247067136,3247067391,SG
+3247067392,3247067647,DE
3247067648,3247067903,RU
3247067904,3247068159,CH
3247068160,3247068415,UA
@@ -122466,8 +125347,7 @@
3247111168,3247112191,CH
3247112192,3247177727,FR
3247177728,3247243263,TR
-3247243264,3247243775,DE
-3247243776,3247244031,NL
+3247243264,3247244031,NL
3247244032,3247244287,DE
3247244288,3247248383,NL
3247248384,3247250431,DE
@@ -122491,8 +125371,7 @@
3247288320,3247291647,DE
3247291648,3247292415,NL
3247292416,3247301119,DE
-3247301120,3247301375,NL
-3247301376,3247302143,DE
+3247301120,3247302143,NL
3247302656,3247308799,NL
3247308800,3247309055,BG
3247309056,3247309567,FI
@@ -122517,7 +125396,7 @@
3247334400,3247334655,NO
3247334656,3247335167,FI
3247335168,3247335423,DK
-3247335424,3247336447,FR
+3247335424,3247336447,DE
3247336448,3247337215,NO
3247337216,3247337471,CH
3247337472,3247337983,PL
@@ -122545,7 +125424,7 @@
3247356928,3247357951,DE
3247357952,3247358975,GB
3247358976,3247359999,IT
-3247360000,3247361023,DE
+3247360000,3247361023,US
3247361024,3247361279,FI
3247362048,3247362303,RO
3247362304,3247362559,HU
@@ -122615,10 +125494,20 @@
3247715328,3247716351,RU
3247716352,3247717375,DE
3247717376,3247718399,RU
+3247718400,3247719423,IR
+3247719424,3247720447,RO
+3247720448,3247721471,DE
+3247721472,3247722495,EE
+3247722496,3247723519,FR
+3247723520,3247724543,ES
+3247724544,3247725567,UA
+3247725568,3247726591,DE
3247726592,3247742975,ES
3247742976,3247751167,DE
3247751168,3247765503,ES
-3247765504,3247766527,CH
+3247765504,3247766015,CH
+3247766016,3247766271,DE
+3247766272,3247766527,CH
3247767040,3247767295,ES
3247767552,3247769599,ES
3247769600,3247771647,DE
@@ -122711,7 +125600,7 @@
3247913984,3247914495,DE
3247914496,3247915007,AT
3247915008,3247917055,PL
-3247917056,3247918079,NL
+3247917056,3247918079,DE
3247918080,3247919103,PL
3247919104,3247920127,BG
3247920128,3247921151,FR
@@ -122724,7 +125613,13 @@
3247928320,3247929343,HU
3247929344,3247931391,GB
3247931392,3247939583,IR
-3247947776,3247960063,RU
+3247939584,3247940607,CZ
+3247940608,3247941631,UA
+3247941632,3247942655,RU
+3247942656,3247943679,DE
+3247943680,3247944703,AE
+3247944704,3247946751,LT
+3247946752,3247960063,RU
3247960064,3247962111,UA
3247962112,3247963135,DE
3247963136,3247964159,UA
@@ -122744,6 +125639,13 @@
3248497152,3248498431,NO
3248498432,3248498687,DE
3248498688,3248504831,NO
+3248504832,3248505855,DE
+3248505856,3248507903,RU
+3248507904,3248508927,MY
+3248508928,3248509951,CZ
+3248509952,3248510975,ES
+3248510976,3248511999,DE
+3248512000,3248513023,NL
3248513280,3248513535,UA
3248513536,3248514047,AT
3248514816,3248515071,FR
@@ -122763,7 +125665,8 @@
3248540672,3248541183,RU
3248541184,3248541695,SE
3248541696,3248542719,RU
-3248542720,3248543743,GB
+3248542720,3248543231,GB
+3248543232,3248543743,TR
3248543744,3248544767,RU
3248544768,3248545791,TR
3248545792,3248546815,UA
@@ -122809,8 +125712,6 @@
3248611328,3248619519,NO
3248619520,3248623615,DK
3248624384,3248624639,US
-3248624640,3248624895,AU
-3248625152,3248625663,AU
3248626688,3248638463,DK
3248638464,3248638719,GB
3248638720,3248716287,DK
@@ -122851,16 +125752,7 @@
3248790784,3248791039,PL
3248791040,3248791295,BE
3248791296,3248791551,DE
-3248791552,3248792063,GB
-3248792320,3248792335,GB
-3248792352,3248792359,GB
-3248792368,3248792399,GB
-3248792416,3248792431,GB
-3248792496,3248792527,GB
-3248792544,3248792575,GB
-3248796608,3248796863,GB
-3248798976,3248799231,GB
-3248799736,3248799743,GB
+3248791552,3248799743,GB
3248799744,3248800255,NL
3248800256,3248800767,RU
3248800768,3248801279,FR
@@ -122888,9 +125780,7 @@
3248815104,3248815615,GB
3248815616,3248816127,PL
3248816128,3248881663,CZ
-3248881664,3248993791,FI
-3248993792,3248994303,AX
-3248994304,3249012735,FI
+3248881664,3249012735,FI
3249012736,3249012991,DE
3249012992,3249013503,LU
3249014272,3249014783,DE
@@ -123018,6 +125908,13 @@
3249551360,3249552639,GB
3249552640,3249552895,NL
3249553152,3249553407,NL
+3249553408,3249555455,FR
+3249555456,3249556479,DE
+3249556480,3249558527,RU
+3249558528,3249559039,RO
+3249559040,3249559551,DE
+3249559552,3249560575,FR
+3249560576,3249561599,RU
3249561600,3249565695,NL
3249565696,3249566719,DE
3249566720,3249567743,US
@@ -123057,7 +125954,7 @@
3249679360,3249680383,ES
3249680384,3249681407,UA
3249681664,3249681919,IE
-3249682432,3249683455,DE
+3249682432,3249683455,HK
3249683456,3249684479,SE
3249684480,3249696767,IE
3249697280,3249697535,IE
@@ -123216,8 +126113,7 @@
3249971200,3249971455,IT
3249971456,3249971711,SE
3249971712,3249972735,DE
-3249972736,3249973247,DK
-3249973248,3249973759,SE
+3249972736,3249973759,SE
3249973760,3249974015,NL
3249974016,3249974527,SE
3249974528,3249974783,ES
@@ -123336,6 +126232,29 @@
3250279424,3250280447,DE
3250280448,3250281471,SE
3250281472,3250282495,RU
+3250282496,3250283519,DE
+3250283520,3250284543,AL
+3250284544,3250285567,RU
+3250285568,3250286591,TR
+3250286592,3250287615,MY
+3250287616,3250288639,HK
+3250288640,3250290687,NL
+3250290688,3250291711,DE
+3250291712,3250292735,TR
+3250292736,3250293759,NL
+3250293760,3250294783,TR
+3250294784,3250295807,RU
+3250295808,3250296831,RO
+3250296832,3250297087,IT
+3250297088,3250297855,US
+3250297856,3250298879,RU
+3250298880,3250300927,DK
+3250300928,3250301951,CZ
+3250301952,3250302975,RU
+3250302976,3250303999,PL
+3250304000,3250305023,US
+3250305024,3250306047,ES
+3250306048,3250307071,NL
3250307072,3250308095,RU
3250308096,3250323199,AT
3250323200,3250323455,RU
@@ -123370,7 +126289,8 @@
3250362880,3250363391,DE
3250363392,3250363903,SE
3250363904,3250364415,DE
-3250364416,3250372607,KW
+3250364416,3250366463,EG
+3250366464,3250372607,KW
3250372608,3250373631,HU
3250373632,3250374143,DE
3250374144,3250374655,PL
@@ -123421,8 +126341,7 @@
3250424320,3250424575,RU
3250424576,3250424831,NL
3250424832,3250425343,GB
-3250425344,3250425599,TR
-3250425600,3250425855,FR
+3250425344,3250425855,TR
3250425856,3250426111,LT
3250426368,3250426623,AT
3250426624,3250426879,FR
@@ -123434,7 +126353,9 @@
3250438912,3250439167,FR
3250439168,3250440633,CH
3250440634,3250440634,US
-3250440635,3250445567,CH
+3250440635,3250442675,CH
+3250442676,3250442676,DE
+3250442677,3250445567,CH
3250445568,3250445599,GB
3250445600,3250445683,CH
3250445684,3250445687,GB
@@ -123466,8 +126387,7 @@
3250634752,3250642943,GB
3250642944,3250651135,CH
3250651136,3250659327,IT
-3250659328,3250660607,GB
-3250661376,3250662399,GB
+3250659328,3250667519,GB
3250667520,3250675711,PL
3250675712,3250683903,GB
3250683904,3250692095,CH
@@ -123655,7 +126575,21 @@
3251165696,3251165951,DE
3251165952,3251166207,UA
3251166208,3251166463,CH
-3251166720,3251166975,FR
+3251166720,3251166735,IN
+3251166736,3251166751,US
+3251166752,3251166767,FR
+3251166768,3251166783,US
+3251166784,3251166799,BR
+3251166800,3251166831,FR
+3251166832,3251166847,AR
+3251166848,3251166863,JP
+3251166864,3251166879,UA
+3251166880,3251166895,CN
+3251166896,3251166911,US
+3251166912,3251166927,AU
+3251166928,3251166943,RU
+3251166944,3251166959,GB
+3251166960,3251166975,FR
3251166976,3251167231,CH
3251167232,3251167487,LV
3251167488,3251167743,DK
@@ -123740,7 +126674,7 @@
3251208192,3251209215,CY
3251209216,3251210239,GB
3251210240,3251211263,PL
-3251211264,3251212287,UA
+3251211264,3251212287,BG
3251212288,3251212415,PL
3251212416,3251212671,FI
3251212800,3251212927,FR
@@ -123852,13 +126786,14 @@
3251306496,3251307007,AT
3251307776,3251308031,GB
3251308544,3251309567,RU
-3251309568,3251310591,DE
+3251309568,3251310591,US
3251311104,3251311615,RS
3251311616,3251312127,GB
3251312384,3251312639,RS
3251313152,3251313663,RS
3251313664,3251314687,ES
3251314688,3251315711,FR
+3251315712,3251316735,RO
3251316736,3251317759,RU
3251317760,3251318783,PL
3251318784,3251319807,UA
@@ -123866,8 +126801,7 @@
3251320832,3251321855,PL
3251321856,3251322879,RU
3251322880,3251331071,GB
-3251331072,3251331327,FR
-3251331328,3251331583,GB
+3251331072,3251331583,FR
3251331584,3251332095,PL
3251332096,3251333119,RU
3251333120,3251333631,CH
@@ -123920,7 +126854,9 @@
3252221184,3252222463,LT
3252222464,3252223999,SE
3252224000,3252228095,LT
-3252228096,3252240383,SE
+3252228096,3252232191,SE
+3252232192,3252232703,NL
+3252232704,3252240383,SE
3252240384,3252286463,HR
3252286464,3252287487,LT
3252287488,3252289535,SE
@@ -123967,7 +126903,7 @@
3252342240,3252342271,CH
3252342272,3252342527,SE
3252342528,3252342543,NO
-3252342544,3252342591,DE
+3252342544,3252342591,FR
3252342592,3252342607,IE
3252342608,3252342655,CY
3252342656,3252342783,IL
@@ -124016,7 +126952,9 @@
3252415232,3252415999,LU
3252416000,3252420607,FR
3252420608,3252424703,NO
-3252424704,3252428321,FR
+3252424704,3252426751,FR
+3252426752,3252427775,US
+3252427776,3252428321,FR
3252428322,3252428322,AO
3252428323,3252428799,FR
3252428800,3252429823,NO
@@ -124042,9 +126980,9 @@
3252505344,3252505599,US
3252505600,3252507135,SE
3252507136,3252507647,RO
-3252507648,3252508671,GB
-3252508672,3252509183,BE
-3252509184,3252510719,GB
+3252507648,3252509439,GB
+3252509440,3252509695,SG
+3252509696,3252510719,GB
3252510720,3252514815,FR
3252514816,3252515071,SI
3252515072,3252515327,GB
@@ -124063,10 +127001,10 @@
3252527104,3252535295,BE
3252535296,3252536319,GB
3252536320,3252537343,RS
-3252537344,3252538367,RU
+3252537344,3252538367,BR
3252538368,3252539391,EE
3252539392,3252540415,DE
-3252540416,3252541439,RU
+3252540416,3252541439,BR
3252541952,3252542207,CI
3252542464,3252543487,DE
3252543488,3252551679,BE
@@ -124083,7 +127021,7 @@
3252567808,3252568063,RO
3252568064,3252576255,CH
3252576256,3252577279,DE
-3252577280,3252578303,AT
+3252577280,3252578303,US
3252578816,3252579327,CH
3252579328,3252579583,FR
3252579584,3252579839,RU
@@ -124118,7 +127056,7 @@
3252636928,3252637183,DE
3252637184,3252637695,GB
3252637696,3252641791,CH
-3252642304,3252642559,PL
+3252642304,3252642559,UA
3252642560,3252642815,DK
3252642816,3252643071,AE
3252643072,3252643327,RO
@@ -124206,10 +127144,9 @@
3252965376,3252972543,AT
3252972544,3252973567,JP
3252973568,3252976639,AT
-3252976640,3252977663,GB
+3252976640,3252977663,RU
3252977664,3252978687,DE
-3252978688,3252979711,RU
-3252979712,3252980735,GB
+3252978688,3252980735,RU
3252980992,3252981247,GB
3252981504,3252981759,SE
3252981760,3252982015,DE
@@ -124226,13 +127163,14 @@
3252985344,3252987903,RU
3252988416,3252988927,AT
3252989440,3252989695,PL
-3252989952,3252993023,AT
+3252989952,3252992767,AT
+3252992768,3252993023,ES
3252993024,3252994047,DE
3252994048,3252994303,AT
3252995072,3252996095,CH
3252996096,3253002239,AT
3253003008,3253003263,AT
-3253003264,3253004287,GB
+3253003264,3253004287,RU
3253004288,3253004799,AT
3253004800,3253005055,CZ
3253005312,3253006335,CH
@@ -124249,7 +127187,9 @@
3253270528,3253271551,BY
3253271552,3253288703,RU
3253288704,3253288959,AR
-3253288960,3253313535,RU
+3253288960,3253291519,RU
+3253291520,3253291775,NL
+3253291776,3253313535,RU
3253313536,3253313791,NL
3253313792,3253338111,RU
3253338112,3253338367,PL
@@ -124306,8 +127246,8 @@
3253416448,3253416703,GB
3253416704,3253416959,US
3253416960,3253418495,SE
-3253418496,3253419007,DK
-3253419008,3253419519,SE
+3253418496,3253418751,DK
+3253418752,3253419519,SE
3253419520,3253419775,GB
3253419776,3253428223,SE
3253428224,3253428479,DE
@@ -124344,7 +127284,7 @@
3253455616,3253455871,US
3253455872,3253456383,SE
3253456384,3253456639,US
-3253456896,3253460735,SE
+3253456640,3253460735,SE
3253460736,3253460991,IT
3253460992,3253461247,US
3253461248,3253461759,SE
@@ -124376,7 +127316,8 @@
3253617664,3253618687,GB
3253618688,3253619711,UA
3253619712,3253620735,IT
-3253620736,3253622783,GB
+3253620736,3253621759,GB
+3253621760,3253622783,RU
3253622784,3253623807,DE
3253623808,3253624831,PL
3253624832,3253625855,UA
@@ -124499,8 +127440,9 @@
3253730304,3253730815,RO
3253730816,3253731327,UA
3253731328,3253731583,DE
-3253731584,3253731711,HU
-3253731712,3253737791,GB
+3253731584,3253736959,GB
+3253736960,3253737215,FR
+3253737216,3253737791,GB
3253737792,3253737807,FR
3253737808,3253737823,GB
3253737824,3253737831,PL
@@ -124513,17 +127455,17 @@
3253738568,3253738569,BE
3253738570,3253738570,US
3253738571,3253738575,BE
-3253738576,3253740031,GB
-3253740032,3253740543,FR
-3253740544,3253741679,GB
+3253738576,3253741679,GB
3253741680,3253741695,RU
3253741696,3253744415,GB
3253744416,3253744447,CH
3253744448,3253744511,GB
3253744512,3253744512,US
-3253744513,3253745151,GB
-3253745152,3253745279,NO
-3253745280,3253749791,GB
+3253744513,3253745172,GB
+3253745173,3253745173,NO
+3253745174,3253745181,GB
+3253745182,3253745182,NO
+3253745183,3253749791,GB
3253749792,3253749799,US
3253749800,3253751175,GB
3253751176,3253751179,SE
@@ -124535,21 +127477,25 @@
3253755236,3253755239,IE
3253755240,3253755551,GB
3253755552,3253755559,IT
-3253755560,3253758491,GB
-3253758492,3253758495,BG
-3253758496,3253758499,GB
-3253758500,3253758503,BG
-3253758504,3253761407,GB
+3253755560,3253760511,GB
+3253760512,3253760767,FR
+3253760768,3253761407,GB
3253761408,3253761416,ES
3253761417,3253761417,GB
3253761418,3253761471,ES
-3253761472,3253762815,GB
+3253761472,3253762303,GB
+3253762304,3253762559,CH
+3253762560,3253762815,GB
3253762816,3253762943,CH
3253762944,3253762991,GB
3253762992,3253762999,DE
3253763000,3253763071,GB
3253763072,3253763327,SE
-3253763328,3253764767,GB
+3253763328,3253764719,GB
+3253764720,3253764727,DE
+3253764728,3253764735,GB
+3253764736,3253764743,IT
+3253764744,3253764767,GB
3253764768,3253764783,FR
3253764784,3253764799,GB
3253764800,3253764831,SI
@@ -124560,9 +127506,7 @@
3253767676,3253767679,DE
3253767680,3253767711,GB
3253767712,3253767743,DE
-3253767744,3253768383,GB
-3253768384,3253768415,SE
-3253768416,3253768565,GB
+3253767744,3253768565,GB
3253768566,3253768566,DE
3253768567,3253769362,GB
3253769363,3253769363,DE
@@ -124572,8 +127516,8 @@
3253770752,3253770879,FR
3253770880,3253770983,GB
3253770984,3253770984,DE
-3253770985,3253771199,GB
-3253771200,3253771215,IE
+3253770985,3253771007,GB
+3253771008,3253771215,IE
3253771216,3253771231,GB
3253771232,3253771263,IE
3253771264,3253771283,GB
@@ -124582,14 +127526,9 @@
3253771562,3253771562,DE
3253771563,3253772063,GB
3253772064,3253772095,DE
-3253772096,3253772287,GB
-3253772288,3253772311,PL
-3253772312,3253772319,GB
-3253772320,3253772519,PL
+3253772096,3253772519,GB
3253772520,3253772527,DE
-3253772528,3253772543,PL
-3253772544,3253772799,GB
-3253772800,3253773055,ES
+3253772528,3253773055,GB
3253773056,3253773311,DE
3253773312,3253774583,GB
3253774584,3253774591,DE
@@ -124597,15 +127536,11 @@
3253775184,3253775191,FR
3253775192,3253775215,GB
3253775216,3253775223,DE
-3253775224,3253775487,GB
-3253775488,3253775551,US
-3253775552,3253775586,GB
+3253775224,3253775586,GB
3253775587,3253775587,DE
3253775588,3253775599,GB
-3253775600,3253775609,IT
-3253775610,3253775610,GB
-3253775611,3253775615,IT
-3253775616,3253775807,GB
+3253775600,3253775607,IT
+3253775608,3253775807,GB
3253775808,3253775823,DE
3253775824,3253776159,GB
3253776160,3253776175,DE
@@ -124613,13 +127548,10 @@
3253776304,3253776311,ES
3253776312,3253776809,GB
3253776810,3253776810,CH
-3253776811,3253777279,GB
-3253777280,3253777407,NL
-3253777408,3253777791,GB
+3253776811,3253777791,GB
3253777792,3253777855,FR
3253777856,3253777919,GB
-3253777920,3253778175,AT
-3253778176,3253778259,FR
+3253777920,3253778259,FR
3253778260,3253778263,NO
3253778264,3253778271,FR
3253778272,3253778287,DE
@@ -124642,39 +127574,33 @@
3253780568,3253780571,HU
3253780572,3253780575,NO
3253780576,3253780579,SE
-3253780580,3253780991,GB
-3253780992,3253781327,DE
+3253780580,3253781327,GB
3253781328,3253781335,ES
-3253781336,3253781415,DE
-3253781416,3253781423,GB
-3253781424,3253781503,DE
-3253781504,3253781615,GB
+3253781336,3253781423,GB
+3253781424,3253781431,DE
+3253781432,3253781615,GB
3253781616,3253781631,FR
-3253781632,3253782527,GB
+3253781632,3253781759,US
+3253781760,3253782527,GB
3253782528,3253782535,FR
3253782536,3253783487,GB
3253783488,3253783519,DE
3253783520,3253787903,GB
-3253787904,3253788079,FR
-3253788080,3253788082,GB
-3253788083,3253788095,FR
-3253788096,3253789183,GB
-3253789184,3253789439,UA
-3253789440,3253791419,GB
+3253787904,3253787967,FR
+3253787968,3253791419,GB
3253791420,3253791423,DE
3253791424,3253792079,GB
3253792080,3253792095,DE
3253792096,3253793071,GB
3253793072,3253793087,FR
-3253793088,3253793279,GB
-3253793280,3253793359,DE
+3253793088,3253793359,GB
3253793360,3253793375,DK
-3253793376,3253793407,DE
-3253793408,3253794047,GB
-3253794048,3253794303,FR
+3253793376,3253794271,GB
+3253794272,3253794287,FR
+3253794288,3253794303,ES
3253794304,3253796351,GB
-3253796352,3253796479,FR
-3253796480,3253796863,GB
+3253796352,3253796607,FR
+3253796608,3253796863,GB
3253796864,3253862399,SE
3253862400,3253862655,GB
3253862656,3253882879,FR
@@ -124771,9 +127697,10 @@
3253977088,3253985279,TR
3253985280,3253993471,GB
3253993472,3254067199,BE
-3254067200,3254075391,CZ
-3254075392,3254083583,HU
-3254083584,3254124543,BE
+3254067200,3254069247,CZ
+3254069248,3254079487,BE
+3254079488,3254081535,HU
+3254081536,3254124543,BE
3254124544,3254137855,CH
3254137856,3254138879,IE
3254138880,3254156799,CH
@@ -124828,19 +127755,21 @@
3254491136,3254491391,DZ
3254491392,3254493695,FR
3254493696,3254493951,GP
-3254493952,3254494079,MQ
-3254494080,3254494207,GF
+3254493952,3254494207,MQ
3254494208,3254494463,GP
3254494464,3254509412,FR
3254509413,3254509413,GQ
3254509414,3254576383,FR
3254576384,3254576543,DO
3254576544,3254607871,FR
-3254607872,3254611455,RE
+3254607872,3254610175,RE
+3254610176,3254610431,YT
+3254610432,3254611455,RE
3254611456,3254611967,YT
-3254611968,3254612223,RE
-3254612224,3254612479,FR
-3254612480,3254615551,RE
+3254611968,3254612223,FR
+3254612224,3254612991,RE
+3254612992,3254613247,FR
+3254613248,3254615551,RE
3254615552,3254616063,YT
3254616064,3254648831,FR
3254648832,3254649855,AL
@@ -125109,14 +128038,14 @@
3254962381,3254962381,NL
3254962382,3254962421,FR
3254962422,3254962422,NL
-3254962423,3255009023,FR
-3255009024,3255009279,MQ
-3255009280,3255019519,FR
-3255019520,3255019775,GP
-3255019776,3255022591,FR
+3254962423,3255019519,FR
+3255019520,3255021567,GP
+3255021568,3255022591,FR
3255022592,3255022847,RE
-3255022848,3255032831,FR
-3255032832,3255033087,GF
+3255022848,3255024383,FR
+3255024384,3255024639,YT
+3255024640,3255031807,FR
+3255031808,3255033087,GF
3255033088,3255052287,FR
3255052288,3255053311,IT
3255053312,3255054335,SE
@@ -125139,7 +128068,7 @@
3255085056,3255086079,RO
3255086080,3255087103,GB
3255087104,3255107583,FR
-3255107584,3255108607,NL
+3255107584,3255108607,AU
3255108608,3255109631,GB
3255109632,3255110655,RU
3255110656,3255111679,PL
@@ -125156,8 +128085,7 @@
3255123712,3255123967,DE
3255123968,3255124991,ES
3255124992,3255126015,HR
-3255126016,3255126527,FR
-3255128064,3255128575,FR
+3255126016,3255128575,FR
3255129856,3255130111,HR
3255130112,3255130623,FR
3255131136,3255132159,RU
@@ -125169,7 +128097,8 @@
3255135232,3255140351,FR
3255140352,3255141375,CH
3255141376,3255146495,FR
-3255146496,3255148543,DE
+3255146496,3255147519,US
+3255147520,3255148543,DE
3255148544,3255149567,SY
3255150080,3255152639,FR
3255152640,3255153663,IR
@@ -125187,45 +128116,9 @@
3255171072,3255172095,RO
3255172352,3255172607,DE
3255173120,3255173631,SH
-3255173648,3255173711,GB
-3255173760,3255173823,GB
-3255173840,3255174151,GB
-3255174160,3255174167,GB
-3255174200,3255174207,GB
-3255174216,3255174247,GB
-3255174272,3255174279,GB
-3255174312,3255174319,GB
-3255174328,3255174335,GB
-3255174376,3255174383,GB
-3255174400,3255175167,GB
-3255175200,3255175231,GB
-3255175248,3255175263,GB
-3255175280,3255175295,GB
-3255175312,3255175327,GB
-3255175432,3255175447,GB
-3255175456,3255175503,GB
-3255175512,3255175535,GB
-3255175552,3255175559,GB
-3255175592,3255175607,GB
-3255176192,3255177215,GB
-3255177472,3255177855,GB
-3255177984,3255187199,GB
-3255187200,3255187455,DE
-3255187456,3255187711,GB
-3255188480,3255191807,GB
-3255192320,3255193343,GB
-3255193600,3255193863,GB
-3255193888,3255193959,GB
-3255193968,3255193975,GB
+3255173632,3255193975,GB
3255193976,3255193983,GI
-3255193984,3255193999,GB
-3255194016,3255194039,GB
-3255194056,3255194063,GB
-3255194072,3255194431,GB
-3255194496,3255194559,GB
-3255194624,3255194703,GB
-3255194720,3255194815,GB
-3255194880,3255205887,GB
+3255193984,3255205887,GB
3255205888,3255214079,FR
3255214080,3255222271,CH
3255222272,3255223295,DE
@@ -125259,13 +128152,7 @@
3255237120,3255237375,AT
3255237888,3255238143,ES
3255238400,3255238655,QA
-3255238656,3255255039,BE
-3255255040,3255259135,LU
-3255259136,3255279615,BE
-3255279616,3255280018,GB
-3255280019,3255280019,BE
-3255280020,3255283711,GB
-3255283712,3255304191,BE
+3255238656,3255304191,BE
3255304192,3255304447,DE
3255304448,3255305215,LV
3255305216,3255305471,BG
@@ -125480,7 +128367,9 @@
3255521101,3255521101,DE
3255521102,3255522303,CH
3255522304,3255523327,ES
-3255523328,3255544319,CH
+3255523328,3255533567,CH
+3255533568,3255534591,DE
+3255534592,3255544319,CH
3255544320,3255544575,DE
3255544576,3255544831,AT
3255544832,3255548927,CH
@@ -125488,8 +128377,7 @@
3255549952,3255550975,PL
3255550976,3255551231,DE
3255551232,3255551487,US
-3255551488,3255551743,DE
-3255551744,3255551999,US
+3255551488,3255551999,DE
3255552000,3255558143,CH
3255558400,3255558655,UA
3255558912,3255559167,GB
@@ -125549,14 +128437,22 @@
3255751168,3255751423,DK
3255751424,3255752959,SE
3255752960,3255753215,RO
-3255753216,3255753471,SE
-3255753728,3255762431,SE
+3255753216,3255762431,SE
3255762432,3255762943,BE
3255762944,3255771135,DE
-3255779328,3255787519,DE
+3255771136,3255772159,TR
+3255772160,3255772415,DE
+3255772416,3255772671,GB
+3255772672,3255773183,DE
+3255773184,3255774207,GB
+3255774208,3255775231,DE
+3255775232,3255776255,GB
+3255776256,3255777279,UA
+3255777280,3255778303,RU
+3255778304,3255787519,DE
3255787520,3255789567,TR
3255789568,3255790591,RO
-3255790592,3255791615,DE
+3255790592,3255791615,US
3255791616,3255792639,UA
3255792640,3255793663,RU
3255793664,3255794943,PL
@@ -125573,7 +128469,10 @@
3255817728,3255820287,DE
3255820288,3255821311,RS
3255821312,3255822335,CH
-3255822336,3255826431,DE
+3255822336,3255825407,DE
+3255825408,3255825547,GB
+3255825548,3255825548,DE
+3255825549,3255826431,GB
3255826432,3255827455,EE
3255827456,3255828479,DE
3255828480,3256025087,SE
@@ -125620,7 +128519,7 @@
3256417792,3256418303,GB
3256418304,3256483839,DE
3256483840,3256484095,NL
-3256484864,3256485887,LB
+3256484864,3256485887,NG
3256485888,3256487935,NL
3256487936,3256488959,RU
3256489472,3256489983,GR
@@ -125630,9 +128529,9 @@
3256492032,3256502271,NL
3256502272,3256503295,IR
3256503296,3256509439,NL
-3256509440,3256510463,GB
+3256509440,3256510463,RU
3256510464,3256513023,NL
-3256513536,3256514559,GB
+3256513536,3256514559,RU
3256514560,3256524287,NL
3256524288,3256524799,DE
3256524800,3256525823,NL
@@ -125710,7 +128609,6 @@
3256695808,3256696831,UA
3256699136,3256699391,NL
3256700416,3256700671,NL
-3256705280,3256705535,FR
3256705536,3256705791,BE
3256705792,3256706047,AT
3256711168,3256711423,DE
@@ -125757,7 +128655,7 @@
3256794880,3256795135,AT
3256795136,3256811519,GR
3256811520,3256813567,DE
-3256813568,3256814591,GB
+3256813568,3256814591,RU
3256815104,3256819711,DE
3256819712,3256821503,PL
3256821504,3256821759,NO
@@ -125786,6 +128684,20 @@
3256838144,3256839167,ES
3256839168,3256840191,IT
3256840192,3256844287,DE
+3256844288,3256845311,CH
+3256845312,3256846335,RU
+3256846336,3256847359,FR
+3256847360,3256849407,GB
+3256849408,3256850431,DE
+3256850432,3256852479,RU
+3256852480,3256853503,FR
+3256853504,3256854527,DK
+3256854528,3256855551,UA
+3256855552,3256856575,RU
+3256856576,3256857599,TR
+3256857600,3256858623,LT
+3256858624,3256859647,GB
+3256859648,3256860671,CZ
3256860672,3256863743,DE
3256864256,3256864511,DE
3256864512,3256864767,CH
@@ -125811,6 +128723,14 @@
3256899072,3256899583,RU
3256899584,3256900607,RO
3256900608,3256901631,DE
+3256901632,3256902655,UZ
+3256902656,3256903679,IT
+3256903680,3256904703,RO
+3256904704,3256905727,UA
+3256905728,3256906751,ES
+3256906752,3256907775,EE
+3256907776,3256908799,MD
+3256908800,3256909823,RU
3256909824,3256910847,KZ
3256910848,3256911871,ES
3256911872,3256912895,UA
@@ -125824,15 +128744,23 @@
3256920064,3256921087,FR
3256921088,3256922111,IT
3256922112,3256934399,GB
+3256934400,3256935423,AU
+3256935424,3256935935,RU
+3256935936,3256936191,EE
+3256936192,3256936447,RU
+3256936448,3256937471,DE
+3256937472,3256939519,RU
+3256939520,3256940543,NL
+3256940544,3256941311,AE
+3256941312,3256941567,KZ
+3256941568,3256942591,RU
3256942592,3256944639,GB
3256945408,3256945663,GB
3256945664,3256945919,SI
3256945920,3256946175,GB
3256946176,3256946431,RO
3256946432,3256946687,UA
-3256946688,3256946943,GB
-3256946944,3256947199,DE
-3256947200,3256947711,GB
+3256946688,3256947711,DE
3256947712,3256948735,RU
3256948736,3256950015,GB
3256950272,3256950527,NO
@@ -125897,7 +128825,8 @@
3257031680,3257032703,GB
3257032704,3257033727,RU
3257033728,3257034751,FR
-3257034752,3257035775,GB
+3257034752,3257035007,CZ
+3257035008,3257035775,GB
3257035776,3257036799,NL
3257036800,3257040895,GB
3257040896,3257041919,RO
@@ -125911,17 +128840,40 @@
3257058816,3257059071,PL
3257059328,3257060351,DE
3257060352,3257065471,GB
+3257065472,3257065727,AT
+3257065728,3257065983,DE
+3257065984,3257066495,AT
+3257066496,3257067519,GB
+3257067520,3257068543,DE
+3257068544,3257069567,RU
+3257069568,3257070591,DE
+3257070592,3257071103,RU
+3257071104,3257071615,NL
+3257071616,3257072639,RU
+3257072640,3257073663,NO
3257073664,3257076735,GB
-3257076736,3257077759,DE
-3257077760,3257081855,GB
+3257076736,3257077503,DE
+3257077504,3257077759,US
+3257077760,3257083903,GB
+3257083904,3257084159,US
+3257084160,3257084927,ES
+3257084928,3257086975,RU
+3257086976,3257087999,MD
+3257088000,3257089023,DE
+3257089024,3257090047,UA
3257090048,3257092351,GB
3257092608,3257092863,RO
3257093888,3257094143,GB
3257094656,3257095167,GB
3257095168,3257096191,SI
3257096192,3257097215,ES
-3257097216,3257098239,GB
-3257106432,3257118719,GB
+3257097216,3257099263,GB
+3257099264,3257102335,DE
+3257102336,3257102847,RU
+3257102848,3257103359,NL
+3257103360,3257104383,GB
+3257104384,3257105407,DE
+3257105408,3257118719,GB
3257118720,3257119743,IT
3257120512,3257120767,GB
3257121280,3257121535,GB
@@ -125983,7 +128935,9 @@
3257181696,3257181951,FR
3257182208,3257182463,PL
3257183232,3257184255,US
-3257184256,3257185279,RU
+3257184256,3257184511,RU
+3257184512,3257184767,CZ
+3257184768,3257185279,UA
3257185280,3257186303,HU
3257186304,3257187327,DE
3257187328,3257187583,RO
@@ -126010,6 +128964,21 @@
3257269248,3257269503,IT
3257269504,3257269759,AT
3257270016,3257270271,DE
+3257270272,3257271295,RU
+3257271296,3257272319,NL
+3257272320,3257273343,RU
+3257273344,3257274367,IE
+3257274368,3257275391,DE
+3257275392,3257276415,UA
+3257276416,3257277439,NL
+3257277440,3257278463,RO
+3257278464,3257279487,FR
+3257279488,3257280511,BG
+3257280512,3257281535,DE
+3257281536,3257282559,ES
+3257282560,3257284607,TR
+3257284608,3257285631,ES
+3257285632,3257286655,IT
3257286656,3257294847,CH
3257294848,3257303039,HU
3257303040,3257311231,PT
@@ -126026,7 +128995,7 @@
3257357312,3257357567,PT
3257357568,3257357823,SI
3257357824,3257363455,DE
-3257363456,3257364479,GB
+3257363456,3257364479,RU
3257364480,3257367039,DE
3257367552,3257368575,PT
3257368576,3257371903,DE
@@ -126114,7 +129083,9 @@
3257563648,3257564159,NL
3257564160,3257564671,GB
3257564672,3257565183,RO
-3257565184,3257573375,CY
+3257565184,3257566719,CY
+3257566720,3257567231,RU
+3257567232,3257573375,CY
3257573376,3257574143,CH
3257577472,3257581567,DE
3257581568,3257585663,UA
@@ -126160,8 +129131,8 @@
3257771264,3257772287,DE
3257772544,3257776127,NL
3257776128,3257776383,DE
-3257776384,3257779199,NL
-3257779712,3257780479,DE
+3257776384,3257780223,NL
+3257780224,3257780479,DE
3257780480,3257782271,NL
3257782272,3257784831,DE
3257784832,3257787135,NL
@@ -126245,10 +129216,13 @@
3258023936,3258056703,DE
3258057216,3258057471,CZ
3258058240,3258058495,RU
-3258059008,3258059519,RU
+3258059008,3258059263,UA
+3258059264,3258059519,RU
3258059520,3258059775,RO
3258059776,3258060799,RU
-3258060800,3258061823,GB
+3258060800,3258061055,GB
+3258061056,3258061311,DE
+3258061312,3258061823,GB
3258061824,3258062847,NL
3258062848,3258063103,RU
3258063360,3258063871,CZ
@@ -126344,8 +129318,7 @@
3258098944,3258099199,GB
3258099200,3258099455,SI
3258099456,3258099711,UA
-3258099712,3258099967,FI
-3258099968,3258100223,UA
+3258099712,3258100223,FI
3258100736,3258100991,CH
3258100992,3258101247,AT
3258101248,3258101503,RO
@@ -126393,12 +129366,14 @@
3258271744,3258272767,NL
3258272768,3258273791,FR
3258273792,3258279935,NL
-3258279936,3258281983,DE
+3258279936,3258280959,DE
+3258280960,3258281983,US
3258281984,3258284031,NL
3258284288,3258284543,NL
3258285056,3258286079,RS
3258286080,3258288127,NL
-3258288128,3258290175,DE
+3258288128,3258289151,GB
+3258289152,3258290175,DE
3258290176,3258291199,MD
3258291200,3258292223,ES
3258292224,3258293247,IT
@@ -126459,7 +129434,7 @@
3258423296,3258424319,RO
3258424320,3258426367,DE
3258426368,3258427391,RU
-3258427648,3258427903,RO
+3258427648,3258427903,ES
3258427904,3258428159,DE
3258428416,3258444287,DE
3258444800,3258445823,RU
@@ -126469,16 +129444,16 @@
3258449920,3258468351,CH
3258468352,3258469119,HR
3258469120,3258469375,SI
-3258469376,3258470399,AT
+3258469376,3258470399,US
3258470400,3258471423,UA
3258471424,3258472447,NL
3258472448,3258473471,IT
3258473472,3258474495,FR
3258474496,3258486783,CH
3258486784,3258487807,LI
-3258487808,3258488831,GB
+3258487808,3258488831,RU
3258488832,3258495999,CH
-3258496000,3258497023,GB
+3258496000,3258497023,RU
3258497024,3258498047,TR
3258498048,3258499071,CH
3258499072,3258500095,ES
@@ -126538,7 +129513,10 @@
3258681344,3258682367,NL
3258683136,3258685439,DE
3258685440,3258685695,CH
-3258685696,3258691583,DE
+3258685696,3258688511,DE
+3258688512,3258689023,SG
+3258689024,3258689535,LT
+3258689536,3258691583,DE
3258691840,3258692351,AT
3258692352,3258692607,DE
3258692608,3258692863,FR
@@ -126603,6 +129581,15 @@
3258776064,3258776319,GE
3258776320,3258776575,PL
3258776576,3258777599,UA
+3258777600,3258778623,RU
+3258778624,3258779647,NL
+3258779648,3258780159,RU
+3258780160,3258780671,GB
+3258780672,3258781695,RO
+3258781696,3258782719,ES
+3258782720,3258783743,SE
+3258783744,3258784767,NL
+3258784768,3258785791,DE
3258785792,3258786047,MD
3258786048,3258786303,DE
3258786304,3258786815,BG
@@ -126633,18 +129620,17 @@
3258810368,3258811391,NL
3258811392,3258812415,DE
3258812416,3258813439,MK
-3258813440,3258813695,TR
-3258813696,3258813951,GB
-3258813952,3258814463,TR
-3258814464,3258816511,GB
+3258813440,3258816511,GB
3258816512,3258817535,DE
3258818048,3258818303,SE
3258818560,3258834943,GB
3258834944,3258835967,TR
3258835968,3258836991,PL
3258836992,3258838015,RU
-3258838016,3258839039,NL
-3258839040,3258843135,GB
+3258838016,3258838271,NL
+3258838272,3258838527,GB
+3258838528,3258838783,NL
+3258838784,3258843135,GB
3258843136,3258843391,RU
3258844928,3258847231,GB
3258847232,3258848255,RU
@@ -126692,7 +129678,8 @@
3258904576,3258905599,PT
3258905600,3258906623,UA
3258906624,3258907647,DE
-3258907648,3258908671,ES
+3258907648,3258907903,IE
+3258907904,3258908671,ES
3258908672,3258941439,GB
3258941440,3258943487,PL
3258943488,3258944511,BG
@@ -126713,7 +129700,7 @@
3259243008,3259243263,SG
3259243264,3259243519,JP
3259243520,3259244543,US
-3259244800,3259246591,SE
+3259244544,3259246591,SE
3259246592,3259247615,IT
3259247616,3259247871,RO
3259247872,3259248127,SE
@@ -126808,8 +129795,8 @@
3259320056,3259320063,AT
3259320064,3259320575,GB
3259320576,3259320583,FR
-3259320584,3259326463,GB
-3259326464,3259327487,IE
+3259320584,3259326975,GB
+3259326976,3259327487,IE
3259327488,3259328190,GB
3259328191,3259328191,US
3259328192,3259328511,GB
@@ -126847,9 +129834,9 @@
3259438080,3259438335,ES
3259438336,3259438591,SE
3259438592,3259439103,NO
-3259439104,3259455359,SE
-3259455360,3259455487,NO
-3259455488,3259457279,SE
+3259439104,3259455455,SE
+3259455456,3259455471,NO
+3259455472,3259457279,SE
3259457280,3259457535,IT
3259457536,3259466239,SE
3259466240,3259466495,HU
@@ -126873,7 +129860,8 @@
3259496448,3259498495,SE
3259498496,3259541503,GB
3259541504,3259543551,NL
-3259543552,3259656191,GB
+3259543552,3259650047,GB
+3259652096,3259656191,GB
3259658240,3259760639,GB
3259760640,3259768831,DE
3259768832,3259769855,US
@@ -126884,7 +129872,7 @@
3259793408,3259794431,NL
3259794432,3259794943,US
3259794944,3259795455,NL
-3259795456,3259796479,LV
+3259795456,3259796479,US
3259796480,3259807743,DE
3259808512,3259808767,DE
3259808768,3259809791,UA
@@ -126893,7 +129881,9 @@
3259812864,3259813887,MD
3259813888,3259814399,DE
3259814400,3259814655,AT
-3259814656,3259821055,DE
+3259814656,3259818239,DE
+3259818240,3259818495,NL
+3259818496,3259821055,DE
3259821824,3259822079,AT
3259822592,3259823103,DE
3259823104,3259823615,RO
@@ -126938,7 +129928,9 @@
3260506368,3260506623,CH
3260506624,3260509439,RU
3260509440,3260509695,CH
-3260509696,3260547071,RU
+3260509696,3260520191,RU
+3260520192,3260520447,IN
+3260520448,3260547071,RU
3260547072,3260547327,DE
3260547328,3260547583,UA
3260547584,3260547839,NL
@@ -127013,6 +130005,17 @@
3260678144,3260743679,IL
3260743680,3260809215,JP
3260809216,3260874751,PL
+3260874752,3260875775,RU
+3260875776,3260876799,NL
+3260876800,3260877823,DE
+3260877824,3260878847,CZ
+3260878848,3260879871,GB
+3260879872,3260880895,NL
+3260880896,3260882943,RU
+3260882944,3260883967,SE
+3260883968,3260884991,RO
+3260884992,3260886015,IT
+3260886016,3260887039,ES
3260891136,3260892159,EE
3260892160,3260893183,DE
3260893184,3260894207,SE
@@ -127035,9 +130038,7 @@
3260940288,3261071359,DE
3261071360,3261136895,AT
3261136896,3261202431,DE
-3261202432,3261205759,FR
-3261205760,3261206015,BE
-3261206016,3261213439,FR
+3261202432,3261213439,FR
3261213440,3261213695,AF
3261213696,3261267967,FR
3261267968,3261270015,DE
@@ -127045,7 +130046,8 @@
3261271040,3261272063,DE
3261272064,3261273087,TR
3261273088,3261274111,DE
-3261274112,3261275135,RU
+3261274112,3261274367,FR
+3261274368,3261275135,RU
3261275136,3261276159,CZ
3261276160,3261278207,DE
3261278208,3261279231,NO
@@ -127065,7 +130067,9 @@
3261297920,3261298175,PL
3261298176,3261307903,DE
3261307904,3261308927,RU
-3261308928,3261333503,DE
+3261308928,3261323263,DE
+3261323264,3261325311,RU
+3261325312,3261333503,DE
3261333504,3261399039,FI
3261399040,3261472767,GB
3261472768,3261503487,RO
@@ -127075,7 +130079,7 @@
3261531904,3261532159,GB
3261532160,3261532415,SE
3261532416,3261532671,GB
-3261532672,3261532927,US
+3261532672,3261532927,SE
3261532928,3261533183,GB
3261533184,3261533439,SE
3261533440,3261533695,US
@@ -127157,7 +130161,7 @@
3261777408,3261777449,GB
3261777450,3261777451,NL
3261777452,3261777919,GB
-3261777920,3261778943,PL
+3261777920,3261778431,PL
3261778944,3261779455,RO
3261779456,3261779967,DE
3261779968,3261780479,UA
@@ -127179,12 +130183,10 @@
3261805568,3261806591,DE
3261806592,3261810687,AT
3261810688,3261811711,CZ
-3261811712,3261812735,NL
+3261811712,3261812479,CA
+3261812480,3261812735,NL
3261812736,3261812991,RU
-3261812992,3261815807,AT
-3261816064,3261816575,AT
-3261816576,3261816831,DE
-3261816832,3261820927,AT
+3261812992,3261820927,AT
3261820928,3261821183,RO
3261821184,3261821439,AT
3261821440,3261821695,NL
@@ -127241,8 +130243,8 @@
3262008832,3262009087,AT
3262009088,3262009343,UA
3262009344,3262010367,RU
-3262010368,3262010879,DE
-3262010880,3262011391,US
+3262010368,3262010623,US
+3262010624,3262011391,DE
3262011392,3262012415,JP
3262012416,3262013439,US
3262013440,3262017535,SE
@@ -127266,9 +130268,8 @@
3262030848,3262031871,FR
3262031872,3262032895,TR
3262032896,3262033919,DE
-3262033920,3262034943,FI
-3262034944,3262035455,AX
-3262035456,3262036991,FI
+3262033920,3262035199,AX
+3262035200,3262036991,FI
3262036992,3262038015,AX
3262038016,3262038271,FR
3262038528,3262038783,IL
@@ -127313,33 +130314,30 @@
3262122752,3262122815,AX
3262122816,3262124031,FI
3262124032,3262128127,DE
-3262128128,3262136319,GB
+3262128128,3262137599,GB
3262137600,3262137855,DE
-3262139392,3262140415,GB
-3262140416,3262140671,DE
+3262137856,3262141183,GB
3262141184,3262141439,DE
3262141440,3262142463,ES
-3262142464,3262142719,DE
-3262143488,3262143743,GB
+3262142464,3262143999,GB
3262144000,3262144047,DE
-3262145024,3262145279,DE
-3262145552,3262145567,DE
+3262144048,3262145615,GB
3262145616,3262145631,DE
-3262146048,3262146815,DE
-3262147584,3262147839,DE
-3262148608,3262148863,DE
-3262148880,3262148919,DE
-3262148928,3262149119,DE
-3262149120,3262149151,FR
-3262149152,3262149159,DE
-3262149168,3262149375,FR
+3262145632,3262146559,GB
+3262146560,3262146815,DE
+3262146816,3262148911,GB
+3262148912,3262148919,DE
+3262148920,3262149167,GB
+3262149168,3262149215,FR
+3262149216,3262149631,GB
3262149632,3262149887,DE
-3262150912,3262151047,DE
+3262149888,3262151071,GB
3262151072,3262151103,DE
-3262151136,3262151151,DE
-3262151168,3262151423,DE
+3262151104,3262151935,GB
3262151936,3262152191,DE
+3262152192,3262152663,GB
3262152664,3262152671,DE
+3262152672,3262152703,GB
3262152704,3262185471,AT
3262185472,3262191615,DE
3262191616,3262192639,RU
@@ -127371,7 +130369,9 @@
3262240768,3262243327,DE
3262243840,3262244863,CH
3262244864,3262246911,RU
-3262246912,3262283775,DE
+3262246912,3262271999,DE
+3262272000,3262272255,RU
+3262272256,3262283775,DE
3262283776,3262284799,RU
3262284800,3262285823,UA
3262285824,3262286847,LU
@@ -127700,7 +130700,8 @@
3262473767,3262473777,DE
3262473778,3262473778,US
3262473779,3262473780,DE
-3262473781,3262473782,US
+3262473781,3262473781,US
+3262473782,3262473782,PR
3262473783,3262473855,DE
3262473856,3262473859,US
3262473860,3262473903,DE
@@ -128775,9 +131776,7 @@
3262479430,3262479430,GB
3262479431,3262479433,DE
3262479434,3262479434,IT
-3262479435,3262479437,DE
-3262479438,3262479438,IT
-3262479439,3262479439,DE
+3262479435,3262479439,DE
3262479440,3262479440,AT
3262479441,3262479441,DK
3262479442,3262479442,IT
@@ -128994,8 +131993,7 @@
3262479766,3262479766,CH
3262479767,3262479770,DE
3262479771,3262479771,IT
-3262479772,3262479775,DE
-3262479776,3262479776,IT
+3262479772,3262479776,DE
3262479777,3262479777,BE
3262479778,3262479778,NL
3262479779,3262479782,DE
@@ -129336,7 +132334,9 @@
3262627840,3262636031,IT
3262636032,3262644223,BE
3262644224,3262648319,NL
-3262648320,3262650367,DE
+3262648320,3262648831,DE
+3262648832,3262649855,NL
+3262649856,3262650367,DE
3262650368,3262654463,NL
3262654464,3262654719,DE
3262654720,3262658303,NL
@@ -129362,7 +132362,8 @@
3262691584,3262692607,NL
3262692608,3262701567,DE
3262701568,3262703103,NL
-3262703360,3262704383,DE
+3262703360,3262703615,SE
+3262703616,3262704383,DE
3262704384,3262707807,NL
3262707808,3262707839,DE
3262707840,3262707967,NL
@@ -129389,7 +132390,17 @@
3262832640,3262840319,DE
3262840320,3262906367,NL
3262906368,3262914559,CH
-3262922752,3262923775,AT
+3262914560,3262914815,GB
+3262914816,3262915071,CH
+3262915072,3262915327,JP
+3262915328,3262915583,SG
+3262915584,3262917631,RU
+3262917632,3262918655,DE
+3262918656,3262919679,RU
+3262919680,3262920703,NL
+3262920704,3262921727,ES
+3262921728,3262922751,DE
+3262922752,3262923775,US
3262923776,3262924799,ES
3262924800,3262925823,IT
3262926336,3262954495,CH
@@ -129499,9 +132510,7 @@
3263104041,3263104041,GB
3263104042,3263107071,DE
3263107072,3263109119,US
-3263109120,3263109706,DE
-3263109707,3263109707,FR
-3263109708,3263109951,DE
+3263109120,3263109951,DE
3263109952,3263109959,FR
3263109960,3263129599,DE
3263130368,3263130623,DE
@@ -129515,9 +132524,7 @@
3263138816,3263143935,DE
3263144192,3263144447,DE
3263144960,3263145983,EE
-3263145984,3263159039,DE
-3263159040,3263159295,AT
-3263159296,3263165439,DE
+3263145984,3263165439,DE
3263165440,3263167487,FR
3263168000,3263168255,DE
3263168512,3263430655,GB
@@ -129575,8 +132582,7 @@
3263481472,3263481487,JP
3263481488,3263481503,GB
3263481504,3263481855,JP
-3263481856,3263483903,SE
-3263484416,3263496191,SE
+3263481856,3263496191,SE
3263496192,3263503103,GB
3263503104,3263503359,DE
3263503360,3263511551,GB
@@ -129642,9 +132648,13 @@
3263680512,3263690751,RU
3263690752,3263692799,SY
3263692800,3263823871,FI
-3263823872,3263886079,DE
+3263823872,3263858687,DE
+3263858688,3263858943,CN
+3263858944,3263886079,DE
3263886080,3263886335,SG
-3263886336,3263954943,DE
+3263886336,3263886591,DE
+3263886592,3263886847,CN
+3263886848,3263954943,DE
3263954944,3263979519,ES
3263979520,3263987711,DE
3263987712,3264004095,ES
@@ -129905,7 +132915,8 @@
3264606976,3264607231,BE
3264607232,3264607487,IT
3264607488,3264610303,DE
-3264610304,3264614127,FR
+3264610304,3264612351,GB
+3264612352,3264614127,FR
3264614128,3264614131,NL
3264614132,3264614399,FR
3264614400,3264614911,GB
@@ -129984,7 +132995,11 @@
3264674304,3264674815,PL
3264674816,3264675327,GB
3264675328,3264675839,RU
-3264675840,3264741375,NL
+3264675840,3264676159,NL
+3264676160,3264676223,FR
+3264676224,3264676287,NL
+3264676288,3264676351,BE
+3264676352,3264741375,NL
3264741376,3264749567,SI
3264749568,3264750079,LV
3264750080,3264750591,RU
@@ -130006,9 +133021,7 @@
3264765952,3264774143,AT
3264774144,3264782335,HU
3264782336,3264790527,AT
-3264790528,3264804607,HR
-3264804608,3264804863,SI
-3264804864,3264806911,HR
+3264790528,3264806911,HR
3264806912,3264815103,GB
3264815104,3264825343,SE
3264825856,3264826111,NL
@@ -130089,11 +133102,7 @@
3264897024,3264905215,GB
3264905216,3264913407,CY
3264913408,3264921599,GB
-3264921600,3264924671,LU
-3264924672,3264925695,FR
-3264925696,3264928255,LU
-3264928256,3264928511,FR
-3264928512,3264929791,LU
+3264921600,3264929791,LU
3264929792,3264937983,SK
3264937984,3265003519,GB
3265003520,3265005567,DE
@@ -130132,11 +133141,9 @@
3265069056,3265134591,FI
3265134592,3265134847,CH
3265134848,3265134879,BE
-3265134880,3265135017,CH
-3265135018,3265135019,BE
-3265135020,3265135039,CH
-3265135040,3265135071,BE
-3265135072,3265136127,CH
+3265134880,3265134975,CH
+3265134976,3265135103,BE
+3265135104,3265136127,CH
3265136128,3265136383,GB
3265136384,3265136463,CH
3265136464,3265136467,FR
@@ -130157,20 +133164,12 @@
3265140192,3265140735,CH
3265140736,3265141551,GB
3265141552,3265141555,IE
-3265141556,3265141775,GB
-3265141776,3265141823,CH
-3265141824,3265141839,GB
-3265141840,3265141855,CH
-3265141856,3265141887,GB
+3265141556,3265141887,GB
3265141888,3265142220,CH
3265142221,3265142221,GB
3265142222,3265142783,CH
3265142784,3265150975,MT
-3265150976,3265153023,AD
-3265153024,3265153279,ES
-3265153280,3265153535,AD
-3265153536,3265154047,ES
-3265154048,3265159167,AD
+3265150976,3265159167,AD
3265159168,3265167359,FR
3265167360,3265175551,AT
3265175552,3265183743,NL
@@ -130368,17 +133367,9 @@
3266345984,3266346495,GB
3266346496,3266346751,IT
3266346752,3266347007,FR
-3266351360,3266352607,GB
-3266352896,3266353567,GB
-3266353584,3266353591,GB
-3266353664,3266353671,GB
-3266353680,3266353687,GB
+3266347008,3266353775,GB
3266353776,3266353783,US
-3266353856,3266353863,GB
-3266353880,3266353887,GB
-3266353896,3266353903,GB
-3266353920,3266354175,GB
-3266354688,3266355199,GB
+3266353784,3266355199,GB
3266355200,3266363391,RO
3266363392,3266371583,GB
3266371584,3266379775,HU
@@ -130396,7 +133387,9 @@
3266420736,3266428927,GB
3266428928,3266437119,GR
3266437120,3266445311,GL
-3266445312,3266510847,NL
+3266445312,3266473087,NL
+3266473088,3266473215,GB
+3266473216,3266510847,NL
3266510848,3266543615,ES
3266543616,3266576383,IT
3266576384,3266578431,DE
@@ -130414,7 +133407,8 @@
3266606080,3266607103,FR
3266607104,3266616575,DE
3266617328,3266617343,GB
-3266617344,3266622463,DE
+3266617344,3266621439,DE
+3266621440,3266622463,US
3266622464,3266623487,LU
3266623488,3266624511,GB
3266625024,3266625279,DE
@@ -130443,18 +133437,20 @@
3266766848,3266772991,DK
3266772992,3266781183,IT
3266781184,3266789375,PL
-3266789376,3266797567,SM
+3266789376,3266792447,SM
+3266792448,3266792959,IT
+3266792960,3266797567,SM
3266797568,3266797823,GB
3266797824,3266798207,ES
3266798208,3266798847,GB
3266798848,3266798879,CZ
-3266798880,3266801845,GB
-3266801846,3266801846,BG
-3266801847,3266802415,GB
-3266802416,3266802423,BG
-3266802424,3266803215,GB
+3266798880,3266801343,GB
+3266801344,3266801359,BG
+3266801360,3266801663,GB
+3266801664,3266803215,BG
3266803216,3266803219,FR
-3266803220,3266804095,GB
+3266803220,3266803711,BG
+3266803712,3266804095,GB
3266804096,3266804127,NL
3266804128,3266804479,GB
3266804480,3266804735,NL
@@ -130558,11 +133554,11 @@
3267559424,3267624959,DE
3267627372,3267627375,DE
3267627408,3267627411,GB
-3267628396,3267628415,FR
+3267628032,3267629055,FR
+3267629588,3267629591,BE
3267630080,3267631103,GB
3267634176,3267635199,GB
-3267648320,3267648335,GB
-3267648402,3267648402,GB
+3267647488,3267649535,GB
3267657552,3267657555,RO
3267657560,3267657563,RO
3267657576,3267657583,RO
@@ -130600,131 +133596,17 @@
3268173824,3268182015,MT
3268182016,3268198399,PL
3268198400,3268214783,MA
-3268215584,3268215615,GB
-3268215648,3268215679,GB
-3268215712,3268215743,GB
-3268215808,3268216063,GB
-3268218112,3268218367,GB
-3268219808,3268219823,GB
-3268221440,3268221471,GB
-3268221504,3268221599,GB
-3268221696,3268221951,GB
-3268222976,3268223167,GB
-3268223200,3268223231,GB
+3268214784,3268224767,GB
3268224768,3268225023,US
-3268226368,3268226399,GB
-3268226496,3268226631,GB
-3268226640,3268226655,GB
-3268226688,3268226815,GB
-3268227328,3268227391,GB
-3268227520,3268227615,GB
-3268231168,3268231199,GB
-3268231320,3268231359,GB
-3268231392,3268231423,GB
-3268231648,3268231679,GB
-3268231744,3268231807,GB
-3268232224,3268232243,GB
-3268232352,3268232367,GB
-3268232384,3268232415,GB
-3268232480,3268232575,GB
-3268232960,3268233087,GB
-3268234176,3268234239,GB
-3268234560,3268234623,GB
-3268235008,3268235263,GB
-3268235264,3268235519,DE
-3268235520,3268235775,GB
-3268235968,3268236031,GB
-3268236192,3268236207,GB
-3268236544,3268236607,GB
-3268236672,3268236799,GB
-3268237824,3268237855,GB
-3268237904,3268237911,GB
-3268238336,3268238359,GB
-3268238384,3268238399,GB
-3268238464,3268238623,GB
-3268238632,3268238719,GB
-3268238752,3268238783,GB
-3268239584,3268240127,GB
-3268240160,3268240191,GB
-3268240384,3268240399,GB
-3268240480,3268240487,GB
-3268240688,3268240695,GB
-3268240712,3268240735,GB
-3268240744,3268240751,GB
-3268240976,3268240991,GB
-3268241008,3268241023,GB
-3268241544,3268241551,GB
-3268241640,3268241655,GB
-3268242496,3268242523,GB
-3268242880,3268243071,GB
-3268243328,3268243391,GB
-3268244776,3268244783,GB
-3268244792,3268244799,GB
-3268246272,3268246783,GB
-3268246976,3268246991,GB
-3268248320,3268248447,GB
-3268248512,3268248543,GB
-3268249600,3268251311,GB
+3268225024,3268251311,GB
3268251312,3268251327,IE
3268251328,3268251615,GB
3268251616,3268251631,CH
-3268251632,3268251647,GB
-3268254464,3268254543,GB
-3268254624,3268254639,GB
-3268254896,3268254903,GB
-3268255824,3268255863,GB
-3268255896,3268255919,GB
-3268255952,3268255959,GB
-3268255968,3268255983,GB
-3268256896,3268256959,GB
-3268257024,3268257055,GB
-3268257088,3268257119,GB
-3268257416,3268257419,GB
+3268251632,3268257431,GB
3268257432,3268257439,IT
-3268257464,3268257471,GB
-3268257488,3268257503,GB
-3268257512,3268257527,GB
-3268258560,3268258623,GB
-3268258688,3268258751,GB
-3268259520,3268259527,GB
-3268259544,3268259551,GB
-3268259560,3268259575,GB
-3268259808,3268259815,GB
-3268259832,3268260095,GB
-3268260352,3268260383,GB
-3268260416,3268260447,GB
-3268260512,3268260607,GB
-3268260640,3268260647,GB
-3268261936,3268261951,GB
-3268262768,3268262783,GB
-3268262880,3268262887,GB
-3268263232,3268263263,GB
-3268263776,3268263783,GB
-3268264736,3268264767,GB
-3268265416,3268265431,GB
-3268265984,3268266495,GB
-3268266984,3268266991,GB
-3268267536,3268267551,GB
-3268267584,3268267599,GB
-3268267616,3268267647,GB
-3268267744,3268267775,GB
-3268267952,3268267959,GB
-3268272728,3268272735,GB
-3268273024,3268273151,GB
-3268274112,3268274175,GB
-3268274456,3268274459,GB
-3268274528,3268274543,GB
-3268274560,3268274591,GB
-3268275984,3268275999,GB
-3268276640,3268276655,GB
-3268276672,3268276687,GB
-3268276864,3268276895,GB
-3268277056,3268277119,GB
-3268277760,3268278015,GB
-3268278464,3268278495,GB
-3268280064,3268280319,GB
-3268280320,3268334335,FR
-3268334336,3268334591,RE
+3268257440,3268280319,GB
+3268280320,3268334079,FR
+3268334080,3268334591,RE
3268334592,3268345855,FR
3268345856,3268411391,GB
3268411392,3268476927,AT
@@ -130734,8 +133616,7 @@
3268673536,3268739071,CZ
3268739072,3268739327,DE
3268739328,3268739583,PL
-3268739584,3268739839,DE
-3268739840,3268740095,GB
+3268739584,3268740095,DE
3268740096,3268740351,IL
3268740352,3268740607,DE
3268740608,3268740863,RO
@@ -130777,7 +133658,9 @@
3268771328,3268771839,NL
3268771840,3268788223,NO
3268788224,3268804607,CZ
-3268804608,3268870143,FR
+3268804608,3268869375,FR
+3268869376,3268869631,PF
+3268869632,3268870143,FR
3268870144,3268935679,FI
3268935680,3269066751,GB
3269066752,3269075719,SE
@@ -130785,105 +133668,68 @@
3269075728,3269132287,SE
3269132288,3269197823,GR
3269197824,3269263359,ES
-3269264640,3269264895,DE
-3269265856,3269265919,DE
-3269265920,3269266175,GB
+3269263360,3269266687,GB
3269266688,3269266943,DE
-3269266944,3269267455,GB
-3269272576,3269272583,DE
+3269266944,3269272703,GB
3269272704,3269272831,DE
-3269272832,3269272847,GB
-3269272848,3269272863,NL
-3269272864,3269272887,GB
-3269272896,3269273087,NL
-3269273088,3269273343,DE
-3269273600,3269273855,GB
-3269273856,3269275647,DE
-3269275904,3269276159,DE
-3269276160,3269276415,GB
-3269277184,3269277695,FR
+3269272832,3269274623,GB
+3269274624,3269274879,DE
+3269274880,3269275391,GB
+3269275392,3269275647,DE
+3269275648,3269277695,GB
3269277696,3269278719,NL
-3269279232,3269279487,NL
-3269279672,3269279679,CH
-3269279744,3269280255,GB
+3269278720,3269280255,GB
3269280256,3269280767,NL
3269280768,3269281023,GB
3269281024,3269281279,NL
-3269281280,3269281535,FR
-3269282048,3269282303,DE
-3269282304,3269282559,GB
+3269281280,3269281343,FR
+3269281344,3269282559,GB
3269282560,3269282815,FR
-3269283328,3269283583,DE
-3269283872,3269283903,DE
-3269284096,3269284351,GB
-3269284864,3269285079,FR
-3269285088,3269285135,DE
-3269285136,3269285151,GB
-3269285152,3269285215,DE
-3269285216,3269285311,FR
-3269285312,3269285327,DE
+3269282816,3269284863,GB
+3269284864,3269285055,FR
+3269285056,3269285183,GB
+3269285184,3269285215,DE
+3269285216,3269285247,FR
+3269285248,3269285335,GB
3269285336,3269285343,FR
-3269285344,3269285375,GB
-3269285376,3269285631,FR
+3269285344,3269285631,GB
3269285632,3269285887,DE
-3269286400,3269286479,DE
-3269288688,3269288695,DE
+3269285888,3269286463,GB
+3269286464,3269286479,DE
+3269286480,3269288703,GB
3269288704,3269288959,DE
-3269290560,3269290575,DE
-3269290592,3269290687,DE
-3269290736,3269290743,DE
-3269291264,3269291519,DE
-3269291520,3269291567,GB
-3269291584,3269291647,GB
-3269291776,3269292287,ES
-3269293120,3269293151,DE
-3269293208,3269293215,DE
-3269293376,3269293391,DE
-3269293856,3269293887,DE
-3269293920,3269293951,DE
-3269294080,3269295103,GB
-3269296232,3269296235,DE
-3269296368,3269296375,DE
-3269297152,3269297663,GB
-3269298664,3269298671,DE
+3269288960,3269290559,GB
+3269290560,3269290567,DE
+3269290568,3269303039,GB
3269303040,3269303295,DE
-3269303296,3269303423,GB
-3269303552,3269303679,DE
+3269303296,3269305343,GB
3269305344,3269305351,DE
+3269305352,3269305855,GB
3269305856,3269306879,DE
-3269307648,3269307903,DE
-3269310656,3269310671,DE
-3269310976,3269311231,DE
-3269311872,3269311999,DE
-3269313792,3269314175,DE
-3269314192,3269314199,DE
-3269315584,3269315591,DE
-3269317632,3269317663,GB
+3269306880,3269317663,GB
3269317664,3269317671,IE
-3269317672,3269317887,GB
-3269317888,3269318399,DE
-3269318400,3269318655,GB
-3269318656,3269318983,DE
-3269319008,3269319047,DE
+3269317672,3269319055,GB
3269319056,3269319071,DE
-3269319136,3269320447,DE
-3269320704,3269321727,GB
-3269322240,3269322495,DE
-3269322656,3269322679,DE
-3269322752,3269323263,DE
-3269326848,3269326855,DE
-3269326960,3269326971,DE
-3269326992,3269326999,DE
-3269327024,3269327039,DE
-3269327056,3269327103,DE
-3269327760,3269327775,DE
-3269327864,3269328383,DE
-3269328896,3269394431,GB
+3269319072,3269319167,GB
+3269319168,3269319679,DE
+3269319680,3269320191,GB
+3269320192,3269320447,DE
+3269320448,3269322751,GB
+3269322752,3269323007,DE
+3269323008,3269326963,GB
+3269326964,3269326967,DE
+3269326968,3269327055,GB
+3269327056,3269327071,DE
+3269327072,3269327871,GB
+3269327872,3269328383,DE
+3269328384,3269394431,GB
3269394432,3269419007,AU
3269419008,3269435391,GB
3269435392,3269443583,AU
3269443584,3269459967,GB
-3269459968,3269525503,ES
+3269459968,3269466367,ES
+3269466368,3269466623,DE
+3269466624,3269525503,ES
3269525504,3269591039,IR
3269591040,3269621759,RU
3269621760,3269623295,BY
@@ -131172,15 +134018,17 @@
3271425024,3271425279,DE
3271425280,3271425535,DK
3271425536,3271426047,DE
-3271426048,3271491583,FR
+3271426048,3271473151,FR
+3271473152,3271475199,NC
+3271475200,3271491583,FR
3271491584,3271557119,DK
3271557120,3271589887,BE
3271589888,3271688191,NO
+3271688192,3271691775,GB
3271691776,3271692031,US
-3271692032,3271692287,GB
+3271692032,3271694079,GB
3271694080,3271694335,IE
-3271694592,3271695103,GB
-3271696384,3271698431,GB
+3271694336,3271698431,GB
3271704576,3271712767,RU
3271712768,3271720959,LV
3271720960,3271729151,GB
@@ -131206,8 +134054,7 @@
3271748096,3271748607,GR
3271748608,3271749119,UA
3271749120,3271750143,RU
-3271750656,3271750911,IE
-3271750912,3271751167,GB
+3271750656,3271751167,GB
3271751168,3271751679,RO
3271751680,3271752191,NL
3271752192,3271752703,GB
@@ -131240,7 +134087,7 @@
3271811072,3271812095,UA
3271812096,3271813119,ES
3271813120,3271814143,PL
-3271814144,3271815167,UA
+3271814144,3271815167,SA
3271815168,3271816191,RU
3271816192,3271817215,UA
3271817216,3271818239,DE
@@ -131290,12 +134137,16 @@
3271933184,3271933439,GB
3271933440,3271933695,SE
3271933696,3271933951,DE
-3271933952,3272015871,FR
-3272015872,3272016895,US
+3271933952,3272001535,FR
+3272001536,3272002559,GP
+3272002560,3272015871,FR
+3272015872,3272016127,GB
+3272016128,3272016895,US
3272016896,3272017919,DE
3272017920,3272018943,IQ
-3272018944,3272019455,ES
-3272019456,3272019967,CZ
+3272018944,3272019455,CZ
+3272019456,3272019711,UA
+3272019712,3272019967,UZ
3272019968,3272020991,IT
3272020992,3272024063,DK
3272024064,3272032255,IE
@@ -131303,7 +134154,9 @@
3272040448,3272048639,FR
3272048640,3272056831,NL
3272056832,3272065023,RU
-3272065024,3272073727,GB
+3272065024,3272067071,GB
+3272067072,3272069119,CZ
+3272069120,3272073727,GB
3272073728,3272073855,IE
3272073856,3272081407,GB
3272081408,3272087551,PT
@@ -131368,90 +134221,53 @@
3272213440,3272213471,ES
3272213472,3272213487,CY
3272213488,3272213503,ES
-3272213504,3272213567,IT
-3272213568,3272213575,GB
-3272213576,3272213583,IE
-3272213584,3272213599,DE
-3272213600,3272213615,IT
-3272213632,3272213639,NL
-3272213656,3272213663,IT
+3272213504,3272213671,GB
3272213672,3272213679,IT
-3272213752,3272213759,IT
+3272213680,3272213759,GB
3272213760,3272214015,NL
-3272214016,3272214271,ES
-3272214272,3272214303,GB
-3272214336,3272214351,GB
-3272214352,3272214407,FR
-3272214432,3272214463,SE
+3272214016,3272214399,GB
+3272214400,3272214407,FR
+3272214408,3272214527,GB
3272214528,3272215039,FR
3272215040,3272215295,ES
3272215296,3272215551,NL
3272215552,3272215807,CH
-3272215808,3272215823,NL
-3272215872,3272215879,BE
-3272215884,3272215919,CH
-3272215920,3272215935,NL
-3272215936,3272215999,GB
+3272215808,3272215999,GB
3272216000,3272216007,IT
-3272216016,3272216031,DE
-3272216032,3272216039,IT
-3272216040,3272216047,GB
+3272216008,3272216047,GB
3272216048,3272216055,IT
+3272216056,3272216215,GB
3272216216,3272216223,FR
+3272216224,3272216263,GB
3272216264,3272216271,IT
+3272216272,3272216479,GB
3272216480,3272216480,IR
-3272216992,3272217007,GB
-3272217088,3272217151,GB
-3272217152,3272217159,BE
-3272217216,3272217279,BE
-3272217280,3272217303,DE
-3272217304,3272217327,BE
-3272217344,3272217599,GB
-3272217600,3272217631,CH
-3272217856,3272217875,ES
-3272217880,3272217887,IT
-3272217896,3272217919,ES
-3272217920,3272217983,DE
+3272216481,3272217311,GB
+3272217312,3272217327,BE
+3272217328,3272217911,GB
+3272217912,3272217919,ES
+3272217920,3272217983,GB
3272217984,3272218079,ES
-3272218112,3272218623,GB
-3272218632,3272218639,RU
-3272218688,3272218719,DE
-3272218752,3272218879,GB
+3272218080,3272218879,GB
3272218880,3272219135,BE
-3272219136,3272219391,NL
-3272219392,3272219647,GB
+3272219136,3272219647,GB
3272219648,3272219903,FR
-3272219904,3272220159,DE
-3272220672,3272221183,GB
-3272221184,3272221439,NL
-3272221440,3272221447,SE
-3272221448,3272221455,NO
-3272221456,3272221463,SE
-3272221472,3272221495,SE
-3272221504,3272221519,SE
+3272219904,3272221695,GB
3272221696,3272221951,NL
3272221952,3272222207,GB
3272222208,3272222463,ES
3272222464,3272222719,NL
-3272222720,3272223015,GB
-3272223024,3272223039,GB
+3272222720,3272223231,GB
3272223232,3272223487,NL
-3272223488,3272223503,SG
-3272223744,3272224511,GB
-3272224768,3272225023,GB
-3272225280,3272225535,IT
-3272225536,3272225791,GB
-3272225792,3272225815,IT
-3272225856,3272225919,GB
+3272223488,3272225279,GB
+3272225280,3272225815,IT
+3272225816,3272225919,GB
3272225920,3272226047,IT
-3272226048,3272226815,FR
-3272226816,3272227071,GB
-3272227072,3272227327,PT
+3272226048,3272226303,GB
+3272226304,3272226559,FR
+3272226560,3272227327,GB
3272227328,3272227359,US
-3272227360,3272227511,GB
-3272227520,3272227583,GB
-3272227584,3272227839,FR
-3272227840,3272228351,ES
+3272227360,3272228351,GB
3272228352,3272228607,FR
3272228608,3272228639,NL
3272228640,3272228671,IT
@@ -131584,7 +134400,9 @@
3272647168,3272647385,IL
3272647386,3272647386,DE
3272647387,3272647679,IL
-3272647680,3272654847,GB
+3272647680,3272648703,GB
+3272648704,3272650751,IE
+3272650752,3272654847,GB
3272654848,3272663039,FI
3272663040,3272671231,AT
3272671232,3272736767,SE
@@ -131616,7 +134434,7 @@
3272896000,3272896511,PL
3272896512,3272897535,DE
3272897536,3272898047,FI
-3272898048,3272898559,UA
+3272898048,3272898559,RU
3272898560,3272899071,DE
3272899328,3272899583,PL
3272899584,3272900095,UA
@@ -131737,9 +134555,7 @@
3273195008,3273195519,RU
3273195520,3273200387,FR
3273200388,3273200388,GB
-3273200389,3273225727,FR
-3273225728,3273225983,GF
-3273225984,3273261055,FR
+3273200389,3273261055,FR
3273261056,3273261567,NO
3273261568,3273262079,BE
3273262080,3273262591,LU
@@ -131764,173 +134580,93 @@
3273293824,3273302015,MK
3273302016,3273310207,RU
3273310208,3273318399,AT
-3273318400,3273326591,GB
+3273318400,3273326983,GB
3273326984,3273326987,DE
-3273326992,3273327047,DE
-3273327104,3273327295,DE
+3273326988,3273327287,GB
+3273327288,3273327295,DE
+3273327296,3273327335,GB
3273327336,3273327359,DE
+3273327360,3273327439,GB
3273327440,3273327447,IE
-3273327488,3273327495,GB
+3273327448,3273327519,GB
3273327520,3273327551,IE
-3273327552,3273327583,GB
-3273328512,3273328639,DE
-3273328640,3273329199,GB
-3273329200,3273329215,DE
-3273329216,3273329279,GB
-3273329312,3273329327,GB
-3273329416,3273329423,GB
-3273329424,3273329439,DE
-3273329440,3273329599,GB
-3273329632,3273329639,GB
-3273329664,3273329823,GB
-3273329832,3273329887,GB
-3273329904,3273330111,GB
-3273330128,3273330171,GB
+3273327552,3273330175,GB
3273330176,3273330183,IR
-3273330232,3273330235,GB
-3273330288,3273330295,IE
+3273330184,3273330303,GB
3273330304,3273330431,IE
-3273330496,3273330519,GB
-3273330528,3273330551,GB
-3273330560,3273330951,GB
-3273330960,3273331191,GB
-3273331712,3273331743,GB
-3273331752,3273331791,GB
-3273331808,3273331823,GB
-3273331840,3273331887,GB
-3273331904,3273331967,GB
-3273331968,3273332031,DE
-3273332032,3273332095,GB
-3273332096,3273332223,DE
-3273332224,3273332231,GB
-3273332240,3273332255,GB
-3273332264,3273332479,GB
-3273332544,3273332575,DE
-3273332608,3273332671,DE
-3273333056,3273333119,DE
-3273334272,3273334671,DE
+3273330432,3273334527,GB
+3273334528,3273334655,DE
+3273334656,3273334719,GB
3273334720,3273334783,DE
-3273334784,3273335039,AE
-3273335296,3273335807,GB
-3273335936,3273335999,DE
-3273336848,3273336863,DE
-3273336864,3273336871,GB
-3273336880,3273336895,DE
-3273336960,3273337087,DE
-3273337856,3273338111,DE
+3273334784,3273338623,GB
3273338624,3273338879,DE
-3273339136,3273339391,DE
-3273339392,3273339919,GB
-3273339920,3273339943,DE
-3273339944,3273339955,GB
-3273339960,3273339967,GB
-3273339984,3273340095,GB
-3273340096,3273340111,GI
-3273340112,3273340119,GB
-3273340160,3273340415,GB
-3273340928,3273341711,FR
-3273341752,3273341823,FR
-3273341856,3273341951,FR
-3273342022,3273342022,GB
-3273342034,3273342034,GB
-3273342080,3273342095,GB
-3273342192,3273342207,GB
-3273342208,3273342231,AE
-3273342240,3273342255,AE
-3273342464,3273342975,DE
-3273342976,3273343999,GB
+3273338880,3273340927,GB
+3273340928,3273341439,FR
+3273341440,3273341751,GB
+3273341752,3273341759,FR
+3273341760,3273341835,GB
+3273341836,3273341836,DE
+3273341837,3273341855,GB
+3273341856,3273341887,FR
+3273341888,3273342463,GB
+3273342464,3273342719,DE
+3273342720,3273343999,GB
3273344000,3273344511,DE
+3273344512,3273345023,GB
3273345024,3273345279,DE
-3273346560,3273346815,OM
-3273346816,3273347071,DE
-3273347584,3273347839,GB
-3273347840,3273348351,DE
-3273349120,3273349631,DE
-3273350272,3273350287,DE
-3273350336,3273350351,DE
-3273351168,3273351423,GB
-3273351424,3273351455,DE
-3273351504,3273351519,DE
-3273351872,3273351903,DE
-3273351936,3273352191,DE
-3273352928,3273352959,DE
-3273352992,3273353023,DE
-3273357312,3273358335,GB
-3273359888,3273359903,DE
-3273360016,3273360079,DE
-3273361472,3273361535,DE
-3273361632,3273361663,DE
-3273361792,3273361823,DE
+3273345280,3273347839,GB
+3273347840,3273348095,DE
+3273348096,3273350343,GB
+3273350344,3273350351,DE
+3273350352,3273361855,GB
3273361856,3273361919,DE
-3273362048,3273362175,DE
+3273361920,3273362143,GB
+3273362144,3273362175,DE
+3273362176,3273362239,GB
3273362240,3273362255,DE
-3273363208,3273363211,DE
-3273363328,3273363391,DE
-3273363456,3273364479,GB
-3273364608,3273364735,DE
-3273364992,3273365247,DE
-3273365504,3273365519,NL
-3273365520,3273365543,GB
-3273365544,3273365759,NL
-3273365760,3273365767,GB
+3273362256,3273363327,GB
+3273363328,3273363359,DE
+3273363360,3273365887,GB
3273365888,3273366015,FR
3273366016,3273366527,DE
-3273366528,3273367551,GB
-3273367552,3273367567,DE
+3273366528,3273368063,GB
3273368064,3273368575,DE
-3273369344,3273369855,DE
-3273369872,3273369903,FR
+3273368576,3273369343,GB
+3273369344,3273369599,DE
+3273369600,3273369887,GB
+3273369888,3273369895,FR
+3273369896,3273369911,GB
3273369912,3273369919,FR
-3273369976,3273369983,FR
+3273369920,3273370031,GB
3273370032,3273370039,FR
+3273370040,3273370047,GB
3273370048,3273370063,FR
-3273370624,3273371135,DE
-3273371712,3273371743,DE
-3273371760,3273371775,DE
+3273370064,3273371807,GB
3273371808,3273371823,DE
-3273371872,3273371875,DE
-3273372000,3273372055,DE
+3273371824,3273372095,GB
3273372096,3273372159,DE
-3273372672,3273372927,GB
+3273372160,3273372927,GB
3273372928,3273373567,DE
-3273373568,3273374847,GB
-3273374856,3273374863,GB
-3273374896,3273374903,GB
-3273374928,3273374931,GB
-3273375104,3273375231,GB
-3273375232,3273375551,DE
-3273375744,3273375871,DE
-3273376000,3273376255,DE
-3273376536,3273376543,DE
-3273377792,3273378095,DE
-3273378560,3273378815,DE
-3273381888,3273382143,DE
-3273382144,3273382399,GB
-3273382400,3273382463,DE
-3273382480,3273382591,DE
-3273382640,3273382687,DE
-3273384192,3273384703,DE
-3273384960,3273385215,DE
-3273385280,3273385343,DE
+3273373568,3273377791,GB
+3273377792,3273378047,DE
+3273378048,3273382671,GB
+3273382672,3273382687,DE
+3273382688,3273384191,GB
+3273384192,3273384447,DE
+3273384448,3273385471,GB
3273385472,3273385727,DE
-3273385760,3273385791,DE
-3273385856,3273385919,DE
-3273387056,3273387071,DE
-3273387216,3273387231,DE
+3273385728,3273387263,GB
3273387264,3273387519,DE
-3273387552,3273387583,DE
-3273388160,3273388223,DE
-3273388800,3273388807,DE
-3273388816,3273388863,DE
-3273388872,3273388879,DE
-3273388904,3273388911,DE
-3273388912,3273388927,GB
-3273390080,3273390111,DE
+3273387520,3273390111,GB
3273390112,3273390143,US
3273390144,3273390207,DE
+3273390208,3273390367,GB
3273390368,3273390399,DE
-3273391104,3273391359,DE
-3273391488,3273391615,DE
+3273390400,3273391103,GB
+3273391104,3273391231,DE
+3273391232,3273391327,GB
+3273391328,3273391343,DE
+3273391344,3273392127,GB
3273392128,3273392639,PL
3273392640,3273393663,RO
3273394176,3273394687,RO
@@ -131966,17 +134702,22 @@
3273523200,3273588735,DE
3273588736,3273687039,IT
3273687040,3273719807,DE
-3273719808,3273727079,NL
-3273727080,3273727088,GB
+3273719808,3273725951,NL
+3273725952,3273727088,GB
3273727089,3273727095,ES
3273727096,3273727103,DE
-3273727104,3273727119,NL
+3273727104,3273727119,GB
3273727120,3273727127,PT
3273727128,3273727135,FI
3273727136,3273727143,NO
3273727144,3273727151,CZ
3273727152,3273727167,IT
-3273727168,3273729023,NL
+3273727168,3273727999,GB
+3273728000,3273728511,NL
+3273728512,3273728590,GB
+3273728591,3273728592,NL
+3273728593,3273728767,GB
+3273728768,3273729023,NL
3273732096,3273736191,GB
3273736192,3273744383,FR
3273744384,3273752575,GB
@@ -132051,7 +134792,9 @@
3273883648,3273916415,NL
3273916416,3273932799,IT
3273932800,3273940991,DE
-3273940992,3273947135,GB
+3273940992,3273943039,GB
+3273943040,3273945087,DE
+3273945088,3273947135,GB
3273947136,3273949183,DE
3273949184,3273981951,FR
3273981952,3274048511,DE
@@ -132197,90 +134940,7 @@
3274424320,3274435711,SE
3274435712,3274435839,US
3274435840,3274440703,SE
-3274442752,3274443263,GB
-3274443520,3274443647,GB
-3274443712,3274443775,GB
-3274443808,3274444031,GB
-3274446336,3274447871,GB
-3274448384,3274448639,GB
-3274448896,3274449663,GB
-3274449920,3274450231,GB
-3274450248,3274450367,GB
-3274450376,3274450391,GB
-3274450408,3274450415,GB
-3274450432,3274450591,GB
-3274450656,3274450687,GB
-3274451200,3274452255,GB
-3274452264,3274452311,GB
-3274452320,3274452335,GB
-3274452344,3274452367,GB
-3274452384,3274452391,GB
-3274452400,3274452423,GB
-3274452432,3274452439,GB
-3274452448,3274452455,GB
-3274452464,3274452471,GB
-3274452496,3274452543,GB
-3274452560,3274452575,GB
-3274452656,3274452703,GB
-3274452736,3274452927,GB
-3274452992,3274453767,GB
-3274453784,3274453791,GB
-3274453800,3274453847,GB
-3274453864,3274453871,GB
-3274453888,3274453903,GB
-3274453920,3274453935,GB
-3274453944,3274453951,GB
-3274453960,3274453975,GB
-3274453984,3274453991,GB
-3274454000,3274454271,GB
-3274454656,3274455311,GB
-3274455328,3274455335,GB
-3274455344,3274455351,GB
-3274455360,3274455375,GB
-3274455384,3274455391,GB
-3274455400,3274455423,GB
-3274455432,3274455439,GB
-3274455448,3274455503,GB
-3274455520,3274455535,GB
-3274455744,3274455807,GB
-3274455872,3274455935,GB
-3274455968,3274456359,GB
-3274456368,3274456375,GB
-3274456384,3274456391,GB
-3274456400,3274456407,GB
-3274456416,3274456447,GB
-3274456456,3274456511,GB
-3274456528,3274456535,GB
-3274456544,3274456559,GB
-3274456568,3274460223,GB
-3274460416,3274462207,GB
-3274462464,3274465023,GB
-3274465152,3274466351,GB
-3274466368,3274466399,GB
-3274466416,3274466463,GB
-3274466560,3274466735,GB
-3274466744,3274466763,GB
-3274466768,3274466783,GB
-3274466816,3274467099,GB
-3274467104,3274467307,GB
-3274467328,3274470383,GB
-3274470400,3274470535,GB
-3274470656,3274471423,GB
-3274471536,3274471615,GB
-3274471680,3274471935,GB
-3274472960,3274483711,GB
-3274489600,3274489855,GB
-3274490176,3274490895,GB
-3274490912,3274491023,GB
-3274491040,3274491199,GB
-3274491208,3274491247,GB
-3274491256,3274491295,GB
-3274491312,3274491319,GB
-3274491328,3274491335,GB
-3274491344,3274491383,GB
-3274491392,3274504447,GB
-3274505728,3274505791,GB
-3274505793,3274505855,GB
+3274440704,3274506239,GB
3274506240,3274571775,IT
3274571776,3274579967,GR
3274579968,3274580991,UA
@@ -132297,10 +134957,7 @@
3274604544,3274612735,TR
3274612736,3274620927,RU
3274620928,3274629119,FR
-3274629120,3274635263,LU
-3274635264,3274635519,FR
-3274635520,3274635775,LU
-3274635776,3274637311,FR
+3274629120,3274637311,LU
3274637312,3274670079,CZ
3274670080,3274686463,DK
3274686464,3274686719,RU
@@ -132388,10 +135045,9 @@
3274842112,3274850303,DK
3274850304,3274855423,GB
3274855424,3274855935,AT
-3274855936,3274864639,GB
-3274864640,3274865663,RU
-3274865664,3274866175,GB
-3274866176,3274866687,RU
+3274855936,3274866175,GB
+3274866176,3274866431,RU
+3274866432,3274866687,GB
3274866688,3274883071,DE
3274883072,3274899455,EE
3274899456,3274902399,DE
@@ -132554,15 +135210,14 @@
3274964896,3274964927,NL
3274964928,3274964991,GB
3274964992,3275030527,DE
-3275030528,3275096063,ES
+3275030528,3275095839,ES
+3275095840,3275095871,BE
+3275095872,3275096063,ES
3275096064,3275104255,RU
-3275104256,3275104256,DE
-3275104257,3275104767,RU
-3275104768,3275105279,DE
+3275104256,3275105279,DE
3275105280,3275105791,GB
3275105792,3275106303,NL
-3275106304,3275106815,RU
-3275106816,3275107327,UA
+3275106304,3275107327,RU
3275107328,3275107839,BG
3275107840,3275108351,PL
3275108352,3275108863,FR
@@ -132598,182 +135253,25 @@
3275399168,3275407359,AT
3275407360,3275415551,GB
3275415552,3275423743,UA
-3275423744,3275423751,GB
-3275423808,3275423839,GB
-3275423872,3275424295,GB
-3275424432,3275424439,GB
-3275424480,3275424487,GB
-3275424496,3275424639,GB
-3275424648,3275424703,GB
-3275424712,3275424743,GB
-3275424752,3275424863,GB
-3275424904,3275424911,GB
-3275424960,3275424975,GB
-3275424992,3275425031,GB
-3275425040,3275425063,GB
-3275425072,3275425135,GB
-3275425144,3275425303,GB
-3275425328,3275425343,GB
-3275425552,3275425559,GB
-3275425568,3275425583,GB
-3275425792,3275426559,GB
-3275426576,3275427103,GB
-3275427112,3275427263,GB
-3275427296,3275427599,GB
-3275427616,3275427715,GB
-3275427728,3275428367,GB
-3275428376,3275428399,GB
-3275428416,3275428447,GB
-3275428608,3275428863,GB
-3275429888,3275430143,GB
-3275430592,3275430631,GB
-3275430656,3275430911,GB
-3275431936,3275432863,GB
-3275432872,3275432883,GB
-3275433984,3275436543,GB
-3275436800,3275438615,GB
-3275438648,3275438655,GB
-3275438672,3275438847,GB
-3275439104,3275439447,GB
-3275439460,3275439463,GB
-3275439472,3275439679,GB
-3275439688,3275439695,GB
-3275439712,3275439839,GB
-3275439872,3275439935,GB
-3275439944,3275439951,GB
-3275439968,3275440895,GB
-3275441152,3275441407,GB
-3275441424,3275441439,GB
-3275441472,3275441567,GB
-3275441600,3275441823,GB
-3275441832,3275441835,GB
-3275441840,3275442687,GB
-3275442720,3275442723,GB
-3275443200,3275443227,GB
-3275443230,3275443230,GB
-3275443232,3275443239,GB
-3275443248,3275443407,GB
-3275443424,3275443727,GB
-3275443760,3275443775,GB
-3275443840,3275443967,GB
-3275444224,3275444735,GB
-3275446272,3275446783,GB
-3275446800,3275446815,GB
-3275446848,3275446911,GB
-3275446976,3275447039,GB
-3275447056,3275447087,GB
-3275447104,3275447135,GB
-3275448320,3275449023,GB
-3275449088,3275449471,GB
-3275449488,3275449519,GB
-3275449520,3275449527,FR
-3275449528,3275449559,GB
-3275449584,3275449887,GB
-3275449904,3275449911,GB
-3275449920,3275449927,GB
-3275450048,3275450071,GB
-3275450080,3275450207,GB
-3275450224,3275450879,GB
-3275451232,3275451263,GB
-3275451392,3275451663,GB
-3275451680,3275451711,GB
-3275451720,3275451727,GB
-3275451744,3275451767,GB
-3275451776,3275451779,GB
-3275451784,3275451791,GB
-3275452416,3275453023,GB
-3275453120,3275453151,GB
-3275453168,3275453399,GB
-3275453408,3275453839,GB
-3275453848,3275453919,GB
-3275453936,3275453951,GB
-3275453984,3275454063,GB
-3275454112,3275454127,GB
-3275454144,3275454159,GB
-3275454168,3275454175,GB
-3275454192,3275454255,GB
-3275454272,3275454303,GB
-3275454336,3275454383,GB
-3275454432,3275455231,GB
-3275455248,3275455295,GB
-3275455360,3275455487,GB
-3275455744,3275456391,GB
-3275456416,3275458303,GB
+3275423744,3275425583,GB
+3275425592,3275432895,GB
+3275432928,3275458303,GB
3275458304,3275458559,FK
3275458560,3275459071,IE
+3275459072,3275459599,GB
3275459600,3275459615,IE
+3275459616,3275459839,GB
3275459840,3275460095,IE
-3275460096,3275460223,GB
-3275460224,3275460239,IE
-3275460288,3275460295,GB
+3275460096,3275460239,GB
+3275460256,3275460351,GB
3275460352,3275460607,IE
-3275460608,3275463183,GB
-3275463192,3275463199,GB
-3275463216,3275463231,GB
-3275463248,3275463279,GB
-3275463296,3275463359,GB
-3275463392,3275463423,GB
-3275463456,3275463495,GB
-3275463504,3275463523,GB
-3275463528,3275463599,GB
-3275463616,3275463635,GB
-3275463640,3275464031,GB
-3275464032,3275464047,IE
-3275464048,3275468655,GB
+3275460608,3275464031,GB
+3275464032,3275464063,IE
+3275464064,3275468655,GB
3275468656,3275468671,IE
-3275468672,3275473151,GB
-3275473232,3275473295,GB
-3275473304,3275473311,GB
-3275473328,3275473343,GB
-3275473352,3275473359,GB
-3275473368,3275473647,GB
-3275473664,3275473895,GB
-3275473904,3275474047,GB
-3275474088,3275474303,GB
-3275474368,3275474703,GB
-3275474720,3275474735,GB
-3275474752,3275474887,GB
-3275474896,3275474911,GB
-3275474936,3275474951,GB
-3275474960,3275474975,GB
-3275474984,3275475039,GB
-3275475044,3275475287,GB
-3275475292,3275475295,GB
-3275475328,3275475759,GB
-3275475800,3275475807,GB
-3275475824,3275475831,GB
-3275475840,3275475855,GB
-3275475876,3275475879,GB
-3275475968,3275476631,GB
-3275476640,3275476687,GB
-3275476704,3275476735,GB
-3275476944,3275476959,GB
-3275476976,3275477015,GB
-3275477040,3275477087,GB
-3275477104,3275477135,GB
-3275477160,3275477167,GB
-3275477184,3275477191,GB
-3275477200,3275477231,GB
-3275477440,3275477567,GB
-3275477760,3275478271,GB
-3275478528,3275481087,GB
+3275468672,3275481087,GB
3275481344,3275481599,GB
-3275482112,3275482431,GB
-3275482448,3275482455,GB
-3275482480,3275483647,GB
-3275484160,3275484415,GB
-3275485184,3275485215,GB
-3275485224,3275485231,GB
-3275485248,3275485375,GB
-3275485408,3275485431,GB
-3275485440,3275485759,GB
-3275485840,3275485855,GB
-3275485936,3275485936,GB
-3275486208,3275487231,GB
-3275487240,3275487243,CZ
-3275487248,3275487263,CZ
-3275488768,3275489279,CZ
-3275489280,3275497471,GB
+3275482112,3275497471,GB
3275497472,3275505663,DE
3275505664,3275506175,PL
3275506176,3275506687,UA
@@ -132849,6 +135347,7 @@
3275551744,3275552767,RU
3275552768,3275553791,LV
3275553792,3275554815,FI
+3275554816,3275563007,ES
3275563584,3275563647,CH
3275588448,3275588463,BE
3275590656,3275590911,BE
@@ -132972,7 +135471,7 @@
3275908864,3275909119,PL
3275909376,3275909631,UA
3275909632,3275909887,EE
-3275909888,3275910143,BE
+3275909888,3275910143,SI
3275910144,3275910399,RU
3275910400,3275910655,DK
3275910656,3275910911,UA
@@ -133013,38 +135512,26 @@
3275931648,3275939839,UA
3275939840,3275948031,GB
3275948032,3276013567,SE
-3276013568,3276014463,GB
-3276014464,3276014479,FR
-3276014480,3276014591,GB
-3276014592,3276014847,FR
+3276013568,3276014239,GB
+3276014240,3276014247,FR
+3276014248,3276014335,GB
+3276014336,3276014847,FR
3276014848,3276015055,GB
3276015056,3276015063,FR
3276015064,3276015103,GB
-3276015104,3276018175,FR
-3276018176,3276018687,GB
-3276018688,3276020991,FR
-3276020992,3276021007,GB
-3276021008,3276021015,FR
-3276021016,3276021055,GB
-3276021056,3276021071,FR
-3276021072,3276021095,GB
-3276021096,3276021096,FR
-3276021097,3276021247,GB
-3276021248,3276024831,FR
-3276024832,3276025855,GB
-3276025856,3276028159,FR
+3276015104,3276021119,FR
+3276021120,3276021247,GB
+3276021248,3276028159,FR
3276028160,3276028279,GB
3276028280,3276028287,FR
3276028288,3276028383,GB
3276028384,3276028391,FR
-3276028392,3276028432,GB
-3276028433,3276028433,FR
-3276028434,3276028543,GB
+3276028392,3276028543,GB
3276028544,3276028671,FR
3276028672,3276028927,GB
-3276028928,3276030463,FR
-3276030464,3276031487,GB
-3276031488,3276031999,FR
+3276028928,3276029311,FR
+3276029312,3276029375,GB
+3276029376,3276031999,FR
3276032000,3276032511,GB
3276032512,3276032767,ES
3276032768,3276036543,GB
@@ -133053,10 +135540,10 @@
3276037312,3276037319,FR
3276037320,3276038143,GB
3276038144,3276039423,FR
-3276039424,3276041727,GB
+3276039424,3276039679,GB
+3276039680,3276041727,FR
3276041728,3276041983,ES
-3276041984,3276042239,GB
-3276042240,3276044287,FR
+3276041984,3276044287,FR
3276044288,3276046335,GB
3276046336,3276059311,RU
3276059312,3276059319,FR
@@ -133099,7 +135586,10 @@
3276101632,3276102655,LV
3276102656,3276103679,GB
3276103680,3276104703,SI
-3276104704,3276105727,GB
+3276104704,3276104959,GB
+3276104960,3276105215,NL
+3276105216,3276105471,US
+3276105472,3276105727,GB
3276105728,3276106751,AT
3276106752,3276107775,BG
3276107776,3276108799,DE
@@ -133219,11 +135709,13 @@
3276490776,3276490776,NL
3276490782,3276490782,AT
3276490783,3276490783,CH
-3276491776,3276492799,GB
+3276492232,3276492235,GB
+3276492248,3276492259,GB
+3276492284,3276492319,GB
3276494352,3276494367,GB
3276494448,3276494451,GB
-3276494476,3276494479,GB
-3276495528,3276495551,GB
+3276494476,3276494483,GB
+3276494848,3276496895,GB
3276498120,3276498123,GB
3276499504,3276499579,DE
3276499680,3276499687,DE
@@ -133240,7 +135732,7 @@
3276501172,3276501183,DE
3276501192,3276501199,DE
3276503040,3276505087,DE
-3276505088,3276509183,GB
+3276507136,3276509183,GB
3276509184,3276510207,IT
3276512256,3276513023,ZA
3276518216,3276518219,NL
@@ -133249,21 +135741,20 @@
3276520704,3276520735,SE
3276522496,3276523519,NL
3276524864,3276524895,PT
-3276528128,3276528195,GB
-3276528200,3276528215,GB
-3276528224,3276528231,GB
+3276528128,3276528639,GB
3276530544,3276530555,NL
3276530560,3276530571,NL
3276530584,3276530591,NL
3276530604,3276530607,NL
3276530688,3276531711,NL
-3276532481,3276532481,FR
3276532583,3276532583,GB
3276532590,3276532590,GR
3276532608,3276532608,GB
3276533248,3276533311,SI
3276536752,3276536783,HU
-3276537856,3276668927,ES
+3276537856,3276617727,ES
+3276617728,3276617983,IT
+3276617984,3276668927,ES
3276668928,3276677119,MC
3276677120,3276678143,HR
3276678144,3276678655,SE
@@ -133311,7 +135802,7 @@
3276718080,3276726271,IT
3276726272,3276727295,SE
3276727296,3276728319,ES
-3276728320,3276729343,UA
+3276728320,3276729343,SA
3276729344,3276730367,PL
3276730368,3276731391,DE
3276731392,3276732415,UA
@@ -133680,11 +136171,11 @@
3276861184,3276861439,DE
3276861440,3276865535,DK
3276865536,3276866559,NL
-3276866560,3276867583,GB
-3276867584,3276868703,IT
+3276866560,3276868703,GB
3276868704,3276868711,BE
-3276868712,3276873727,IT
-3276873728,3276873759,GB
+3276868712,3276869631,GB
+3276869632,3276871679,IT
+3276871680,3276873759,GB
3276873760,3276873791,ES
3276873792,3276873983,GB
3276873984,3276874239,ES
@@ -133703,10 +136194,10 @@
3276881416,3276881811,GB
3276881812,3276881815,FR
3276881816,3276881919,GB
-3276881920,3276884687,IT
+3276881920,3276883967,IT
+3276883968,3276884687,GB
3276884688,3276884719,PL
-3276884720,3276886015,IT
-3276886016,3276886363,GB
+3276884720,3276886363,GB
3276886364,3276886367,DE
3276886368,3276886527,GB
3276886528,3276886783,DE
@@ -133715,12 +136206,7 @@
3276887040,3276889087,GB
3276889088,3276890111,IT
3276890112,3276892159,US
-3276892160,3276892287,GB
-3276892288,3276892351,IT
-3276892352,3276892671,GB
-3276892672,3276893183,IT
-3276893184,3276893695,GB
-3276893696,3276893951,IT
+3276892160,3276893951,IT
3276893952,3276898783,GB
3276898784,3276898799,CH
3276898800,3276900207,GB
@@ -133737,28 +136223,22 @@
3276903424,3276903487,SE
3276903488,3276903551,GB
3276903552,3276903679,SE
-3276903680,3276905983,GB
-3276905984,3276906239,BE
-3276906240,3276907341,GB
+3276903680,3276907341,GB
3276907342,3276907342,NL
-3276907343,3276908759,GB
+3276907343,3276907519,GB
+3276907520,3276908031,NL
+3276908032,3276908759,GB
3276908760,3276908760,NL
3276908761,3276909831,GB
3276909832,3276909835,NL
3276909836,3276910591,GB
-3276910592,3276911615,IT
-3276911616,3276911679,GB
-3276911680,3276911711,IT
-3276911712,3276912207,GB
-3276912208,3276912215,IT
-3276912216,3276912287,GB
-3276912288,3276912319,IT
-3276912320,3276912671,GB
+3276910592,3276912639,IT
+3276912640,3276912671,GB
3276912672,3276912687,IT
3276912688,3276912879,GB
3276912880,3276912895,IT
-3276912896,3276914687,GB
-3276914688,3276917231,ES
+3276912896,3276916735,GB
+3276916736,3276917231,ES
3276917232,3276917247,FR
3276917248,3276918783,ES
3276918784,3276919061,GB
@@ -133769,13 +136249,7 @@
3276919488,3276919535,DE
3276919536,3276921855,GB
3276921856,3276922879,DE
-3276922880,3276924927,FR
-3276924928,3276925761,GB
-3276925762,3276925762,FR
-3276925763,3276925925,GB
-3276925926,3276925926,FR
-3276925927,3276925951,GB
-3276925952,3276926207,FR
+3276922880,3276926207,FR
3276926208,3276926683,GB
3276926684,3276926687,FR
3276926688,3276931071,GB
@@ -133976,30 +136450,38 @@
3277395200,3277402591,GB
3277402592,3277402607,ES
3277402608,3277403135,GB
-3277403136,3277403215,FR
-3277403216,3277403231,GB
-3277403232,3277403311,FR
-3277403312,3277403327,GB
-3277403328,3277403359,FR
-3277403360,3277403375,GB
-3277403376,3277403455,FR
+3277403136,3277403295,FR
+3277403296,3277403327,GB
+3277403328,3277403455,FR
3277403456,3277403471,AT
3277403472,3277403487,FR
3277403488,3277403647,GB
-3277403648,3277403807,ES
-3277403808,3277404159,GB
-3277404160,3277404415,DE
-3277404416,3277404671,IT
-3277404672,3277404703,CH
-3277404704,3277404719,GB
-3277404720,3277404735,CH
-3277404736,3277404927,GB
-3277404928,3277404975,NL
-3277404976,3277405199,GB
-3277405200,3277405247,SE
-3277405248,3277416703,GB
-3277416704,3277416959,ES
-3277416960,3277455359,GB
+3277403648,3277403743,ES
+3277403744,3277403759,GB
+3277403760,3277403791,ES
+3277403792,3277404159,GB
+3277404160,3277404191,DE
+3277404192,3277404207,GB
+3277404208,3277404319,DE
+3277404320,3277404335,GB
+3277404336,3277404367,DE
+3277404368,3277404383,GB
+3277404384,3277404415,DE
+3277404416,3277404479,IT
+3277404480,3277404495,GB
+3277404496,3277404511,IT
+3277404512,3277404527,GB
+3277404528,3277404623,IT
+3277404624,3277404639,GB
+3277404640,3277404671,IT
+3277404672,3277404799,CH
+3277404800,3277404927,GB
+3277404928,3277405055,NL
+3277405056,3277405183,GB
+3277405184,3277405215,SE
+3277405216,3277405231,GB
+3277405232,3277405247,SE
+3277405248,3277455359,GB
3277455360,3277463551,DE
3277463552,3277471743,US
3277471744,3277473791,PL
@@ -134053,7 +136535,9 @@
3277698560,3277699071,DE
3277699584,3277700607,RU
3277700608,3277701119,UA
-3277701120,3277701631,DK
+3277701120,3277701313,DK
+3277701314,3277701315,NO
+3277701316,3277701631,DK
3277701632,3277702143,AT
3277702656,3277703679,DE
3277703680,3277704191,PL
@@ -134080,7 +136564,8 @@
3277716480,3277716991,SE
3277716992,3277717503,IT
3277717504,3277725695,YE
-3277725696,3277729791,GB
+3277725696,3277727743,CH
+3277727744,3277729791,GB
3277729792,3277730157,CH
3277730158,3277730158,GB
3277730159,3277730559,CH
@@ -134180,7 +136665,17 @@
3277856768,3277864959,DE
3277864960,3277873151,RU
3277873152,3277881343,NL
-3277881344,3277889535,IT
+3277881344,3277884175,IT
+3277884176,3277884191,IR
+3277884192,3277885439,IT
+3277885440,3277885695,IQ
+3277885696,3277885727,LB
+3277885728,3277885951,IT
+3277885952,3277886463,LB
+3277886464,3277887487,IQ
+3277887488,3277888255,IT
+3277888256,3277888319,LB
+3277888320,3277889535,IT
3277889536,3277897727,RU
3277897728,3277905919,IT
3277905920,3277914111,BG
@@ -134236,8 +136731,12 @@
3278780928,3278781439,GB
3278781440,3278781951,DE
3278781952,3278782463,RU
-3278782464,3278790655,GB
-3278790656,3278807039,IT
+3278782464,3278790143,GB
+3278790144,3278790399,ES
+3278790400,3278790655,GB
+3278790656,3278793727,IT
+3278793728,3278794751,GB
+3278794752,3278807039,IT
3278807040,3278815231,GB
3278815232,3278823423,AT
3278823424,3278831615,FR
@@ -134360,7 +136859,8 @@
3278938788,3278938791,ES
3278938792,3278938803,DE
3278938804,3278938807,IT
-3278938808,3278938815,GB
+3278938808,3278938811,DE
+3278938812,3278938815,GB
3278938816,3278938831,DE
3278938832,3278938835,IT
3278938836,3278938839,FR
@@ -136379,9 +138879,9 @@
3279077376,3279085567,ES
3279085568,3279089663,NL
3279089664,3279093759,KG
-3279093760,3279118335,FR
-3279118336,3279126527,RE
-3279126528,3279159295,FR
+3279093760,3279123455,FR
+3279123456,3279123967,RE
+3279123968,3279159295,FR
3279159296,3279290367,PL
3279290368,3279291391,NL
3279291392,3279291647,GB
@@ -136505,10 +139005,12 @@
3279591168,3279592703,GB
3279592704,3279592959,DE
3279592960,3279593471,GB
-3279593472,3279595519,DE
-3279595520,3279598591,GB
+3279593472,3279596543,DE
+3279596544,3279598591,GB
3279598592,3279599615,DE
-3279599616,3279601663,GB
+3279599616,3279600639,GB
+3279600640,3279600895,DE
+3279600896,3279601663,GB
3279601664,3279609855,CZ
3279609856,3279618047,RU
3279618048,3279671295,UA
@@ -136517,8 +139019,8 @@
3279675392,3279677439,BG
3279677440,3279678463,US
3279678464,3279679487,SG
-3279679488,3279680511,UA
-3279680512,3279681535,BG
+3279679488,3279680511,US
+3279680512,3279681535,CZ
3279681536,3279683583,UA
3279683584,3279946751,DE
3279946752,3279947775,BN
@@ -136625,7 +139127,11 @@
3280134144,3280142335,IT
3280142336,3280207871,RU
3280207872,3280273407,FR
-3280273408,3280325119,RU
+3280273408,3280297983,RU
+3280297984,3280306175,ES
+3280306176,3280314367,RU
+3280314368,3280322559,ES
+3280322560,3280325119,RU
3280325120,3280325631,US
3280325632,3280326655,ES
3280326656,3280327167,US
@@ -136633,7 +139139,7 @@
3280327680,3280328703,ES
3280328704,3280329727,RU
3280329728,3280329904,IQ
-3280329905,3280329905,DE
+3280329905,3280329905,US
3280329906,3280330751,IQ
3280330752,3280338943,RU
3280338944,3280347135,GB
@@ -136650,7 +139156,9 @@
3280391910,3280391910,NL
3280391911,3280394085,GB
3280394086,3280394086,BE
-3280394087,3280396287,GB
+3280394087,3280394231,GB
+3280394232,3280394239,BE
+3280394240,3280396287,GB
3280396288,3280404479,US
3280404480,3280416767,FR
3280416768,3280420863,ES
@@ -136738,8 +139246,7 @@
3280642048,3280650239,UA
3280650240,3280650495,RO
3280650496,3280650751,UA
-3280650752,3280651007,NL
-3280651008,3280651263,GB
+3280650752,3280651263,GB
3280651264,3280651519,SI
3280651520,3280651775,FR
3280651776,3280652031,UA
@@ -136770,8 +139277,7 @@
3280662624,3280662655,IT
3280662656,3280662687,AR
3280662688,3280662703,AT
-3280662704,3280662783,DE
-3280662784,3280663295,CZ
+3280662704,3280663295,DE
3280663296,3280663327,AR
3280663328,3280663343,DE
3280663344,3280663391,IT
@@ -136782,7 +139288,9 @@
3280664064,3280664831,DE
3280664832,3280665087,CZ
3280665088,3280666623,DE
-3280666624,3280732159,NO
+3280666624,3280701439,NO
+3280701440,3280701567,GB
+3280701568,3280732159,NO
3280732160,3280764927,DE
3280764928,3280765951,PL
3280765952,3280766975,DK
@@ -136814,7 +139322,9 @@
3280794624,3280795647,UA
3280795648,3280796671,MZ
3280796672,3280797695,CZ
-3280797696,3280863231,CH
+3280797696,3280816127,CH
+3280816128,3280817151,DE
+3280817152,3280863231,CH
3280863232,3280928767,TR
3280928768,3280934927,GB
3280934928,3280934935,DE
@@ -136824,9 +139334,7 @@
3280935088,3280935095,ES
3280935096,3280935119,GB
3280935120,3280935127,FR
-3280935128,3280935935,GB
-3280935936,3280936959,DE
-3280936960,3280940787,GB
+3280935128,3280940787,GB
3280940788,3280940791,DE
3280940792,3280941387,GB
3280941388,3280941395,DE
@@ -136838,7 +139346,11 @@
3280952784,3280952799,DE
3280952800,3280953441,GB
3280953442,3280953442,TR
-3280953443,3280955707,GB
+3280953443,3280954623,GB
+3280954624,3280954831,AE
+3280954832,3280954839,GB
+3280954840,3280954879,AE
+3280954880,3280955707,GB
3280955708,3280955711,DE
3280955712,3280960679,GB
3280960680,3280960683,ES
@@ -136846,11 +139358,19 @@
3280961024,3280961273,ES
3280961274,3280961274,PT
3280961275,3280961279,ES
-3280961280,3280985279,GB
+3280961280,3280961303,GB
+3280961304,3280961311,ES
+3280961312,3280964087,GB
+3280964088,3280964095,SE
+3280964096,3280972143,GB
+3280972144,3280972151,NL
+3280972152,3280972159,GB
+3280972160,3280972167,NL
+3280972168,3280985279,GB
3280985280,3280985343,CH
-3280985344,3280986111,GB
-3280986112,3280994303,DE
-3280994304,3280994559,GB
+3280985344,3280990207,GB
+3280990208,3280992255,DE
+3280992256,3280994559,GB
3280994560,3280994815,RU
3280994816,3280995071,NL
3280995072,3280995327,DE
@@ -136881,20 +139401,7 @@
3281002496,3281010687,CH
3281010688,3281018879,BE
3281018880,3281027071,CZ
-3281027080,3281027087,GB
-3281027136,3281027151,GB
-3281027200,3281027215,GB
-3281027280,3281027287,GB
-3281027304,3281027311,GB
-3281027320,3281027327,GB
-3281027584,3281027615,GB
-3281027632,3281027679,GB
-3281027696,3281027743,GB
-3281027776,3281027807,GB
-3281027840,3281027903,GB
-3281028096,3281028159,GB
-3281028992,3281029055,GB
-3281030400,3281035263,GB
+3281027072,3281035263,GB
3281035264,3281043455,CH
3281043456,3281049615,RU
3281049616,3281049622,GI
@@ -137072,11 +139579,7 @@
3282466856,3282466863,IT
3282466864,3282468095,GB
3282468096,3282468351,DE
-3282468352,3282468607,GB
-3282468608,3282468755,NL
-3282468756,3282468759,GB
-3282468760,3282468863,NL
-3282468864,3282477055,GB
+3282468352,3282477055,GB
3282477056,3282485247,RU
3282485248,3282493439,GI
3282501632,3282534399,GR
@@ -137087,7 +139590,7 @@
3282550784,3282554879,FR
3282554880,3282558975,DE
3282558976,3282563071,FR
-3282563072,3282567167,GB
+3282563072,3282567167,HK
3282567168,3282622871,SK
3282622872,3282622879,AT
3282622880,3282632703,SK
@@ -137269,8 +139772,7 @@
3283496192,3283496447,DE
3283496448,3283496703,HR
3283496704,3283496959,LV
-3283496960,3283497215,DE
-3283497216,3283497471,PL
+3283496960,3283497471,PL
3283497472,3283497727,DE
3283497728,3283498239,PL
3283498240,3283498495,CH
@@ -137286,6 +139788,7 @@
3283500800,3283501055,UA
3283501056,3283509247,LT
3283509248,3283513343,DE
+3283513344,3283515391,GB
3283515392,3283517439,DE
3283517440,3283525631,RU
3283525632,3283533823,GB
@@ -137307,7 +139810,6 @@
3283563520,3283564543,GB
3283568640,3283569663,GB
3283576832,3283579903,DE
-3283586304,3283586559,ES
3283593216,3283595263,IT
3283615744,3283623935,HU
3283623936,3283632127,DK
@@ -137449,24 +139951,36 @@
3284016384,3284016639,CH
3284016640,3284017151,DK
3284017152,3284025343,GR
-3284025344,3284030471,US
+3284025344,3284025439,US
+3284025440,3284025471,DE
+3284025472,3284027391,US
+3284027392,3284028139,GB
+3284028140,3284028143,US
+3284028144,3284028287,GB
+3284028288,3284028319,US
+3284028320,3284029183,GB
+3284029184,3284029199,US
+3284029200,3284029295,GB
+3284029296,3284029311,US
+3284029312,3284030471,GB
3284030472,3284030479,IL
3284030480,3284030495,FR
-3284030496,3284030527,US
+3284030496,3284030527,GB
3284030528,3284030535,DE
-3284030536,3284030575,US
+3284030536,3284030575,GB
3284030576,3284030583,DE
-3284030584,3284030615,US
+3284030584,3284030615,GB
3284030616,3284030623,SE
-3284030624,3284030775,US
+3284030624,3284030775,GB
3284030776,3284030783,SE
-3284030784,3284030799,US
+3284030784,3284030799,GB
3284030800,3284030815,SE
-3284030816,3284030975,US
+3284030816,3284030975,GB
3284030976,3284030991,BE
3284030992,3284031007,FR
-3284031008,3284031487,BE
-3284031488,3284033535,US
+3284031008,3284031231,BE
+3284031232,3284031487,FR
+3284031488,3284033535,GB
3284033536,3284041727,RU
3284041728,3284041983,DK
3284041984,3284042239,SI
@@ -137844,7 +140358,7 @@
3285453440,3285453567,GB
3285453644,3285453647,GB
3285453664,3285453695,GB
-3285454080,3285454335,GB
+3285453824,3285454847,GB
3285455668,3285455671,DE
3285457080,3285457083,GB
3285458176,3285458431,GB
@@ -137865,6 +140379,7 @@
3285477136,3285477151,IT
3285479396,3285479399,FR
3285485568,3285485571,SK
+3285487360,3285487391,GB
3285487396,3285487399,GB
3285487440,3285487443,GB
3285488576,3285488639,CY
@@ -137900,8 +140415,7 @@
3285637120,3285638143,DE
3285638144,3285639167,UA
3285639168,3285641215,FR
-3285641216,3285641471,RU
-3285641472,3285641983,CH
+3285641216,3285641983,CH
3285641984,3285642239,RU
3285642240,3285643263,UA
3285643264,3285645311,FR
@@ -137911,9 +140425,17 @@
3285721088,3285729279,SE
3285729280,3285737471,CH
3285737472,3285745663,PL
+3285745664,3285746687,TR
+3285746688,3285747711,RU
+3285747712,3285748735,ES
+3285748736,3285749759,FR
+3285749760,3285750783,DE
+3285750784,3285751807,US
+3285751808,3285752831,RU
+3285752832,3285753855,MD
3285753856,3285762047,US
3285762048,3285762559,FR
-3285762560,3285763071,US
+3285762560,3285763071,RU
3285763072,3285763583,GB
3285763584,3285764095,DE
3285764096,3285764607,RU
@@ -137966,17 +140488,15 @@
3285913704,3285913711,FI
3285913712,3285913999,GB
3285914000,3285914007,IE
-3285914008,3285915903,GB
+3285914008,3285915647,GB
3285915904,3285916159,AT
-3285916160,3285916415,GB
3285916416,3285916671,YE
-3285916672,3285917703,GB
+3285917696,3285917703,GB
3285917712,3285917807,GB
3285917884,3285917887,GB
3285917952,3285918463,GB
3285919744,3285921791,QA
3285924352,3285924415,ES
-3285924864,3285924911,DE
3285924912,3285924919,CH
3285924920,3285924927,FI
3285924928,3285924943,DE
@@ -137994,11 +140514,9 @@
3285925064,3285925071,RU
3285925072,3285925079,PL
3285925080,3285925087,IT
-3285925088,3285925115,DE
+3285925088,3285925103,DE
3285925116,3285925117,DK
-3285925118,3285925163,DE
3285925164,3285925171,CH
-3285925172,3285925887,DE
3285926432,3285926463,CH
3285926592,3285926623,DE
3285928304,3285928311,GB
@@ -138010,6 +140528,9 @@
3285931560,3285931567,HU
3285931568,3285931599,DE
3285931608,3285931615,DE
+3285934080,3285934847,ES
+3285934848,3285935103,GB
+3285935104,3285935871,ES
3285935872,3285936127,GB
3285936136,3285936147,FR
3285936152,3285936231,FR
@@ -138125,11 +140646,15 @@
3286368256,3286376447,CH
3286376448,3286384639,GB
3286384640,3286401023,DE
-3286401024,3286403071,GB
-3286403072,3286403199,JE
-3286403200,3286403327,GG
-3286403328,3286404095,JE
-3286404096,3286408703,GG
+3286401024,3286402047,GG
+3286402048,3286403071,GB
+3286403072,3286403135,GG
+3286403136,3286403199,JE
+3286403200,3286405119,GG
+3286405120,3286406143,JE
+3286406144,3286406655,GB
+3286406656,3286407167,JE
+3286407168,3286408703,GG
3286408704,3286408959,GB
3286408960,3286409215,GG
3286409216,3286417407,DE
@@ -138174,7 +140699,9 @@
3286514688,3286552575,HU
3286552576,3286553087,BG
3286553088,3286564863,HU
-3286564864,3286630399,AE
+3286564864,3286566655,AE
+3286566656,3286566911,KW
+3286566912,3286630399,AE
3286630400,3286638591,BG
3286638592,3286646783,AT
3286646784,3286654975,RU
@@ -138241,8 +140768,10 @@
3286791680,3286791935,AT
3286791936,3286794239,GB
3286794240,3286798335,DE
-3286798336,3286802431,IT
-3286802432,3286892543,DE
+3286798336,3286799359,IT
+3286799360,3286888447,DE
+3286888448,3286889471,IE
+3286889472,3286892543,DE
3286892544,3286893055,LI
3286893056,3286893567,RU
3286893568,3286894591,UA
@@ -138532,7 +141061,7 @@
3287605248,3287630335,DE
3287630336,3287631359,PL
3287631360,3287631871,IR
-3287632384,3287632895,SE
+3287632384,3287632895,US
3287632896,3287633407,RU
3287633408,3287633919,SK
3287633920,3287634431,UA
@@ -138645,7 +141174,7 @@
3287740928,3287741439,RO
3287741440,3287741951,CH
3287742976,3287743487,RO
-3287743488,3287743999,DE
+3287743488,3287743999,LV
3287744512,3287810047,DE
3287810048,3287818239,FR
3287818240,3287826431,AT
@@ -138682,13 +141211,9 @@
3287834624,3287842815,GB
3287842816,3287851007,DE
3287851008,3287859199,UA
-3287859200,3287859711,GB
-3287859968,3287860479,GB
-3287861248,3287862015,GB
-3287863808,3287864063,GB
-3287866384,3287866439,GB
-3287866496,3287866591,GB
-3287866608,3287866623,GB
+3287859200,3287859455,GB
+3287859456,3287859711,FK
+3287859712,3287867391,GB
3287867392,3287867903,UA
3287867904,3287868415,PL
3287868416,3287868927,RO
@@ -138706,8 +141231,7 @@
3287875584,3287941119,DK
3287941120,3287945215,IT
3287945216,3287949311,GB
-3287949312,3287949567,AT
-3287949568,3287949823,IL
+3287949312,3287949823,IL
3287949824,3287950079,IT
3287950080,3287950335,DE
3287950336,3287950591,UA
@@ -138825,7 +141349,8 @@
3288440832,3288441087,BB
3288441088,3288441343,VC
3288441344,3288442879,BB
-3288442880,3288443391,KN
+3288442880,3288443135,KN
+3288443136,3288443391,BB
3288443392,3288443647,VC
3288443648,3288444927,BB
3288444928,3288449023,NG
@@ -138835,7 +141360,9 @@
3288466432,3288467455,SY
3288467456,3288469503,BI
3288469504,3288481791,ZA
-3288481792,3288485887,ZW
+3288481792,3288482303,ZW
+3288482304,3288485631,ZA
+3288485632,3288485887,ZW
3288485888,3288489983,MA
3288489984,3288514559,ZA
3288514560,3288522751,EG
@@ -138844,9 +141371,10 @@
3288532992,3288534527,PR
3288534528,3288535039,EG
3288535040,3288539135,CW
-3288539136,3288543231,BR
-3288543232,3288543487,SG
-3288543488,3288543986,US
+3288539136,3288541183,BR
+3288541184,3288543743,US
+3288543744,3288543983,CH
+3288543984,3288543986,US
3288543987,3288543987,CH
3288543988,3288544767,US
3288544768,3288545023,MX
@@ -138987,13 +141515,13 @@
3289124864,3289128959,ZA
3289128960,3289137151,IN
3289137152,3289153535,BM
-3289153536,3289155839,MU
-3289155840,3289156351,RW
-3289156352,3289156607,MU
-3289156608,3289158655,RW
+3289153536,3289155583,MU
+3289155584,3289158655,RW
3289158656,3289159167,MU
3289159168,3289159423,RW
-3289159424,3289161727,MU
+3289159424,3289159679,MU
+3289159680,3289160703,RW
+3289160704,3289161727,MU
3289161728,3289169919,PR
3289169920,3289186303,MA
3289186304,3289186559,NG
@@ -139068,7 +141596,8 @@
3289410560,3289411583,US
3289411584,3289412607,NL
3289412608,3289413631,US
-3289413632,3289414655,GB
+3289413632,3289414143,GB
+3289414144,3289414655,RU
3289414656,3289422847,US
3289422848,3289423871,NL
3289423872,3289430015,US
@@ -139137,7 +141666,10 @@
3289507072,3289507327,KR
3289507328,3289507583,BG
3289507584,3289507839,ID
-3289507840,3289517055,US
+3289507840,3289513983,US
+3289513984,3289515007,DE
+3289515008,3289516031,US
+3289516032,3289517055,JP
3289517056,3289518079,DE
3289518080,3289540607,US
3289540608,3289541119,ES
@@ -139181,7 +141713,9 @@
3289582592,3289606143,US
3289606144,3289606655,AT
3289606656,3289607167,HK
-3289607168,3289630719,US
+3289607168,3289610239,US
+3289610240,3289611263,DE
+3289611264,3289630719,US
3289630720,3289630975,GB
3289630976,3289631743,SC
3289631744,3289634815,US
@@ -139239,9 +141773,7 @@
3290172160,3290172415,KE
3290172416,3290181631,ZA
3290181632,3290181887,US
-3290181888,3290182143,PR
-3290182144,3290182399,US
-3290182400,3290185105,PR
+3290181888,3290185105,PR
3290185106,3290185106,US
3290185107,3290185107,PR
3290185108,3290185108,US
@@ -139282,7 +141814,9 @@
3290492928,3290494975,TZ
3290494976,3290718975,ZA
3290718976,3290719231,SZ
-3290719232,3290955775,ZA
+3290719232,3290801905,ZA
+3290801906,3290801906,GB
+3290801907,3290955775,ZA
3290955776,3290980351,CR
3290980352,3290984447,ZA
3290984448,3290988543,MZ
@@ -139451,8 +141985,8 @@
3291433984,3291435263,ZA
3291435264,3291435519,NA
3291435520,3291435775,ZA
-3291435776,3291437311,NA
-3291437312,3291437567,ZA
+3291435776,3291437055,NA
+3291437056,3291437567,ZA
3291437568,3291438847,NA
3291438848,3291439103,ZA
3291439104,3291447295,NG
@@ -139497,6 +142031,8 @@
3291559936,3291560191,CG
3291560448,3291560703,SO
3291560960,3291561215,CG
+3291561472,3291561727,NG
+3291561984,3291562239,GN
3291611136,3291611647,ZA
3291611648,3291611903,MU
3291611904,3291612159,ZA
@@ -139690,28 +142226,28 @@
3292010752,3292011007,SC
3292011008,3292011519,US
3292011520,3292011775,SC
-3292011776,3292012543,US
+3292011776,3292012031,US
+3292012032,3292012287,SC
+3292012288,3292012543,US
3292012544,3292012799,SC
3292012800,3292013055,US
3292013056,3292013311,SC
3292013312,3292013567,US
-3292013568,3292014079,SC
-3292014080,3292014335,US
-3292014336,3292014591,SC
-3292014592,3292014847,US
-3292014848,3292015103,SC
-3292015104,3292016127,US
+3292013568,3292015103,SC
+3292015104,3292015615,US
+3292015616,3292015871,SC
+3292015872,3292016127,US
3292016128,3292016383,SC
-3292016384,3292016895,US
-3292016896,3292017919,SC
-3292017920,3292018431,US
-3292018432,3292018687,SC
-3292018688,3292019199,US
+3292016384,3292016639,US
+3292016640,3292016895,SC
+3292016896,3292017151,US
+3292017152,3292018175,SC
+3292018176,3292019199,US
3292019200,3292019455,SC
3292019456,3292019711,US
3292019712,3292019967,SC
-3292019968,3292020479,US
-3292020480,3292020735,SC
+3292019968,3292020223,US
+3292020224,3292020735,SC
3292020736,3292020991,US
3292020992,3292021247,SC
3292021248,3292021503,US
@@ -139721,8 +142257,8 @@
3292023552,3292024575,US
3292024576,3292025599,SC
3292025600,3292027135,US
-3292027136,3292027903,SC
-3292027904,3292028415,US
+3292027136,3292028159,SC
+3292028160,3292028415,US
3292028416,3292028671,SC
3292028672,3292029951,US
3292029952,3292030719,SC
@@ -139737,7 +142273,9 @@
3292035584,3292035839,US
3292035840,3292036095,SC
3292036096,3292038143,US
-3292038144,3292038911,SC
+3292038144,3292038399,SC
+3292038400,3292038655,US
+3292038656,3292038911,SC
3292038912,3292039935,US
3292039936,3292040447,SC
3292040448,3292040959,US
@@ -139753,8 +142291,8 @@
3292046592,3292047615,US
3292047616,3292047871,SC
3292047872,3292048383,US
-3292048384,3292049151,SC
-3292049152,3292049663,US
+3292048384,3292049407,SC
+3292049408,3292049663,US
3292049664,3292049919,SC
3292049920,3292050175,US
3292050176,3292050431,SC
@@ -139778,8 +142316,8 @@
3292057600,3292057855,SC
3292057856,3292059391,US
3292059392,3292059647,SC
-3292059648,3292060671,US
-3292060672,3292061183,SC
+3292059648,3292060927,US
+3292060928,3292061183,SC
3292061184,3292062719,US
3292062720,3292063231,SC
3292063232,3292063487,US
@@ -139800,9 +142338,9 @@
3292070144,3292070399,DK
3292070400,3292070911,US
3292070912,3292071167,SC
-3292071168,3292071679,US
-3292071680,3292072447,SC
-3292072448,3292072959,US
+3292071168,3292071935,US
+3292071936,3292072191,SC
+3292072192,3292072959,US
3292072960,3292073471,SC
3292073472,3292073727,US
3292073728,3292073983,SC
@@ -139810,14 +142348,14 @@
3292074752,3292075007,SC
3292075008,3292075263,US
3292075264,3292075775,SC
-3292075776,3292076031,US
-3292076032,3292077567,SC
-3292077568,3292077823,US
-3292077824,3292079615,SC
+3292075776,3292076287,US
+3292076288,3292078079,SC
+3292078080,3292078335,US
+3292078336,3292079615,SC
3292079616,3292080127,US
3292080128,3292080383,SC
-3292080384,3292081663,US
-3292081664,3292082175,SC
+3292080384,3292081407,US
+3292081408,3292082175,SC
3292082176,3292082431,US
3292082432,3292082687,SC
3292082688,3292082943,US
@@ -139829,8 +142367,8 @@
3292084992,3292085247,US
3292085248,3292085503,SC
3292085504,3292085759,US
-3292085760,3292086015,SC
-3292086016,3292088063,US
+3292085760,3292086527,SC
+3292086528,3292088063,US
3292088064,3292088319,SC
3292088320,3292088575,US
3292088576,3292088831,SC
@@ -139858,11 +142396,13 @@
3292097024,3292097535,SC
3292097536,3292098047,US
3292098048,3292098303,SC
-3292098304,3292099327,US
+3292098304,3292098815,US
+3292098816,3292099071,SC
+3292099072,3292099327,US
3292099328,3292099839,SC
3292099840,3292100095,US
-3292100096,3292100863,SC
-3292100864,3292101631,US
+3292100096,3292101119,SC
+3292101120,3292101631,US
3292101632,3292102655,SC
3292102656,3292102911,US
3292102912,3292103167,SC
@@ -139876,9 +142416,7 @@
3292104960,3292105215,SC
3292105216,3292105471,US
3292105472,3292105727,SC
-3292105728,3292105983,US
-3292105984,3292106239,SC
-3292106240,3292106751,US
+3292105728,3292106751,US
3292106752,3292107263,SC
3292107264,3292107519,US
3292107520,3292108799,SC
@@ -139888,7 +142426,9 @@
3292109568,3292109823,SC
3292109824,3292110079,US
3292110080,3292110591,SC
-3292110592,3292111359,US
+3292110592,3292110847,US
+3292110848,3292111103,SC
+3292111104,3292111359,US
3292111360,3292111615,SC
3292111616,3292112639,US
3292112640,3292113151,SC
@@ -139903,8 +142443,10 @@
3292116480,3292116735,US
3292116736,3292116991,SC
3292116992,3292117759,US
-3292117760,3292118015,SC
-3292118016,3292119039,US
+3292117760,3292118271,SC
+3292118272,3292118527,US
+3292118528,3292118783,SC
+3292118784,3292119039,US
3292119040,3292119295,SC
3292119296,3292119551,US
3292119552,3292120063,SC
@@ -139912,21 +142454,23 @@
3292120320,3292121087,SC
3292121088,3292121343,US
3292121344,3292122111,SC
-3292122112,3292124159,US
+3292122112,3292122367,US
+3292122368,3292122623,SC
+3292122624,3292123647,US
+3292123648,3292123903,SC
+3292123904,3292124159,US
3292124160,3292124415,SC
-3292124416,3292124927,US
-3292124928,3292125183,SC
-3292125184,3292125439,US
-3292125440,3292126207,SC
+3292124416,3292125183,US
+3292125184,3292126207,SC
3292126208,3292126463,US
3292126464,3292127487,SC
3292127488,3292128767,US
3292128768,3292129279,SC
3292129280,3292129535,US
-3292129536,3292130559,SC
-3292130560,3292130815,US
-3292130816,3292131071,SC
-3292131072,3292131583,US
+3292129536,3292130303,SC
+3292130304,3292130815,US
+3292130816,3292131327,SC
+3292131328,3292131583,US
3292131584,3292132095,SC
3292132096,3292132607,US
3292132608,3292132863,SC
@@ -139939,8 +142483,8 @@
3292135680,3292135935,DK
3292135936,3292136447,SC
3292136448,3292136703,CZ
-3292136704,3292136959,SC
-3292136960,3292137727,US
+3292136704,3292137215,SC
+3292137216,3292137727,US
3292137728,3292138239,SC
3292138240,3292138495,US
3292138496,3292138751,SC
@@ -139949,8 +142493,8 @@
3292139776,3292140031,US
3292140032,3292140543,SC
3292140544,3292140799,US
-3292140800,3292141055,SC
-3292141056,3292141823,US
+3292140800,3292141311,SC
+3292141312,3292141823,US
3292141824,3292143359,SC
3292143360,3292143615,US
3292143616,3292144127,SC
@@ -139965,9 +142509,7 @@
3292147456,3292147967,US
3292147968,3292148479,SC
3292148480,3292148735,US
-3292148736,3292149247,SC
-3292149248,3292149503,US
-3292149504,3292149759,SC
+3292148736,3292149759,SC
3292149760,3292150015,US
3292150016,3292151039,SC
3292151040,3292151807,US
@@ -139978,47 +142520,51 @@
3292153600,3292153855,SC
3292153856,3292154111,US
3292154112,3292154623,SC
-3292154624,3292157183,US
+3292154624,3292155647,US
+3292155648,3292155903,SC
+3292155904,3292156159,US
+3292156160,3292156415,SC
+3292156416,3292157183,US
3292157184,3292157439,SC
3292157440,3292158207,US
3292158208,3292158463,SC
3292158464,3292158719,US
3292158720,3292158975,SC
-3292158976,3292159743,US
-3292159744,3292160511,SC
+3292158976,3292159487,US
+3292159488,3292159999,SC
+3292160000,3292160255,US
+3292160256,3292160511,SC
3292160512,3292160767,US
-3292160768,3292161023,SC
-3292161024,3292161535,US
+3292160768,3292161279,SC
+3292161280,3292161535,US
3292161536,3292162303,SC
3292162304,3292162815,US
3292162816,3292163071,SC
3292163072,3292163327,US
3292163328,3292163583,SC
-3292163584,3292165119,US
-3292165120,3292165375,SC
-3292165376,3292165887,US
-3292165888,3292166143,SC
-3292166144,3292166911,US
+3292163584,3292164095,US
+3292164096,3292164351,SC
+3292164352,3292165119,US
+3292165120,3292165631,SC
+3292165632,3292165887,US
+3292165888,3292166399,SC
+3292166400,3292166911,US
3292166912,3292167679,SC
3292167680,3292167935,US
-3292167936,3292168191,SC
-3292168192,3292168703,US
-3292168704,3292170239,SC
+3292167936,3292168447,SC
+3292168448,3292168959,US
+3292168960,3292170239,SC
3292170240,3292171263,US
-3292171264,3292171519,SC
-3292171520,3292171775,US
-3292171776,3292172031,SC
+3292171264,3292172031,SC
3292172032,3292172799,US
-3292172800,3292174079,SC
+3292172800,3292173567,SC
+3292173568,3292173823,US
+3292173824,3292174079,SC
3292174080,3292174335,US
-3292174336,3292174591,SC
-3292174592,3292174847,US
-3292174848,3292175359,SC
+3292174336,3292175359,SC
3292175360,3292175615,US
3292175616,3292175871,SC
-3292175872,3292176383,US
-3292176384,3292176639,SC
-3292176640,3292177151,US
+3292175872,3292177151,US
3292177152,3292177407,SC
3292177408,3292178431,US
3292178432,3292180223,SC
@@ -140028,15 +142574,17 @@
3292180992,3292181759,SC
3292181760,3292182271,US
3292182272,3292182527,SC
-3292182528,3292183295,US
+3292182528,3292182783,US
+3292182784,3292183039,SC
+3292183040,3292183295,US
3292183296,3292183551,SC
3292183552,3292183807,US
3292183808,3292184063,SC
3292184064,3292184575,US
3292184576,3292184831,SC
3292184832,3292185599,US
-3292185600,3292186111,SC
-3292186112,3292186367,US
+3292185600,3292185855,SC
+3292185856,3292186367,US
3292186368,3292186879,SC
3292186880,3292187135,US
3292187136,3292187903,SC
@@ -140052,11 +142600,9 @@
3292192256,3292192511,SC
3292192512,3292192767,US
3292192768,3292193023,SC
-3292193024,3292193791,US
-3292193792,3292194047,SC
-3292194048,3292194303,US
-3292194304,3292194559,SC
-3292194560,3292195327,US
+3292193024,3292194303,US
+3292194304,3292194815,SC
+3292194816,3292195327,US
3292195328,3292195583,SC
3292195584,3292195839,US
3292195840,3292196607,SC
@@ -140065,7 +142611,9 @@
3292197632,3292197887,US
3292197888,3292198143,SC
3292198144,3292198399,US
-3292198400,3292199423,SC
+3292198400,3292198655,SC
+3292198656,3292198911,US
+3292198912,3292199423,SC
3292199424,3292199679,US
3292199680,3292200191,SC
3292200192,3292200447,US
@@ -140078,9 +142626,7 @@
3292202752,3292203007,US
3292203008,3292203519,SC
3292203520,3292204031,US
-3292204032,3292204287,SC
-3292204288,3292204543,US
-3292204544,3292205055,SC
+3292204032,3292205055,SC
3292205056,3292205311,US
3292205312,3292205823,SC
3292205824,3292206335,US
@@ -140088,8 +142634,8 @@
3292207104,3292208383,US
3292208384,3292208639,SC
3292208640,3292209151,US
-3292209152,3292209407,SC
-3292209408,3292210175,US
+3292209152,3292209663,SC
+3292209664,3292210175,US
3292210176,3292210943,SC
3292210944,3292211455,US
3292211456,3292211711,SC
@@ -140099,12 +142645,12 @@
3292212480,3292212991,SC
3292212992,3292213759,US
3292213760,3292214015,SC
-3292214016,3292215295,US
-3292215296,3292215807,SC
+3292214016,3292215039,US
+3292215040,3292215807,SC
3292215808,3292216319,US
3292216320,3292217343,SC
-3292217344,3292217855,US
-3292217856,3292219135,SC
+3292217344,3292218111,US
+3292218112,3292219135,SC
3292219136,3292219391,US
3292219392,3292219903,SC
3292219904,3292220159,US
@@ -140114,21 +142660,17 @@
3292220928,3292221183,US
3292221184,3292221439,SC
3292221440,3292221695,US
-3292221696,3292222207,SC
-3292222208,3292223231,US
+3292221696,3292222975,SC
+3292222976,3292223231,US
3292223232,3292223487,SC
-3292223488,3292223743,US
-3292223744,3292223999,SC
-3292224000,3292225023,US
+3292223488,3292225023,US
3292225024,3292225535,SC
3292225536,3292226303,US
3292226304,3292226559,SC
3292226560,3292226815,US
3292226816,3292227071,SC
3292227072,3292227839,US
-3292227840,3292228607,SC
-3292228608,3292228863,US
-3292228864,3292229631,SC
+3292227840,3292229631,SC
3292229632,3292229887,US
3292229888,3292230143,SC
3292230144,3292231935,US
@@ -140138,16 +142680,18 @@
3292232704,3292232959,US
3292232960,3292233215,SC
3292233216,3292233471,US
-3292233472,3292234239,SC
-3292234240,3292234495,US
+3292233472,3292233983,SC
+3292233984,3292234495,US
3292234496,3292234751,SC
3292234752,3292235007,US
3292235008,3292235519,SC
3292235520,3292235775,US
-3292235776,3292236543,SC
-3292236544,3292237055,US
+3292235776,3292236799,SC
+3292236800,3292237055,US
3292237056,3292237823,SC
-3292237824,3292238591,US
+3292237824,3292238079,US
+3292238080,3292238335,SC
+3292238336,3292238591,US
3292238592,3292238847,SC
3292238848,3292239103,US
3292239104,3292239871,SC
@@ -140155,18 +142699,20 @@
3292240640,3292240895,SC
3292240896,3292241151,US
3292241152,3292241407,SC
-3292241408,3292242175,US
-3292242176,3292242431,SC
-3292242432,3292242687,US
+3292241408,3292242687,US
3292242688,3292242943,SC
3292242944,3292243199,US
3292243200,3292244223,SC
-3292244224,3292244991,US
+3292244224,3292244479,US
+3292244480,3292244735,SC
+3292244736,3292244991,US
3292244992,3292245247,SC
3292245248,3292245503,US
3292245504,3292245759,SC
3292245760,3292247295,US
-3292247296,3292248319,SC
+3292247296,3292247807,SC
+3292247808,3292248063,US
+3292248064,3292248319,SC
3292248320,3292248575,US
3292248576,3292249855,SC
3292249856,3292250367,US
@@ -140176,25 +142722,17 @@
3292251392,3292251903,US
3292251904,3292252159,SC
3292252160,3292252415,US
-3292252416,3292252671,SC
-3292252672,3292253439,US
-3292253440,3292253695,SC
-3292253696,3292254207,US
-3292254208,3292255743,SC
-3292255744,3292255999,US
-3292256000,3292256255,SC
+3292252416,3292252927,SC
+3292252928,3292254207,US
+3292254208,3292256255,SC
3292256256,3292256511,US
3292256512,3292256767,SC
-3292256768,3292257535,US
-3292257536,3292258303,SC
-3292258304,3292258559,US
-3292258560,3292258815,SC
-3292258816,3292259327,US
+3292256768,3292257791,US
+3292257792,3292258303,SC
+3292258304,3292259327,US
3292259328,3292259583,SC
3292259584,3292260607,US
-3292260608,3292261375,SC
-3292261376,3292261631,US
-3292261632,3292261887,SC
+3292260608,3292261887,SC
3292261888,3292262399,US
3292262400,3292262911,SC
3292262912,3292263167,US
@@ -140206,7 +142744,9 @@
3292264704,3292264959,US
3292264960,3292265215,SC
3292265216,3292265727,US
-3292265728,3292266495,SC
+3292265728,3292265983,SC
+3292265984,3292266239,DE
+3292266240,3292266495,SC
3292266496,3292266751,TZ
3292267008,3292267263,KE
3292267520,3292267775,BW
@@ -140222,6 +142762,10 @@
3292278784,3292280063,TZ
3292280320,3292280575,SO
3292280832,3292281087,CG
+3292281344,3292281599,NG
+3292282112,3292282367,GN
+3292283392,3292283647,KE
+3292332032,3292334079,TN
3292334080,3292336127,TZ
3292336128,3292340223,ZA
3292340224,3292344319,GH
@@ -140237,8 +142781,7 @@
3292389376,3292391423,ZA
3292391424,3292393471,MA
3292393472,3292397567,ZA
-3292397568,3292463103,PK
-3292463104,3292528639,ZA
+3292397568,3292528639,PK
3292528640,3294625791,MA
3294625792,3295674367,KE
3295674368,3296722943,MA
@@ -140278,9 +142821,15 @@
3301174272,3301175295,UG
3301175296,3301176831,AF
3301176832,3301177087,DE
-3301177088,3301179137,AF
+3301177088,3301178111,AF
+3301178112,3301178367,DE
+3301178368,3301178897,AF
+3301178898,3301178898,DE
+3301178899,3301179137,AF
3301179138,3301179138,DE
-3301179139,3301179391,AF
+3301179139,3301179139,AF
+3301179140,3301179140,DE
+3301179141,3301179391,AF
3301179392,3301179903,RU
3301179904,3301181439,SC
3301181440,3301185535,US
@@ -140312,9 +142861,7 @@
3301238784,3301240831,US
3301240832,3301242879,SE
3301242880,3301244927,GB
-3301244928,3301246975,US
-3301246976,3301247999,SC
-3301248000,3301274623,US
+3301244928,3301274623,US
3301274624,3301275647,SC
3301275648,3301285887,US
3301285888,3301286911,SC
@@ -140360,8 +142907,8 @@
3301316352,3301316607,SC
3301316608,3301316863,US
3301316864,3301317375,SC
-3301317376,3301318143,US
-3301318144,3301318655,SC
+3301317376,3301318399,US
+3301318400,3301318655,SC
3301318656,3301318911,US
3301318912,3301319679,SC
3301319680,3301319935,US
@@ -140382,7 +142929,8 @@
3301325312,3301325823,US
3301325824,3301329151,SC
3301329152,3301329407,DK
-3301329408,3301330687,SC
+3301329408,3301329663,CZ
+3301329664,3301330687,SC
3301330688,3301330943,HK
3301330944,3301331199,HU
3301331200,3301331455,LU
@@ -140397,17 +142945,15 @@
3301334016,3301334527,SC
3301334528,3301335295,US
3301335296,3301337087,SC
-3301337088,3301337599,US
-3301337600,3301337855,SC
-3301337856,3301338111,US
+3301337088,3301338111,US
3301338112,3301339647,SC
3301339648,3301339903,US
3301339904,3301340159,SC
3301340160,3301340415,US
3301340416,3301340671,SC
3301340672,3301341439,US
-3301341440,3301342207,SC
-3301342208,3301342463,US
+3301341440,3301341951,SC
+3301341952,3301342463,US
3301342464,3301342975,SC
3301342976,3301343743,US
3301343744,3301344255,SC
@@ -140426,18 +142972,20 @@
3301349120,3301349375,CH
3301349376,3301349631,SC
3301349632,3301349887,GB
-3301349888,3301351423,SC
+3301349888,3301350143,SC
+3301350144,3301350399,US
+3301350400,3301351423,SC
3301351424,3301351935,US
3301351936,3301352703,SC
3301352704,3301352959,US
3301352960,3301353471,SC
3301353472,3301354239,US
-3301354240,3301355263,SC
+3301354240,3301354751,SC
+3301354752,3301355007,US
+3301355008,3301355263,SC
3301355264,3301355519,US
-3301355520,3301356799,SC
-3301356800,3301357055,US
-3301357056,3301357311,SC
-3301357312,3301357567,US
+3301355520,3301356543,SC
+3301356544,3301357567,US
3301357568,3301357823,SC
3301357824,3301358335,US
3301358336,3301359359,SC
@@ -140460,7 +143008,9 @@
3301365248,3301365503,ES
3301365504,3301365759,CH
3301365760,3301366015,NL
-3301366016,3301367551,SC
+3301366016,3301366783,SC
+3301366784,3301367039,US
+3301367040,3301367551,SC
3301367552,3301367807,US
3301367808,3301368319,SC
3301368320,3301368831,US
@@ -140480,7 +143030,9 @@
3301379584,3301380095,US
3301380096,3301380351,CA
3301380352,3301380607,SC
-3301380608,3301382655,US
+3301380608,3301381375,US
+3301381376,3301381631,SC
+3301381632,3301382655,US
3301382656,3301382911,SC
3301382912,3301383423,US
3301383424,3301383679,SC
@@ -140497,22 +143049,25 @@
3301387520,3301387775,PL
3301387776,3301388287,SC
3301388288,3301388543,LU
-3301388544,3301389567,SC
+3301388544,3301389311,SC
+3301389312,3301389567,AT
3301389568,3301389823,BE
3301389824,3301390079,LV
3301390080,3301390335,SC
3301390336,3301390591,US
3301390592,3301390847,DE
-3301390848,3301391359,US
+3301390848,3301391103,US
+3301391104,3301391359,SC
3301391360,3301391615,IN
3301391616,3301391871,RU
-3301391872,3301392127,US
-3301392128,3301392383,SC
+3301391872,3301392383,SC
3301392384,3301392895,US
3301392896,3301393151,SC
3301393152,3301393407,US
3301393408,3301393663,SC
-3301393664,3301394687,US
+3301393664,3301394175,US
+3301394176,3301394431,SC
+3301394432,3301394687,US
3301394688,3301395199,SC
3301395200,3301396223,US
3301396224,3301396479,SC
@@ -140523,8 +143078,8 @@
3301399552,3301399807,US
3301399808,3301400063,SC
3301400064,3301400319,US
-3301400320,3301400575,SC
-3301400576,3301401343,US
+3301400320,3301400831,SC
+3301400832,3301401343,US
3301401344,3301401599,SC
3301401600,3301402623,US
3301402624,3301402879,GB
@@ -140553,16 +143108,13 @@
3301410560,3301410815,SC
3301410816,3301411071,US
3301411072,3301411583,SC
-3301411584,3301411839,US
-3301411840,3301412095,SC
-3301412096,3301412607,US
+3301411584,3301412095,US
+3301412096,3301412351,SC
+3301412352,3301412607,US
3301412608,3301412863,SC
3301412864,3301413119,CA
-3301413120,3301413375,SC
-3301413376,3301414143,US
-3301414144,3301414399,SC
-3301414400,3301414655,US
-3301414656,3301414911,SC
+3301413120,3301414399,US
+3301414400,3301414911,SC
3301414912,3301416191,US
3301416192,3301416447,SC
3301416448,3301417471,US
@@ -140584,13 +143136,14 @@
3301423104,3301423359,US
3301423360,3301423615,SC
3301423616,3301423871,FR
-3301423872,3301424383,SC
+3301423872,3301424127,SC
+3301424128,3301424383,IN
3301424384,3301424639,RU
-3301424640,3301425151,SC
-3301425152,3301425663,US
+3301424640,3301425407,SC
+3301425408,3301425663,US
3301425664,3301425919,SC
-3301425920,3301426431,US
-3301426432,3301427199,SC
+3301425920,3301426175,US
+3301426176,3301427199,SC
3301427200,3301428479,US
3301428480,3301428991,SC
3301428992,3301429503,US
@@ -140598,12 +143151,12 @@
3301430016,3301430271,US
3301430272,3301430783,SC
3301430784,3301431295,US
-3301431296,3301432063,SC
-3301432064,3301432319,US
-3301432320,3301432575,SC
+3301431296,3301432575,SC
3301432576,3301433087,US
3301433088,3301433343,SC
-3301433344,3301435391,US
+3301433344,3301433599,US
+3301433600,3301433855,SC
+3301433856,3301435391,US
3301435392,3301435647,SC
3301435648,3301435903,NL
3301435904,3301436159,SC
@@ -140619,9 +143172,7 @@
3301438720,3301439487,US
3301439488,3301439743,DK
3301439744,3301439999,SC
-3301440000,3301440767,US
-3301440768,3301441023,SC
-3301441024,3301441279,US
+3301440000,3301441279,US
3301441280,3301441535,SC
3301441536,3301445631,ZA
3301445632,3301453823,KE
@@ -140820,11 +143371,13 @@
3304066816,3304067071,US
3304067072,3304067327,CA
3304067328,3304067583,US
-3304067584,3304071167,SC
+3304067584,3304070399,SC
+3304070400,3304070655,US
+3304070656,3304071167,SC
3304071168,3304071423,US
3304071424,3304071679,SC
-3304071680,3304071935,US
-3304071936,3304072447,SC
+3304071680,3304072191,US
+3304072192,3304072447,SC
3304072448,3304072703,US
3304072704,3304072959,SC
3304072960,3304073215,US
@@ -140833,7 +143386,8 @@
3304073728,3304073983,SC
3304073984,3304074239,ES
3304074240,3304074495,PT
-3304074496,3304075519,SC
+3304074496,3304075263,SC
+3304075264,3304075519,LU
3304075520,3304075775,HU
3304075776,3304076031,HK
3304076032,3304076287,AU
@@ -140876,7 +143430,7 @@
3304091136,3304091391,NO
3304091392,3304091647,NZ
3304091648,3304091903,LU
-3304091904,3304092159,SC
+3304091904,3304092159,HU
3304092160,3304092415,HK
3304092416,3304092671,SC
3304092672,3304092927,AT
@@ -140886,14 +143440,15 @@
3304093952,3304094207,DE
3304094208,3304094975,SC
3304094976,3304095231,RU
-3304095232,3304096255,SC
+3304095232,3304095487,SG
+3304095488,3304096255,SC
3304096256,3304096511,US
3304096512,3304097023,SC
3304097024,3304097279,US
-3304097280,3304098047,SC
-3304098048,3304098303,US
-3304098304,3304098815,SC
-3304098816,3304099071,US
+3304097280,3304097791,SC
+3304097792,3304098303,US
+3304098304,3304098559,SC
+3304098560,3304099071,US
3304099072,3304099327,SC
3304099328,3304099583,CA
3304099584,3304099839,SC
@@ -140983,7 +143538,9 @@
3304198912,3304199167,CH
3304199168,3304199423,NL
3304199424,3304199679,GB
-3304199680,3304201215,SC
+3304199680,3304200191,SC
+3304200192,3304200447,US
+3304200448,3304201215,SC
3304201216,3304201983,US
3304201984,3304202751,SC
3304202752,3304203263,US
@@ -140997,9 +143554,7 @@
3304206080,3304206335,US
3304206336,3304206591,CA
3304206592,3304207871,SC
-3304207872,3304209151,US
-3304209152,3304209407,SC
-3304209408,3304209663,US
+3304207872,3304209663,US
3304209664,3304210431,SC
3304210432,3304210687,SG
3304210688,3304210943,RU
@@ -141014,16 +143569,22 @@
3304214016,3304214783,SC
3304214784,3304215039,LU
3304215040,3304215295,NZ
-3304215296,3304216063,SC
+3304215296,3304215551,SC
+3304215552,3304215807,PL
+3304215808,3304216063,SC
3304216064,3304216319,ES
3304216320,3304216575,CH
3304216576,3304216831,NL
3304216832,3304217087,GB
3304217088,3304218367,SC
3304218368,3304219135,US
-3304219136,3304222207,SC
+3304219136,3304219391,SC
+3304219392,3304219647,US
+3304219648,3304222207,SC
3304222208,3304222463,US
-3304222464,3304223231,SC
+3304222464,3304222719,SC
+3304222720,3304222975,US
+3304222976,3304223231,SC
3304223232,3304223487,US
3304223488,3304223999,SC
3304224000,3304224255,US
@@ -141039,7 +143600,7 @@
3304229120,3304229375,DK
3304229376,3304229887,SC
3304229888,3304230143,BE
-3304230144,3304230399,SC
+3304230144,3304230399,AT
3304230400,3304230655,AU
3304230656,3304230911,SC
3304230912,3304231167,HU
@@ -141054,8 +143615,8 @@
3304233472,3304233983,US
3304233984,3304234751,SC
3304234752,3304235007,US
-3304235008,3304235775,SC
-3304235776,3304236287,US
+3304235008,3304235519,SC
+3304235520,3304236287,US
3304236288,3304236799,SC
3304236800,3304237055,US
3304237056,3304237567,SC
@@ -141091,7 +143652,9 @@
3304250624,3304251391,US
3304251392,3304251903,SC
3304251904,3304252159,US
-3304252160,3304253183,SC
+3304252160,3304252415,SC
+3304252416,3304252671,US
+3304252672,3304253183,SC
3304253184,3304253439,US
3304253440,3304254463,SC
3304254464,3304254719,US
@@ -141101,15 +143664,14 @@
3304256000,3304256255,US
3304256256,3304256511,CA
3304256512,3304257023,SC
-3304257024,3304257279,US
-3304257280,3304257535,SC
-3304257536,3304257791,US
+3304257024,3304257791,US
3304257792,3304325375,SC
3304325376,3304325631,US
3304325632,3304325887,AT
3304325888,3304326143,SC
3304326144,3304326399,DE
-3304326400,3304327423,SC
+3304326400,3304326655,DK
+3304326656,3304327423,SC
3304327424,3304327679,AT
3304327680,3304327935,SC
3304327936,3304328191,HK
@@ -141117,12 +143679,15 @@
3304328448,3304328703,LU
3304328704,3304329215,SC
3304329216,3304329471,PL
-3304329472,3304329983,SC
+3304329472,3304329727,PT
+3304329728,3304329983,SC
3304329984,3304330239,CH
-3304330240,3304331007,SC
+3304330240,3304330495,SC
+3304330496,3304330751,GB
+3304330752,3304331007,SC
3304331008,3304331263,US
-3304331264,3304331775,SC
-3304331776,3304332031,US
+3304331264,3304331519,SC
+3304331520,3304332031,US
3304332032,3304332543,SC
3304332544,3304332799,US
3304332800,3304333055,SC
@@ -141140,10 +143705,10 @@
3304338176,3304338687,SC
3304338688,3304338943,US
3304338944,3304339967,SC
-3304339968,3304340223,US
-3304340224,3304340735,SC
+3304339968,3304340479,US
+3304340480,3304340735,SC
3304340736,3304341247,US
-3304341248,3304341503,SC
+3304341248,3304341503,BR
3304341504,3304341759,SG
3304341760,3304342015,RU
3304342016,3304342783,SC
@@ -141160,12 +143725,11 @@
3304345856,3304346111,LU
3304346112,3304346367,SC
3304346368,3304346623,NO
-3304346624,3304347135,SC
+3304346624,3304346879,SC
+3304346880,3304347135,PT
3304347136,3304347391,ES
3304347392,3304348415,SC
-3304348416,3304348927,US
-3304348928,3304349183,SC
-3304349184,3304349695,US
+3304348416,3304349695,US
3304349696,3304350975,SC
3304350976,3304351487,US
3304351488,3304352255,SC
@@ -141186,7 +143750,10 @@
3304359424,3304359679,AT
3304359680,3304360191,SC
3304360192,3304360447,DK
-3304360448,3304362495,SC
+3304360448,3304361471,SC
+3304361472,3304361727,AU
+3304361728,3304361983,HK
+3304361984,3304362495,SC
3304362496,3304362751,NZ
3304362752,3304363007,NO
3304363008,3304363775,SC
@@ -141205,14 +143772,14 @@
3304370432,3304370687,CA
3304370688,3304370943,US
3304370944,3304371199,CA
-3304371200,3304371455,US
-3304371456,3304371967,SC
+3304371200,3304371711,US
+3304371712,3304371967,SC
3304371968,3304372223,US
3304372224,3304372735,SC
3304372736,3304372991,US
3304372992,3304373247,SC
-3304373248,3304373503,US
-3304373504,3304374783,SC
+3304373248,3304373759,US
+3304373760,3304374783,SC
3304374784,3304375039,BR
3304375040,3304376319,SC
3304376320,3304376575,DE
@@ -141220,10 +143787,12 @@
3304376832,3304377087,CZ
3304377088,3304377343,LV
3304377344,3304377599,BE
-3304377600,3304380671,SC
+3304377600,3304380159,SC
+3304380160,3304380415,CH
+3304380416,3304380671,SC
3304380672,3304380927,GB
-3304380928,3304381695,SC
-3304381696,3304381951,US
+3304380928,3304381439,SC
+3304381440,3304381951,US
3304381952,3304382207,SC
3304382208,3304382463,US
3304382464,3304382719,SC
@@ -141236,28 +143805,28 @@
3304385024,3304385535,US
3304385536,3304386047,SC
3304386048,3304386303,US
-3304386304,3304387327,SC
+3304386304,3304386815,SC
+3304386816,3304387071,CA
+3304387072,3304387327,SC
3304387328,3304387583,CA
3304387584,3304388095,SC
3304388096,3304388351,US
3304388352,3304388607,SC
3304388608,3304388863,US
-3304388864,3304389887,SC
+3304388864,3304389119,SC
+3304389120,3304389375,US
+3304389376,3304389887,SC
3304389888,3304390143,US
3304390144,3304390399,SC
3304390400,3304390655,US
3304390656,3304391679,SC
-3304391680,3304400895,US
-3304400896,3304401919,SC
-3304401920,3304403967,US
+3304391680,3304403967,US
3304403968,3304404991,SC
3304404992,3304407039,US
3304407040,3304408063,CA
3304408064,3304415231,US
3304415232,3304416255,SC
-3304416256,3304421375,US
-3304421376,3304423423,SC
-3304423424,3304428543,US
+3304416256,3304428543,US
3304428544,3304430591,SK
3304430592,3304431615,SC
3304431616,3304432639,GB
@@ -141283,8 +143852,7 @@
3304450048,3304451071,FR
3304451072,3304452095,AT
3304452096,3304453119,IN
-3304453120,3304454143,RO
-3304454144,3304455167,SG
+3304453120,3304455167,RO
3304455168,3304456191,BR
3304456192,3304521727,ZA
3304521728,3304528895,US
@@ -141335,9 +143903,7 @@
3304783872,3304801023,ZA
3304801024,3304804095,GH
3304804096,3304806399,NG
-3304806400,3304806655,ZA
-3304806656,3304807167,SC
-3304807168,3304807423,ZA
+3304806400,3304807423,ZA
3304807424,3304807935,SC
3304807936,3304808959,ZA
3304808960,3304809215,SC
@@ -141402,12 +143968,12 @@
3315138560,3315204095,MA
3315204096,3315269631,ET
3315269632,3315286015,ZA
-3315286016,3315288319,MU
-3315288320,3315288575,KE
-3315288576,3315289343,MU
+3315286016,3315288413,MU
+3315288414,3315288414,KE
+3315288415,3315289343,MU
3315289344,3315289599,KE
-3315289600,3315291135,MU
-3315291136,3315293183,KE
+3315289600,3315292159,MU
+3315292160,3315293183,KE
3315293184,3315294207,MU
3315294208,3315302399,ZA
3315302400,3315318783,ML
@@ -141422,7 +143988,9 @@
3315397097,3315400703,NG
3315400704,3315417087,UG
3315417088,3315425279,ZA
-3315425280,3315433471,SC
+3315425280,3315430399,SC
+3315430400,3315431423,GB
+3315431424,3315433471,SC
3315433472,3315449855,RW
3315449856,3315450879,BI
3315450880,3315451903,AO
@@ -141541,9 +144109,9 @@
3320446976,3320451071,SC
3320451072,3320455167,ZA
3320455168,3320463359,NG
-3320463360,3320476671,NA
-3320476672,3320477183,AO
-3320477184,3320479743,NA
+3320463360,3320475647,NA
+3320475648,3320477695,AO
+3320477696,3320479743,NA
3320479744,3320500223,ZA
3320500224,3320502271,BW
3320502272,3320504319,BJ
@@ -141580,8 +144148,8 @@
3321018368,3321020415,MU
3321020416,3321022463,TZ
3321022464,3321024511,ZA
-3321024512,3321025023,KE
-3321025024,3321025791,ZA
+3321024512,3321025279,KE
+3321025280,3321025791,ZA
3321025792,3321026815,KE
3321026816,3321027327,ZA
3321027328,3321028607,KE
@@ -141623,7 +144191,9 @@
3321968640,3321970687,CA
3321970688,3321987519,US
3321987520,3321987583,CN
-3321987584,3321987871,US
+3321987584,3321987743,US
+3321987744,3321987775,CN
+3321987776,3321987871,US
3321987872,3321987927,CN
3321987928,3321987967,US
3321987968,3321987983,CN
@@ -141641,7 +144211,9 @@
3321989024,3321989119,CN
3321989120,3321989399,US
3321989400,3321989407,CN
-3321989408,3321989759,US
+3321989408,3321989423,US
+3321989424,3321989431,CN
+3321989432,3321989759,US
3321989760,3321989791,CN
3321989792,3321989807,US
3321989808,3321989815,CN
@@ -141844,7 +144416,9 @@
3322072952,3322072959,CN
3322072960,3322073023,US
3322073024,3322073119,CN
-3322073120,3322073151,US
+3322073120,3322073135,US
+3322073136,3322073143,CN
+3322073144,3322073151,US
3322073152,3322073247,CN
3322073248,3322073311,US
3322073312,3322073327,CN
@@ -141897,12 +144471,14 @@
3322077696,3322077759,US
3322077760,3322078015,CN
3322078016,3322078079,US
-3322078080,3322078463,CN
+3322078080,3322078271,CN
+3322078272,3322078335,US
+3322078336,3322078463,CN
3322078464,3322078527,US
3322078528,3322078783,CN
3322078784,3322078911,US
-3322078912,3322078975,CN
-3322078976,3322079423,US
+3322078912,3322079039,CN
+3322079040,3322079423,US
3322079424,3322079551,CN
3322079552,3322079679,US
3322079680,3322079743,CN
@@ -141933,9 +144509,7 @@
3322082496,3322082559,US
3322082560,3322082751,CN
3322082752,3322082815,US
-3322082816,3322082879,CN
-3322082880,3322082943,US
-3322082944,3322083135,CN
+3322082816,3322083135,CN
3322083136,3322083199,US
3322083200,3322083391,CN
3322083392,3322083519,US
@@ -141963,14 +144537,12 @@
3322361883,3322362367,US
3322362368,3322362431,DE
3322362432,3322454015,US
-3322454016,3322454271,GB
-3322454272,3322609663,US
+3322454016,3322456063,GB
+3322456064,3322609663,US
3322609664,3322610687,SA
3322610688,3322683391,US
3322683392,3322691583,AR
-3322691584,3322691775,US
-3322691776,3322691791,CA
-3322691792,3322692695,US
+3322691584,3322692695,US
3322692696,3322692703,FR
3322692704,3322696543,US
3322696544,3322696551,GB
@@ -141978,11 +144550,7 @@
3322696608,3322696623,GB
3322696624,3322697951,US
3322697952,3322697983,CA
-3322697984,3322698303,US
-3322698304,3322698367,IL
-3322698368,3322699199,US
-3322699200,3322699207,PK
-3322699208,3322700095,US
+3322697984,3322700095,US
3322700096,3322700127,FR
3322700128,3322700287,US
3322700288,3322700543,NL
@@ -142010,7 +144578,9 @@
3322904864,3322904895,CN
3322904896,3322905151,US
3322905152,3322905183,CN
-3322905184,3322906431,US
+3322905184,3322905351,US
+3322905352,3322905359,CN
+3322905360,3322906431,US
3322906432,3322906559,CN
3322906560,3322906751,US
3322906752,3322906815,CN
@@ -142219,8 +144789,8 @@
3322936096,3322936103,US
3322936104,3322936239,CN
3322936240,3322936255,US
-3322936256,3322936319,CN
-3322936320,3322936839,US
+3322936256,3322936575,CN
+3322936576,3322936839,US
3322936840,3322937095,CN
3322937096,3322937119,US
3322937120,3322937151,CN
@@ -142310,20 +144880,15 @@
3323242320,3323242335,CA
3323242336,3323242367,IN
3323242368,3323242495,US
-3323242496,3323242511,CA
-3323242512,3323242527,US
+3323242496,3323242527,CA
3323242528,3323242559,IN
3323242560,3323242575,CA
3323242576,3323242591,US
-3323242592,3323242607,CA
-3323242608,3323242623,US
-3323242624,3323242655,CA
+3323242592,3323242655,CA
3323242656,3323242687,IN
-3323242688,3323242695,CA
-3323242696,3323243007,US
-3323243008,3323243031,CA
-3323243032,3323243039,US
-3323243040,3323243055,CA
+3323242688,3323242719,CA
+3323242720,3323243007,US
+3323243008,3323243055,CA
3323243056,3323243063,US
3323243064,3323243087,CA
3323243088,3323243095,IE
@@ -142335,30 +144900,32 @@
3323243224,3323243231,US
3323243232,3323243239,CA
3323243240,3323243247,US
-3323243248,3323243263,CA
-3323243264,3323243487,US
-3323243488,3323243519,CA
-3323243520,3323243551,US
-3323243552,3323243583,CA
+3323243248,3323243391,CA
+3323243392,3323243455,US
+3323243456,3323243519,CA
+3323243520,3323243535,US
+3323243536,3323243583,CA
3323243584,3323243615,US
-3323243616,3323243647,CA
-3323243648,3323243711,US
-3323243712,3323243743,CA
+3323243616,3323243663,CA
+3323243664,3323243695,US
+3323243696,3323243743,CA
3323243744,3323243791,US
3323243792,3323243815,CA
3323243816,3323243823,US
3323243824,3323243839,CA
3323243840,3323243967,US
3323243968,3323244095,CA
-3323244096,3323244255,US
-3323244256,3323244319,CA
+3323244096,3323244159,US
+3323244160,3323244191,CA
+3323244192,3323244207,US
+3323244208,3323244319,CA
3323244320,3323244327,US
3323244328,3323244399,CA
3323244400,3323244407,US
3323244408,3323244511,CA
3323244512,3323244671,US
-3323244672,3323244679,CA
-3323244680,3323244695,US
+3323244672,3323244687,CA
+3323244688,3323244695,US
3323244696,3323244703,CA
3323244704,3323244735,US
3323244736,3323244767,IN
@@ -142366,39 +144933,46 @@
3323244784,3323244799,CA
3323244800,3323244927,US
3323244928,3323245055,CA
-3323245056,3323245183,US
-3323245184,3323245215,CA
-3323245216,3323245383,US
-3323245384,3323245439,CA
-3323245440,3323245471,US
-3323245472,3323245503,CA
+3323245056,3323245087,US
+3323245088,3323245119,CA
+3323245120,3323245135,US
+3323245136,3323245151,CA
+3323245152,3323245167,US
+3323245168,3323245215,CA
+3323245216,3323245247,US
+3323245248,3323245255,CA
+3323245256,3323245263,US
+3323245264,3323245279,CA
+3323245280,3323245383,US
+3323245384,3323245503,CA
3323245504,3323245535,US
3323245536,3323245543,CA
3323245544,3323245551,US
3323245552,3323245567,CA
3323245568,3323245647,US
-3323245648,3323245655,CA
-3323245656,3323245951,US
+3323245648,3323245663,CA
+3323245664,3323245951,US
3323245952,3323245983,CA
3323245984,3323246015,US
-3323246016,3323246079,CA
+3323246016,3323246047,CN
+3323246048,3323246079,CA
3323246080,3323246207,US
3323246208,3323246215,CA
-3323246216,3323246223,US
+3323246216,3323246223,CN
3323246224,3323246231,CA
3323246232,3323246239,FI
3323246240,3323246271,CA
3323246272,3323246463,US
3323246464,3323246591,CN
-3323246592,3323247567,US
+3323246592,3323247439,US
+3323247440,3323247455,CA
+3323247456,3323247567,US
3323247568,3323247583,CA
3323247584,3323248383,US
3323248384,3323248639,CA
-3323248640,3323270420,US
-3323270421,3323270421,CH
-3323270422,3323271167,US
-3323271168,3323273215,ZA
-3323273216,3323339263,US
+3323248640,3323270399,US
+3323270400,3323270655,CH
+3323270656,3323339263,US
3323339776,3323340031,CA
3323340288,3323342591,US
3323342592,3323342847,AU
@@ -142429,7 +145003,9 @@
3323444848,3323444863,CA
3323444864,3323446271,US
3323446272,3323446527,GB
-3323446528,3323457791,US
+3323446528,3323449535,US
+3323449536,3323449539,GB
+3323449540,3323457791,US
3323457792,3323458047,GB
3323458048,3323462655,US
3323462656,3323463167,BR
@@ -142437,13 +145013,17 @@
3323477984,3323478015,GB
3323478016,3323505311,US
3323505312,3323505343,BR
-3323505344,3323505615,US
+3323505344,3323505359,US
+3323505360,3323505367,CA
+3323505368,3323505615,US
3323505616,3323505623,CA
3323505624,3323506559,US
3323506560,3323506567,PK
3323506568,3323507743,US
3323507744,3323507751,CA
-3323507752,3323510287,US
+3323507752,3323508639,US
+3323508640,3323508647,GB
+3323508648,3323510287,US
3323510288,3323510295,CA
3323510296,3323659263,US
3323659264,3323660543,NZ
@@ -142454,8 +145034,7 @@
3323677992,3323677995,US
3323677996,3323678031,CA
3323678032,3323678047,US
-3323678048,3323678095,CA
-3323678096,3323678103,CO
+3323678048,3323678103,CA
3323678104,3323678111,GB
3323678112,3323678147,CA
3323678148,3323678151,US
@@ -142494,13 +145073,10 @@
3323681524,3323681527,BR
3323681528,3323681591,CA
3323681592,3323681599,US
-3323681600,3323681663,CA
+3323681600,3323681631,CA
+3323681632,3323681663,NO
3323681664,3323681695,IN
-3323681696,3323681711,CA
-3323681712,3323681727,FR
-3323681728,3323681735,CA
-3323681736,3323681739,ES
-3323681740,3323681747,CA
+3323681696,3323681747,CA
3323681748,3323681751,VE
3323681752,3323682647,CA
3323682648,3323682651,BR
@@ -142539,7 +145115,7 @@
3323683448,3323683455,US
3323683456,3323683471,CA
3323683472,3323683479,MX
-3323683480,3323683487,BR
+3323683480,3323683487,CA
3323683488,3323683503,US
3323683504,3323683515,CA
3323683516,3323683519,MX
@@ -142636,9 +145212,7 @@
3323685832,3323685839,AR
3323685840,3323685871,CA
3323685872,3323685887,US
-3323685888,3323685899,CA
-3323685900,3323685903,US
-3323685904,3323685911,CA
+3323685888,3323685911,CA
3323685912,3323685919,US
3323685920,3323685923,CA
3323685924,3323685927,BR
@@ -142655,9 +145229,7 @@
3323686136,3323686143,MX
3323686144,3323686159,NO
3323686160,3323686163,US
-3323686164,3323686167,CA
-3323686168,3323686175,BD
-3323686176,3323686183,CA
+3323686164,3323686183,CA
3323686184,3323686191,BR
3323686192,3323686195,PE
3323686196,3323686199,VI
@@ -142671,7 +145243,9 @@
3323686368,3323686371,IN
3323686372,3323686383,CA
3323686384,3323686391,US
-3323686392,3323686591,CA
+3323686392,3323686559,CA
+3323686560,3323686563,FR
+3323686564,3323686591,CA
3323686592,3323686595,FR
3323686596,3323686599,CA
3323686600,3323686607,BR
@@ -142707,18 +145281,17 @@
3323687074,3323687074,US
3323687075,3323687079,CA
3323687080,3323687087,US
-3323687088,3323687103,CA
-3323687104,3323687111,BR
+3323687088,3323687111,CA
3323687112,3323687115,PT
-3323687116,3323687183,CA
+3323687116,3323687123,CA
+3323687124,3323687127,NL
+3323687128,3323687183,CA
3323687184,3323687199,BR
3323687200,3323687215,CA
3323687216,3323687231,US
3323687232,3323687235,CA
3323687236,3323687239,SK
-3323687240,3323687251,CA
-3323687252,3323687255,US
-3323687256,3323687279,CA
+3323687240,3323687279,CA
3323687280,3323687287,US
3323687288,3323687427,CA
3323687428,3323687431,BZ
@@ -142734,13 +145307,15 @@
3323687732,3323687735,AE
3323687736,3323687743,CA
3323687744,3323687747,ES
-3323687748,3323687783,CA
+3323687748,3323687751,CA
+3323687752,3323687759,US
+3323687760,3323687783,CA
3323687784,3323687791,US
3323687792,3323687799,AU
3323687800,3323687815,CA
3323687816,3323687819,US
3323687820,3323687863,CA
-3323687864,3323687871,MX
+3323687864,3323687871,GB
3323687872,3323687887,PK
3323687888,3323687891,BR
3323687892,3323687903,CA
@@ -142761,13 +145336,9 @@
3323688164,3323688175,BR
3323688176,3323688183,CA
3323688184,3323688187,BR
-3323688188,3323688255,CA
-3323688256,3323688271,BR
-3323688272,3323688343,CA
+3323688188,3323688343,CA
3323688344,3323688351,AE
-3323688352,3323688407,CA
-3323688408,3323688411,US
-3323688412,3323688463,CA
+3323688352,3323688463,CA
3323688464,3323688467,BR
3323688468,3323688471,CA
3323688472,3323688479,US
@@ -142841,9 +145412,9 @@
3323690096,3323690111,PK
3323690112,3323690127,US
3323690128,3323690131,FR
-3323690132,3323690155,CA
-3323690156,3323690159,BE
-3323690160,3323690199,CA
+3323690132,3323690151,CA
+3323690152,3323690155,FR
+3323690156,3323690199,CA
3323690200,3323690207,US
3323690208,3323690223,CA
3323690224,3323690235,US
@@ -142853,7 +145424,9 @@
3323690404,3323690407,DM
3323690408,3323690495,CA
3323690496,3323740159,US
-3323740160,3323748351,GB
+3323740160,3323742207,GB
+3323742208,3323746303,US
+3323746304,3323748351,GB
3323748352,3323805695,US
3323805696,3323805951,GB
3323805952,3324051455,US
@@ -142873,13 +145446,17 @@
3324279104,3324279167,ZA
3324279168,3324280695,US
3324280696,3324280703,ZW
-3324280704,3324354559,US
+3324280704,3324322815,US
+3324322816,3324323839,GB
+3324323840,3324354559,US
3324354560,3324362751,CA
3324362752,3324379135,US
3324379136,3324380159,CA
3324380160,3324380927,US
3324380928,3324381183,CA
-3324381184,3324470271,US
+3324381184,3324449535,US
+3324449536,3324449791,GB
+3324449792,3324470271,US
3324470272,3324471039,GB
3324471040,3324471295,US
3324471296,3324474367,GB
@@ -142936,7 +145513,9 @@
3324636160,3324637183,NZ
3324637184,3324638207,DE
3324638208,3324638719,IN
-3324638720,3324647679,US
+3324638720,3324638975,US
+3324638976,3324639231,DE
+3324639232,3324647679,US
3324647680,3324647935,CA
3324647936,3324660479,US
3324660480,3324660735,CA
@@ -143183,7 +145762,9 @@
3324814168,3324814223,CN
3324814224,3324814239,US
3324814240,3324814255,CN
-3324814256,3324814503,US
+3324814256,3324814367,US
+3324814368,3324814375,CN
+3324814376,3324814503,US
3324814504,3324814583,CN
3324814584,3324814735,US
3324814736,3324814751,CN
@@ -143219,7 +145800,9 @@
3324816760,3324816959,CN
3324816960,3324816983,US
3324816984,3324817023,CN
-3324817024,3324817079,US
+3324817024,3324817055,US
+3324817056,3324817063,CN
+3324817064,3324817079,US
3324817080,3324817287,CN
3324817288,3324817319,US
3324817320,3324817567,CN
@@ -143277,16 +145860,12 @@
3324822016,3324822527,CA
3324822528,3324824575,US
3324824576,3324824831,DE
-3324824832,3324843007,US
-3324843008,3324843799,AU
-3324843800,3324843801,US
-3324843802,3324844031,AU
-3324844032,3324867583,US
+3324824832,3324867583,US
3324867584,3324868607,KZ
3324868608,3324937087,US
3324937088,3324937095,BD
-3324937096,3324938159,US
-3324938160,3324938167,GB
+3324937096,3324938143,US
+3324938144,3324938167,GB
3324938168,3324938175,US
3324938176,3324938183,IN
3324938184,3324939735,US
@@ -143329,7 +145908,9 @@
3324954368,3324954431,EE
3324954432,3324954495,US
3324954496,3324954559,EE
-3324954560,3324955711,US
+3324954560,3324955391,US
+3324955392,3324955455,EE
+3324955456,3324955711,US
3324955712,3324955775,EE
3324955776,3324955903,US
3324955904,3324955967,EE
@@ -143379,7 +145960,7 @@
3325134336,3325136127,US
3325136128,3325136383,CA
3325136384,3325142015,US
-3325142016,3325142271,CR
+3325142016,3325142271,AR
3325142272,3325144831,US
3325144832,3325145087,CA
3325145088,3325169663,US
@@ -143540,7 +146121,9 @@
3325192664,3325192671,BR
3325192672,3325192767,CA
3325192768,3325192775,US
-3325192776,3325192983,CA
+3325192776,3325192935,CA
+3325192936,3325192943,DE
+3325192944,3325192983,CA
3325192984,3325192991,ES
3325192992,3325193039,CA
3325193040,3325193047,ES
@@ -143830,7 +146413,9 @@
3325198376,3325198415,CA
3325198416,3325198419,VE
3325198420,3325198423,US
-3325198424,3325198535,CA
+3325198424,3325198455,CA
+3325198456,3325198459,NL
+3325198460,3325198535,CA
3325198536,3325198543,US
3325198544,3325198559,CA
3325198560,3325198575,PA
@@ -143840,7 +146425,8 @@
3325198592,3325198619,CA
3325198620,3325198623,AR
3325198624,3325198627,ES
-3325198628,3325198643,CA
+3325198628,3325198631,PL
+3325198632,3325198643,CA
3325198644,3325198647,BD
3325198648,3325198695,CA
3325198696,3325198703,IL
@@ -143903,9 +146489,7 @@
3325200088,3325200091,ES
3325200092,3325200095,CA
3325200096,3325200111,BE
-3325200112,3325200127,CA
-3325200128,3325200191,BD
-3325200192,3325200239,CA
+3325200112,3325200239,CA
3325200240,3325200255,US
3325200256,3325200259,PE
3325200260,3325200279,CA
@@ -143945,8 +146529,7 @@
3325200828,3325200831,CO
3325200832,3325200863,BA
3325200864,3325200879,ES
-3325200880,3325200891,CA
-3325200892,3325200895,US
+3325200880,3325200895,CA
3325200896,3325200903,RO
3325200904,3325201011,CA
3325201012,3325201015,US
@@ -143987,8 +146570,8 @@
3325201664,3325201671,CO
3325201672,3325201679,CA
3325201680,3325201687,JO
-3325201688,3325201739,CA
-3325201740,3325201759,US
+3325201688,3325201743,CA
+3325201744,3325201759,US
3325201760,3325201763,SA
3325201764,3325201775,CA
3325201776,3325201779,PK
@@ -143998,21 +146581,20 @@
3325201812,3325201815,US
3325201816,3325201847,CA
3325201848,3325201851,BR
-3325201852,3325201855,ES
+3325201852,3325201855,CA
3325201856,3325201919,BR
3325201920,3325201935,CA
3325201936,3325201951,FR
3325201952,3325202015,CA
3325202016,3325202031,ES
-3325202032,3325202039,CA
-3325202040,3325202079,US
-3325202080,3325202199,CA
+3325202032,3325202079,US
+3325202080,3325202083,CA
+3325202084,3325202087,BR
+3325202088,3325202199,CA
3325202200,3325202203,US
3325202204,3325202211,CA
3325202212,3325202215,IN
-3325202216,3325202219,CA
-3325202220,3325202223,GB
-3325202224,3325202239,CA
+3325202216,3325202239,CA
3325202240,3325202255,US
3325202256,3325202271,CA
3325202272,3325202275,GB
@@ -144049,7 +146631,8 @@
3325206816,3325206819,CA
3325206820,3325206823,BR
3325206824,3325206831,CA
-3325206832,3325206839,US
+3325206832,3325206835,US
+3325206836,3325206839,CA
3325206840,3325206847,FR
3325206848,3325206863,MX
3325206864,3325206879,CA
@@ -144087,8 +146670,8 @@
3325207704,3325207735,CA
3325207736,3325207739,CL
3325207740,3325207775,CA
-3325207776,3325207783,US
-3325207784,3325207791,CA
+3325207776,3325207779,US
+3325207780,3325207791,CA
3325207792,3325207795,GB
3325207796,3325207807,CA
3325207808,3325207935,US
@@ -144120,14 +146703,11 @@
3325208544,3325208547,US
3325208548,3325208639,CA
3325208640,3325208643,EG
-3325208644,3325208647,CA
-3325208648,3325208651,HR
-3325208652,3325208747,CA
+3325208644,3325208747,CA
3325208748,3325208751,CZ
3325208752,3325208827,CA
3325208828,3325208831,EG
-3325208832,3325208835,CO
-3325208836,3325208943,CA
+3325208832,3325208943,CA
3325208944,3325208947,BR
3325208948,3325208999,CA
3325209000,3325209003,US
@@ -144148,9 +146728,7 @@
3325209184,3325209215,AR
3325209216,3325209231,CA
3325209232,3325209247,DE
-3325209248,3325209259,CA
-3325209260,3325209263,US
-3325209264,3325209327,CA
+3325209248,3325209327,CA
3325209328,3325209343,US
3325209344,3325209379,CA
3325209380,3325209383,CH
@@ -144168,9 +146746,7 @@
3325209552,3325209559,US
3325209560,3325209567,CA
3325209568,3325209575,US
-3325209576,3325209639,CA
-3325209640,3325209647,TR
-3325209648,3325209655,CA
+3325209576,3325209655,CA
3325209656,3325209663,CH
3325209664,3325209679,US
3325209680,3325209695,CA
@@ -144181,11 +146757,7 @@
3325209768,3325209775,US
3325209776,3325209779,CA
3325209780,3325209783,ID
-3325209784,3325209823,CA
-3325209824,3325209855,GB
-3325209856,3325209879,CA
-3325209880,3325209887,BD
-3325209888,3325209915,CA
+3325209784,3325209915,CA
3325209916,3325209919,FR
3325209920,3325209935,CA
3325209936,3325209939,FR
@@ -144220,10 +146792,9 @@
3325210432,3325210435,IN
3325210436,3325210439,CA
3325210440,3325210447,PA
-3325210448,3325210451,FR
+3325210448,3325210451,CA
3325210452,3325210455,ES
-3325210456,3325210511,CA
-3325210512,3325210519,MX
+3325210456,3325210519,CA
3325210520,3325210527,FR
3325210528,3325210575,CA
3325210576,3325210579,BR
@@ -144241,8 +146812,7 @@
3325210752,3325210755,CA
3325210756,3325210759,PH
3325210760,3325210767,BR
-3325210768,3325210771,AR
-3325210772,3325210775,CA
+3325210768,3325210775,CA
3325210776,3325210779,US
3325210780,3325210783,CA
3325210784,3325210787,MX
@@ -144256,9 +146826,11 @@
3325210864,3325210879,US
3325210880,3325210951,CA
3325210952,3325210955,IN
-3325210956,3325210959,VN
+3325210956,3325210959,CA
3325210960,3325210975,IN
-3325210976,3325211071,CA
+3325210976,3325210991,CA
+3325210992,3325210995,ES
+3325210996,3325211071,CA
3325211072,3325211087,BD
3325211088,3325211091,US
3325211092,3325211095,CA
@@ -144293,14 +146865,15 @@
3325212172,3325212175,IN
3325212176,3325212215,CA
3325212216,3325212223,HR
-3325212224,3325212295,CA
-3325212296,3325212303,IN
-3325212304,3325212495,CA
+3325212224,3325212407,CA
+3325212408,3325212411,US
+3325212412,3325212479,CA
+3325212480,3325212483,NL
+3325212484,3325212495,CA
3325212496,3325212511,FR
3325212512,3325212515,CY
-3325212516,3325212519,CA
-3325212520,3325212527,PK
-3325212528,3325212559,CA
+3325212516,3325212555,CA
+3325212556,3325212559,NL
3325212560,3325212575,BR
3325212576,3325212583,CA
3325212584,3325212587,HN
@@ -144308,8 +146881,7 @@
3325212592,3325212595,SI
3325212596,3325212611,CA
3325212612,3325212615,ES
-3325212616,3325212619,BD
-3325212620,3325212647,CA
+3325212616,3325212647,CA
3325212648,3325212655,US
3325212656,3325212719,CA
3325212720,3325212727,ID
@@ -144333,11 +146905,7 @@
3325213448,3325213451,BD
3325213452,3325213483,CA
3325213484,3325213487,VE
-3325213488,3325213535,CA
-3325213536,3325213543,TR
-3325213544,3325213551,CA
-3325213552,3325213555,ES
-3325213556,3325213559,CA
+3325213488,3325213559,CA
3325213560,3325213567,IN
3325213568,3325213575,CA
3325213576,3325213591,IN
@@ -144345,9 +146913,7 @@
3325213608,3325213615,US
3325213616,3325213631,CA
3325213632,3325213639,TR
-3325213640,3325213655,CA
-3325213656,3325213659,US
-3325213660,3325213679,CA
+3325213640,3325213679,CA
3325213680,3325213687,BR
3325213688,3325213695,US
3325213696,3325213711,CA
@@ -144385,7 +146951,9 @@
3325214584,3325214591,US
3325214592,3325214667,CA
3325214668,3325214671,US
-3325214672,3325214703,CA
+3325214672,3325214687,CA
+3325214688,3325214695,US
+3325214696,3325214703,CA
3325214704,3325214719,AU
3325214720,3325214735,CA
3325214736,3325214739,US
@@ -144395,9 +146963,7 @@
3325214816,3325214819,US
3325214820,3325214823,IN
3325214824,3325214831,BR
-3325214832,3325214999,CA
-3325215000,3325215007,BZ
-3325215008,3325215055,CA
+3325214832,3325215055,CA
3325215056,3325215059,IT
3325215060,3325215119,CA
3325215120,3325215127,IN
@@ -144415,9 +146981,7 @@
3325215280,3325215295,US
3325215296,3325215299,CA
3325215300,3325215303,IN
-3325215304,3325215319,CA
-3325215320,3325215327,BR
-3325215328,3325215335,CA
+3325215304,3325215335,CA
3325215336,3325215343,US
3325215344,3325215439,CA
3325215440,3325215447,LK
@@ -144433,8 +146997,8 @@
3325215612,3325215615,BR
3325215616,3325215655,CA
3325215656,3325215659,IL
-3325215660,3325215667,CA
-3325215668,3325215675,BR
+3325215660,3325215671,CA
+3325215672,3325215675,BR
3325215676,3325215731,CA
3325215732,3325215735,BR
3325215736,3325215743,CA
@@ -144445,7 +147009,7 @@
3325215808,3325215839,US
3325215840,3325215863,CA
3325215864,3325215871,BR
-3325215872,3325215903,US
+3325215872,3325215903,CA
3325215904,3325215911,DE
3325215912,3325215915,IN
3325215916,3325215919,GB
@@ -144472,9 +147036,7 @@
3325216144,3325216207,CA
3325216208,3325216215,JO
3325216216,3325216223,MU
-3325216224,3325216247,CA
-3325216248,3325216251,BR
-3325216252,3325216319,CA
+3325216224,3325216319,CA
3325216320,3325216327,US
3325216328,3325216359,CA
3325216360,3325216363,GB
@@ -144482,9 +147044,7 @@
3325216368,3325216383,US
3325216384,3325216399,CA
3325216400,3325216415,BR
-3325216416,3325216447,CA
-3325216448,3325216463,FR
-3325216464,3325216527,CA
+3325216416,3325216527,CA
3325216528,3325216531,US
3325216532,3325216815,CA
3325216816,3325216831,BR
@@ -144539,26 +147099,22 @@
3325217976,3325217979,MX
3325217980,3325217983,CA
3325217984,3325217987,US
-3325217988,3325218015,CA
-3325218016,3325218031,IN
-3325218032,3325218039,CA
+3325217988,3325218039,CA
3325218040,3325218047,US
3325218048,3325218131,CA
3325218132,3325218135,US
3325218136,3325218139,CA
-3325218140,3325218147,GB
+3325218140,3325218143,GB
+3325218144,3325218147,BR
3325218148,3325218159,CA
3325218160,3325218167,US
3325218168,3325218207,CA
3325218208,3325218239,US
3325218240,3325218251,CA
3325218252,3325218255,PL
-3325218256,3325218311,CA
-3325218312,3325218319,RU
-3325218320,3325218447,CA
+3325218256,3325218447,CA
3325218448,3325218455,AR
-3325218456,3325218463,MD
-3325218464,3325218479,CA
+3325218456,3325218479,CA
3325218480,3325218483,BR
3325218484,3325218487,CA
3325218488,3325218491,US
@@ -144616,19 +147172,18 @@
3325219792,3325219799,UY
3325219800,3325219807,CA
3325219808,3325219811,US
-3325219812,3325219815,PL
-3325219816,3325219839,CA
+3325219812,3325219839,CA
3325219840,3325219871,TN
3325219872,3325219875,BR
3325219876,3325219887,CA
3325219888,3325219903,MX
-3325219904,3325219931,US
+3325219904,3325219919,CA
+3325219920,3325219931,US
3325219932,3325219935,CA
3325219936,3325219951,US
3325219952,3325219983,CA
3325219984,3325219999,US
-3325220000,3325220027,CA
-3325220028,3325220031,US
+3325220000,3325220031,CA
3325220032,3325220039,BR
3325220040,3325220043,US
3325220044,3325220047,BR
@@ -144648,9 +147203,7 @@
3325220544,3325220559,US
3325220560,3325220591,CA
3325220592,3325220595,BE
-3325220596,3325220607,CA
-3325220608,3325220623,US
-3325220624,3325220635,CA
+3325220596,3325220635,CA
3325220636,3325220636,US
3325220637,3325220647,CA
3325220648,3325220651,MX
@@ -144703,9 +147256,7 @@
3325221788,3325221791,US
3325221792,3325221799,CA
3325221800,3325221807,BR
-3325221808,3325221887,CA
-3325221888,3325221891,US
-3325221892,3325221903,CA
+3325221808,3325221903,CA
3325221904,3325221907,US
3325221908,3325221911,CA
3325221912,3325221915,ES
@@ -144733,8 +147284,7 @@
3325222612,3325222615,CA
3325222616,3325222623,US
3325222624,3325222627,DE
-3325222628,3325222643,CA
-3325222644,3325222647,VN
+3325222628,3325222647,CA
3325222648,3325222651,IL
3325222652,3325222655,US
3325222656,3325222667,CA
@@ -144747,8 +147297,8 @@
3325222720,3325222735,AU
3325222736,3325222751,US
3325222752,3325222783,MX
-3325222784,3325222839,CA
-3325222840,3325222847,US
+3325222784,3325222843,CA
+3325222844,3325222847,US
3325222848,3325222851,CA
3325222852,3325222855,BZ
3325222856,3325222879,CA
@@ -144790,13 +147340,9 @@
3325223352,3325223355,MX
3325223356,3325223375,CA
3325223376,3325223391,US
-3325223392,3325223399,CA
-3325223400,3325223407,IE
-3325223408,3325223427,CA
+3325223392,3325223427,CA
3325223428,3325223431,US
-3325223432,3325223435,CA
-3325223436,3325223439,MX
-3325223440,3325223463,CA
+3325223432,3325223463,CA
3325223464,3325223471,US
3325223472,3325223535,CA
3325223536,3325223551,AT
@@ -144820,12 +147366,10 @@
3325223856,3325223871,AU
3325223872,3325223907,CA
3325223908,3325223911,VE
-3325223912,3325223919,CA
-3325223920,3325223935,BR
-3325223936,3325223963,CA
+3325223912,3325223963,CA
3325223964,3325223967,IL
-3325223968,3325223991,US
-3325223992,3325224031,CA
+3325223968,3325223983,US
+3325223984,3325224031,CA
3325224032,3325224039,US
3325224040,3325224043,CO
3325224044,3325224047,CA
@@ -144836,8 +147380,7 @@
3325224072,3325224079,HR
3325224080,3325224087,CA
3325224088,3325224091,BZ
-3325224092,3325224095,UA
-3325224096,3325224451,CA
+3325224092,3325224451,CA
3325224452,3325224455,SI
3325224456,3325224479,CA
3325224480,3325224511,US
@@ -144879,9 +147422,7 @@
3325225088,3325225095,US
3325225096,3325225203,CA
3325225204,3325225207,US
-3325225208,3325225247,CA
-3325225248,3325225263,TR
-3325225264,3325225287,CA
+3325225208,3325225287,CA
3325225288,3325225291,PK
3325225292,3325225295,CA
3325225296,3325225299,US
@@ -144900,8 +147441,8 @@
3325225484,3325225487,CL
3325225488,3325225495,CA
3325225496,3325225499,MX
-3325225500,3325225631,CA
-3325225632,3325225647,US
+3325225500,3325225615,CA
+3325225616,3325225647,US
3325225648,3325225671,CA
3325225672,3325225675,US
3325225676,3325225727,CA
@@ -144916,9 +147457,7 @@
3325225800,3325225807,IN
3325225808,3325225819,CA
3325225820,3325225823,US
-3325225824,3325225859,CA
-3325225860,3325225863,PK
-3325225864,3325225899,CA
+3325225824,3325225899,CA
3325225900,3325225911,CY
3325225912,3325225915,CA
3325225916,3325225919,BR
@@ -144933,7 +147472,7 @@
3325226004,3325226007,MX
3325226008,3325226023,CA
3325226024,3325226027,FR
-3325226028,3325226031,BR
+3325226028,3325226031,CA
3325226032,3325226039,HK
3325226040,3325226071,CA
3325226072,3325226075,BR
@@ -144991,14 +147530,13 @@
3325227488,3325227503,RO
3325227504,3325227519,CA
3325227520,3325227527,VG
-3325227528,3325227531,PE
-3325227532,3325227535,CA
+3325227528,3325227535,CA
3325227536,3325227539,PK
3325227540,3325227551,CA
3325227552,3325227555,BR
3325227556,3325227567,CA
3325227568,3325227571,IN
-3325227572,3325227575,KE
+3325227572,3325227575,CA
3325227576,3325227583,US
3325227584,3325227599,CA
3325227600,3325227615,CY
@@ -145010,8 +147548,7 @@
3325227804,3325227871,CA
3325227872,3325227875,BR
3325227876,3325227879,US
-3325227880,3325228063,CA
-3325228064,3325228079,US
+3325227880,3325228079,CA
3325228080,3325228087,NZ
3325228088,3325228159,US
3325228160,3325228175,AE
@@ -145028,12 +147565,13 @@
3325228676,3325228683,US
3325228684,3325228687,CA
3325228688,3325228691,BR
-3325228692,3325228735,CA
+3325228692,3325228727,CA
+3325228728,3325228731,PK
+3325228732,3325228735,CA
3325228736,3325228739,FR
3325228740,3325228807,CA
3325228808,3325228815,PL
-3325228816,3325228823,CA
-3325228824,3325228831,BR
+3325228816,3325228831,CA
3325228832,3325228863,US
3325228864,3325228871,CA
3325228872,3325228875,IN
@@ -145051,9 +147589,7 @@
3325229084,3325229087,US
3325229088,3325229175,CA
3325229176,3325229183,IN
-3325229184,3325229255,CA
-3325229256,3325229263,BR
-3325229264,3325229279,CA
+3325229184,3325229279,CA
3325229280,3325229295,US
3325229296,3325229311,FR
3325229312,3325229327,CA
@@ -145068,8 +147604,8 @@
3325229412,3325229415,RU
3325229416,3325229459,CA
3325229460,3325229463,BR
-3325229464,3325229487,US
-3325229488,3325229499,CA
+3325229464,3325229471,US
+3325229472,3325229499,CA
3325229500,3325229503,IN
3325229504,3325229511,CA
3325229512,3325229515,IN
@@ -145092,11 +147628,11 @@
3325229816,3325229823,US
3325229824,3325229831,CA
3325229832,3325229835,US
-3325229836,3325229855,CA
+3325229836,3325229847,CA
+3325229848,3325229851,BR
+3325229852,3325229855,CA
3325229856,3325229887,US
-3325229888,3325229919,CA
-3325229920,3325229935,FR
-3325229936,3325229955,CA
+3325229888,3325229955,CA
3325229956,3325229959,US
3325229960,3325229975,CA
3325229976,3325229979,IN
@@ -145104,9 +147640,7 @@
3325229992,3325229999,IN
3325230000,3325230047,CA
3325230048,3325230055,AE
-3325230056,3325230059,CA
-3325230060,3325230063,US
-3325230064,3325230079,CA
+3325230056,3325230079,CA
3325230080,3325230095,US
3325230096,3325230103,CA
3325230104,3325230111,US
@@ -145174,11 +147708,7 @@
3325307904,3325308927,GB
3325308928,3325313023,CA
3325313024,3325329407,US
-3325329408,3325337599,CA
-3325337600,3325338111,GB
-3325338112,3325340159,CA
-3325340160,3325340671,US
-3325340672,3325348351,CA
+3325329408,3325348351,CA
3325348352,3325348607,US
3325348608,3325359103,CA
3325359104,3325359615,US
@@ -145261,7 +147791,9 @@
3325921320,3325921323,CA
3325921324,3325921439,US
3325921440,3325921447,FI
-3325921448,3325922191,US
+3325921448,3325922051,US
+3325922052,3325922055,MX
+3325922056,3325922191,US
3325922192,3325922195,BR
3325922196,3325922503,US
3325922504,3325922511,FR
@@ -145325,8 +147857,8 @@
3326526464,3326526719,CA
3326526720,3326613503,US
3326613504,3326615551,CA
-3326615552,3326619647,US
-3326619648,3326623743,CA
+3326615552,3326621695,US
+3326621696,3326623743,CA
3326623744,3326631935,US
3326631936,3326632239,CA
3326632240,3326632247,RO
@@ -145379,13 +147911,18 @@
3327426560,3327459327,CA
3327459328,3327723519,US
3327723520,3327725311,CA
-3327725312,3327788543,US
+3327725312,3327751679,US
+3327751680,3327751935,DE
+3327751936,3327752191,CA
+3327752192,3327788543,US
3327788544,3327789055,CA
3327789056,3327806463,US
3327806464,3327811583,CA
3327811584,3327885311,US
3327885312,3327918079,CA
-3327918080,3328028671,US
+3327918080,3327995903,US
+3327995904,3327996927,CW
+3327996928,3328028671,US
3328028672,3328030719,CW
3328030720,3328180479,US
3328180480,3328181247,CA
@@ -145466,7 +148003,9 @@
3328550324,3328550327,GB
3328550328,3328551031,US
3328551032,3328551039,GB
-3328551040,3328551231,US
+3328551040,3328551103,US
+3328551104,3328551111,MX
+3328551112,3328551231,US
3328551232,3328551239,DO
3328551240,3328551319,US
3328551320,3328551327,AW
@@ -145508,9 +148047,9 @@
3328584576,3328584591,GB
3328584592,3328617983,US
3328617984,3328618239,CA
-3328618240,3328629503,US
-3328629504,3328629759,GB
-3328629760,3328630015,US
+3328618240,3328629631,US
+3328629632,3328629695,GB
+3328629696,3328630015,US
3328630016,3328630271,CA
3328630272,3328630783,US
3328630784,3328631807,CA
@@ -145537,7 +148076,9 @@
3328811272,3328811279,CN
3328811280,3328811295,US
3328811296,3328811303,CN
-3328811304,3328811615,US
+3328811304,3328811407,US
+3328811408,3328811415,CN
+3328811416,3328811615,US
3328811616,3328811647,CN
3328811648,3328812311,US
3328812312,3328812319,CN
@@ -145667,7 +148208,9 @@
3331098368,3331102463,US
3331102464,3331102719,CA
3331102720,3331129599,US
-3331129600,3331133183,CZ
+3331129600,3331129855,CZ
+3331129856,3331130111,US
+3331130112,3331133183,CZ
3331133184,3331133439,US
3331133440,3331133695,CZ
3331133696,3331133951,US
@@ -145678,14 +148221,18 @@
3331137280,3331137791,CZ
3331137792,3331138047,US
3331138048,3331139327,CZ
-3331139328,3331139583,US
-3331139584,3331140095,CZ
+3331139328,3331139839,US
+3331139840,3331140095,CZ
3331140096,3331140351,US
-3331140352,3331142143,CZ
+3331140352,3331141119,CZ
+3331141120,3331141375,US
+3331141376,3331142143,CZ
3331142144,3331142911,US
3331142912,3331147007,CZ
3331147008,3331147263,US
-3331147264,3331149055,CZ
+3331147264,3331147519,CZ
+3331147520,3331147775,US
+3331147776,3331149055,CZ
3331149056,3331149311,US
3331149312,3331149823,CZ
3331149824,3331150335,US
@@ -145698,11 +148245,11 @@
3331153664,3331154175,CZ
3331154176,3331154687,US
3331154688,3331155199,CZ
-3331155200,3331155455,US
-3331155456,3331157759,CZ
+3331155200,3331155711,US
+3331155712,3331157759,CZ
3331157760,3331158271,US
-3331158272,3331158783,CZ
-3331158784,3331159039,US
+3331158272,3331158527,CZ
+3331158528,3331159039,US
3331159040,3331161855,CZ
3331161856,3331162111,US
3331162112,3331162367,CZ
@@ -145715,7 +148262,9 @@
3331166976,3331167231,US
3331167232,3331167743,CZ
3331167744,3331167999,US
-3331168000,3331169279,CZ
+3331168000,3331168511,CZ
+3331168512,3331168767,US
+3331168768,3331169279,CZ
3331169280,3331169791,US
3331169792,3331170559,CZ
3331170560,3331170815,US
@@ -145737,7 +148286,9 @@
3331180032,3331180543,US
3331180544,3331181823,CZ
3331181824,3331182079,US
-3331182080,3331185407,CZ
+3331182080,3331183615,CZ
+3331183616,3331183871,US
+3331183872,3331185407,CZ
3331185408,3331185663,US
3331185664,3331187199,CZ
3331187200,3331187711,US
@@ -145794,15 +148345,17 @@
3331371712,3331371775,EE
3331371776,3331372287,US
3331372288,3331372319,FR
-3331372320,3331526399,US
+3331372320,3331523071,US
+3331523072,3331523583,GB
+3331523584,3331524095,US
+3331524096,3331524607,SG
+3331524608,3331526399,US
3331526400,3331526655,FR
3331526656,3331527167,US
3331527168,3331527679,GB
3331527680,3331529023,US
3331529024,3331529031,IN
-3331529032,3331529599,US
-3331529600,3331529727,EE
-3331529728,3331530215,US
+3331529032,3331530215,US
3331530216,3331530223,IN
3331530224,3331563519,US
3331563520,3331563775,IN
@@ -145838,13 +148391,18 @@
3331989504,3332002071,US
3332002072,3332002079,FI
3332002080,3332002111,CA
-3332002112,3332002207,US
+3332002112,3332002143,US
+3332002144,3332002159,CA
+3332002160,3332002207,US
3332002208,3332002223,CA
-3332002224,3332002303,US
-3332002304,3332002367,CA
-3332002368,3332002495,US
+3332002224,3332002255,US
+3332002256,3332002271,CA
+3332002272,3332002287,US
+3332002288,3332002431,CA
+3332002432,3332002495,US
3332002496,3332002527,GB
-3332002528,3332003839,US
+3332002528,3332003711,US
+3332003712,3332003839,CA
3332003840,3332004095,ID
3332004096,3332004351,SC
3332004352,3332004671,CA
@@ -145971,7 +148529,9 @@
3333018112,3333023231,CA
3333023232,3333025279,US
3333025280,3333029631,CA
-3333029632,3333383167,US
+3333029632,3333373951,US
+3333373952,3333375999,IN
+3333376000,3333383167,US
3333383168,3333384191,CN
3333384192,3333385983,US
3333385984,3333386239,JP
@@ -145981,11 +148541,9 @@
3333396674,3333396674,DE
3333396675,3333427967,US
3333427968,3333428223,GB
-3333428224,3333435647,US
-3333435648,3333435903,HK
-3333435904,3333444095,US
-3333444096,3333444351,GB
-3333444352,3333444607,NL
+3333428224,3333444095,US
+3333444096,3333444383,GB
+3333444384,3333444607,NL
3333444608,3333444863,SG
3333444864,3333445119,JP
3333445120,3333453823,US
@@ -146012,9 +148570,7 @@
3333519616,3333519871,HK
3333519872,3333520639,US
3333520640,3333520895,DE
-3333520896,3333566463,US
-3333566464,3333568511,GB
-3333568512,3333583871,US
+3333520896,3333583871,US
3333583872,3333584895,CA
3333584896,3333593855,US
3333593856,3333594111,CA
@@ -146024,15 +148580,16 @@
3333603330,3333603583,GB
3333603584,3333609983,US
3333609984,3333610239,SG
-3333610240,3333621503,US
+3333610240,3333614591,US
+3333614592,3333614847,GB
+3333614848,3333615103,SG
+3333615104,3333621503,US
3333621504,3333621759,CA
3333621760,3333624319,US
3333624320,3333624575,CA
3333624576,3333675775,US
3333675776,3333676031,CA
-3333676032,3333677311,US
-3333677312,3333677567,HK
-3333677568,3333701887,US
+3333676032,3333701887,US
3333701888,3333702143,GB
3333702144,3333702399,US
3333702400,3333702655,CH
@@ -146059,7 +148616,9 @@
3333829632,3333830143,IN
3333830144,3333859839,US
3333859840,3333860095,BM
-3333860096,3333939455,US
+3333860096,3333871103,US
+3333871104,3333871359,CA
+3333871360,3333939455,US
3333939456,3333939711,CA
3333939712,3333947391,US
3333947392,3333949439,IN
@@ -146090,8 +148649,8 @@
3335004592,3335004655,US
3335004656,3335004799,CN
3335004800,3335004863,US
-3335004864,3335005055,CN
-3335005056,3335005183,US
+3335004864,3335005119,CN
+3335005120,3335005183,US
3335005184,3335005247,CN
3335005248,3335005663,US
3335005664,3335005695,CN
@@ -146112,10 +148671,10 @@
3335008928,3335009023,US
3335009024,3335009039,CN
3335009040,3335009055,US
-3335009056,3335009071,CN
-3335009072,3335009087,US
-3335009088,3335009167,CN
-3335009168,3335009279,US
+3335009056,3335009167,CN
+3335009168,3335009183,US
+3335009184,3335009215,CN
+3335009216,3335009279,US
3335009280,3335009407,CN
3335009408,3335009599,US
3335009600,3335009663,CN
@@ -146141,11 +148700,7 @@
3335277312,3335277567,FR
3335277568,3335278079,US
3335278080,3335278335,JP
-3335278336,3335349343,US
-3335349344,3335349367,FR
-3335349368,3335349368,US
-3335349369,3335349375,FR
-3335349376,3335429631,US
+3335278336,3335429631,US
3335429632,3335430143,CA
3335430144,3335439615,US
3335439616,3335439871,CH
@@ -146155,17 +148710,16 @@
3335451904,3335452159,CA
3335452160,3335456767,US
3335458816,3335460863,BM
-3335460864,3335524351,US
-3335524352,3335524607,AU
-3335524608,3335526399,US
+3335460864,3335475199,US
+3335475200,3335475455,DE
+3335475456,3335526399,US
3335526400,3335526911,BR
-3335526912,3335527167,US
-3335527168,3335527235,DE
+3335526912,3335527235,DE
3335527236,3335527237,US
3335527238,3335527423,DE
-3335527424,3335527424,US
-3335527425,3335527935,IT
-3335527936,3335559680,US
+3335527424,3335546879,US
+3335546880,3335547135,KR
+3335547136,3335559680,US
3335559681,3335559935,IE
3335559936,3335564151,US
3335564152,3335564155,TH
@@ -146193,7 +148747,9 @@
3337030656,3337030911,GB
3337030912,3337044479,US
3337044480,3337044735,CA
-3337044736,3337050111,US
+3337044736,3337044991,US
+3337044992,3337045247,CA
+3337045248,3337050111,US
3337050112,3337050367,CA
3337050368,3337051903,US
3337051904,3337052159,CA
@@ -146206,9 +148762,9 @@
3337107200,3337107455,AU
3337107456,3337107711,JP
3337107712,3337107967,GB
-3337107968,3337198503,US
-3337198504,3337198511,CA
-3337198512,3337198703,US
+3337107968,3337198335,US
+3337198336,3337198591,CA
+3337198592,3337198703,US
3337198704,3337198707,CA
3337198708,3337201727,US
3337201728,3337201735,CA
@@ -146241,9 +148797,18 @@
3337650688,3337650943,US
3337650944,3337651199,HK
3337651200,3337652223,SG
-3337652224,3337654271,US
-3337654272,3337658367,AU
-3337658368,3337682943,CH
+3337652224,3337652991,CH
+3337652992,3337653247,GB
+3337653248,3337653503,CH
+3337653504,3337653759,JP
+3337653760,3337654015,CH
+3337654016,3337654271,HK
+3337654272,3337654527,SG
+3337654528,3337654783,CH
+3337654784,3337655295,AU
+3337655296,3337656063,CH
+3337656064,3337656319,US
+3337656320,3337682943,CH
3337682944,3337736959,US
3337736960,3337737215,SG
3337737216,3337882111,US
@@ -146266,71 +148831,68 @@
3337959936,3337960447,US
3337960448,3337961471,CA
3337961472,3337961487,US
-3337961488,3337961495,CA
-3337961496,3337961511,US
+3337961488,3337961503,CA
+3337961504,3337961511,US
3337961512,3337961519,CA
3337961520,3337961527,RO
3337961528,3337961535,US
-3337961536,3337961679,CA
-3337961680,3337961999,US
+3337961536,3337961687,CA
+3337961688,3337961999,US
3337962000,3337962007,CA
3337962008,3337962015,US
3337962016,3337962047,IN
-3337962048,3337962119,US
-3337962120,3337962143,CA
+3337962048,3337962111,US
+3337962112,3337962143,CA
3337962144,3337962151,US
3337962152,3337962167,CA
3337962168,3337962175,US
3337962176,3337962239,CA
3337962240,3337962319,US
-3337962320,3337962327,CA
-3337962328,3337962431,US
+3337962320,3337962335,CA
+3337962336,3337962431,US
3337962432,3337962511,CA
3337962512,3337962519,US
3337962520,3337962527,CN
-3337962528,3337962559,CA
-3337962560,3337962575,US
-3337962576,3337962607,CA
+3337962528,3337962607,CA
3337962608,3337962807,US
-3337962808,3337962815,CA
-3337962816,3337962943,US
+3337962808,3337962831,CA
+3337962832,3337962863,US
+3337962864,3337962879,CA
+3337962880,3337962943,US
3337962944,3337962951,CA
3337962952,3337962959,NO
3337962960,3337962967,CA
3337962968,3337962975,US
3337962976,3337962991,CA
-3337962992,3337963039,SC
-3337963040,3337963055,CA
-3337963056,3337963071,SC
+3337962992,3337963007,SC
+3337963008,3337963071,CA
3337963072,3337963167,US
3337963168,3337963271,DE
3337963272,3337963295,CA
3337963296,3337963311,US
3337963312,3337963335,CA
3337963336,3337963343,CN
-3337963344,3337963359,US
-3337963360,3337963375,CA
+3337963344,3337963375,CA
3337963376,3337963383,US
3337963384,3337963391,CA
-3337963392,3337963407,US
-3337963408,3337963415,CA
-3337963416,3337963431,US
+3337963392,3337963399,US
+3337963400,3337963407,CN
+3337963408,3337963423,CA
+3337963424,3337963431,US
3337963432,3337963455,CA
3337963456,3337963487,GB
3337963488,3337963495,US
-3337963496,3337963519,CA
-3337963520,3337963615,US
+3337963496,3337963535,CA
+3337963536,3337963551,US
+3337963552,3337963583,CA
+3337963584,3337963615,US
3337963616,3337963623,CA
3337963624,3337963631,US
3337963632,3337963647,CA
-3337963648,3337963743,US
-3337963744,3337963775,CA
-3337963776,3337963783,US
-3337963784,3337963799,CA
-3337963800,3337963807,US
-3337963808,3337963839,CA
-3337963840,3337963855,US
-3337963856,3337963871,CA
+3337963648,3337963679,US
+3337963680,3337963711,CA
+3337963712,3337963743,US
+3337963744,3337963871,CA
3337963872,3337963879,US
3337963880,3337963903,CA
3337963904,3337963911,MA
@@ -146343,8 +148905,7 @@
3337964320,3337964351,CA
3337964352,3337964415,US
3337964416,3337964543,CL
-3337964544,3337964671,US
-3337964672,3337964735,CA
+3337964544,3337964735,CA
3337964736,3337964751,US
3337964752,3337964767,CA
3337964768,3337969663,US
@@ -146366,7 +148927,9 @@
3338067712,3338067967,SG
3338067968,3338069247,US
3338069248,3338069759,BB
-3338069760,3338208511,US
+3338069760,3338207487,US
+3338207488,3338207743,CA
+3338207744,3338208511,US
3338208512,3338208767,CA
3338208768,3338211583,US
3338211584,3338211839,CA
@@ -146380,8 +148943,8 @@
3338231808,3338232063,CA
3338232064,3338235647,US
3338235648,3338235903,CA
-3338235904,3338241791,US
-3338241792,3338242047,CA
+3338235904,3338241535,US
+3338241536,3338242047,CA
3338242048,3338246655,US
3338246656,3338247167,CA
3338247168,3338247423,US
@@ -146392,7 +148955,9 @@
3338248960,3338249215,CA
3338249216,3338249727,US
3338249728,3338249983,CA
-3338249984,3338255615,US
+3338249984,3338252543,US
+3338252544,3338252799,CA
+3338252800,3338255615,US
3338255616,3338255871,CA
3338255872,3338257407,US
3338257408,3338257663,CA
@@ -146402,7 +148967,9 @@
3338260736,3338260991,CA
3338260992,3338262527,US
3338262528,3338262783,CA
-3338262784,3338269183,US
+3338262784,3338266111,US
+3338266112,3338266367,CA
+3338266368,3338269183,US
3338269184,3338269439,CA
3338269440,3338269951,US
3338269952,3338270207,CA
@@ -146505,16 +149072,12 @@
3339184128,3339186175,CA
3339186176,3339261951,US
3339261952,3339263999,HK
-3339264000,3339270399,US
-3339270400,3339270655,CA
+3339264000,3339270143,US
+3339270144,3339270655,CA
3339271168,3339327999,US
3339328512,3339328831,CA
3339328832,3339328895,US
-3339328896,3339328943,CA
-3339328944,3339328959,AE
-3339328960,3339329103,CA
-3339329104,3339329119,US
-3339329120,3339329279,CA
+3339328896,3339329279,CA
3339329280,3339329407,US
3339329408,3339329535,CA
3339329536,3339342847,US
@@ -146531,7 +149094,8 @@
3339722704,3339722719,CA
3339722720,3339728895,US
3339728896,3339729407,AG
-3339729408,3339729919,DM
+3339729408,3339729663,DM
+3339729664,3339729919,AG
3339729920,3339743231,US
3339743232,3339744255,CA
3339744256,3339747327,US
@@ -146552,13 +149116,9 @@
3339934720,3339935743,CA
3339935744,3339937279,US
3339937280,3339937535,MX
-3339937536,3339937816,US
-3339937817,3339937879,CN
-3339937880,3339939130,US
-3339939131,3339939191,BR
-3339939192,3339939534,US
-3339939535,3339939582,TR
-3339939583,3339952127,US
+3339937536,3339937791,US
+3339937792,3339939839,CA
+3339939840,3339952127,US
3339952128,3339956223,CA
3339956224,3339962559,US
3339962560,3339962591,GB
@@ -146616,14 +149176,14 @@
3340677120,3340679167,CA
3340679168,3340694783,US
3340694784,3340695039,CA
-3340695040,3340851455,US
+3340695040,3340846119,US
+3340846120,3340846127,GB
+3340846128,3340851455,US
3340851456,3340851711,CA
3340851712,3340852735,US
3340852736,3340853247,CA
3340853248,3340857343,US
-3340857344,3340858015,CA
-3340858016,3340858047,US
-3340858048,3340858367,CA
+3340857344,3340858367,CA
3340858368,3340859135,US
3340859136,3340859391,HK
3340859392,3340896255,US
@@ -146636,11 +149196,15 @@
3340911360,3340915455,CA
3340915456,3340919295,US
3340919296,3340921343,CA
-3340921344,3340925807,US
+3340921344,3340925159,US
+3340925160,3340925167,FR
+3340925168,3340925807,US
3340925808,3340925815,RU
3340925816,3340926151,US
3340926152,3340926159,CN
-3340926160,3341057023,US
+3340926160,3340926167,US
+3340926168,3340926175,AR
+3340926176,3341057023,US
3341057024,3341058047,CA
3341058048,3341180927,US
3341180928,3341182975,CA
@@ -146655,7 +149219,13 @@
3341216256,3341216767,JP
3341216768,3341217791,CA
3341217792,3341287423,US
-3341287424,3341408511,CZ
+3341287424,3341338623,CZ
+3341338624,3341339647,MY
+3341339648,3341339903,CZ
+3341339904,3341340159,MY
+3341340160,3341340415,CZ
+3341340416,3341340671,MY
+3341340672,3341408511,CZ
3341408512,3341408767,US
3341408768,3341418495,CZ
3341418496,3341445119,US
@@ -146684,10 +149254,7 @@
3341533952,3341534207,CA
3341534720,3341535015,US
3341535016,3341535023,MX
-3341535024,3341535087,US
-3341535088,3341535091,GH
-3341535092,3341535095,TH
-3341535096,3341535167,US
+3341535024,3341535167,US
3341535168,3341535171,BD
3341535172,3341535231,US
3341535232,3341535487,GB
@@ -146707,11 +149274,7 @@
3341645056,3341645311,CA
3341645312,3341709311,US
3341709312,3341710335,CA
-3341710336,3341727743,US
-3341727744,3341728767,AU
-3341728768,3341743103,US
-3341743104,3341743359,GB
-3341743360,3341758463,US
+3341710336,3341758463,US
3341758464,3341759487,CA
3341759488,3341760511,BB
3341760512,3341762559,CA
@@ -146745,12 +149308,29 @@
3341870592,3341871103,GB
3341871104,3341873407,US
3341873408,3341873663,CA
-3341873664,3341881087,US
-3341881088,3341881343,SG
+3341873664,3341877247,US
+3341877248,3341879295,GB
+3341879296,3341881343,SG
3341881344,3341891071,US
3341891072,3341891327,AU
3341891328,3342139391,US
-3342139392,3342204927,CH
+3342139392,3342143487,CH
+3342143488,3342143999,US
+3342144000,3342144511,CH
+3342144512,3342144767,JP
+3342144768,3342145023,GB
+3342145024,3342145279,AU
+3342145280,3342146303,CH
+3342146304,3342146559,SG
+3342146560,3342158335,CH
+3342158336,3342158591,US
+3342158592,3342186239,CH
+3342186240,3342186495,US
+3342186496,3342186751,CH
+3342186752,3342187007,US
+3342187008,3342189311,CH
+3342189312,3342189567,US
+3342189568,3342204927,CH
3342204928,3342470399,US
3342470400,3342470655,CA
3342471168,3342487551,US
@@ -146773,7 +149353,9 @@
3342516992,3342517247,CA
3342517248,3342526463,US
3342526464,3342528511,CA
-3342528512,3342552063,US
+3342528512,3342530559,US
+3342530560,3342531583,CA
+3342531584,3342552063,US
3342552064,3342553087,CA
3342553088,3342565375,US
3342565376,3342567423,CA
@@ -146807,23 +149389,23 @@
3342879488,3342879551,NL
3342879552,3342879567,US
3342879568,3342879743,NL
-3342879744,3342974975,US
+3342879744,3342958591,US
+3342958592,3342958847,BE
+3342958848,3342974975,US
3342974976,3342977023,CN
3342977024,3342979071,US
-3342979072,3342979327,ID
-3342979328,3342979583,US
-3342979584,3342979587,SG
+3342979072,3342979587,SG
3342979588,3342979591,US
-3342979592,3342979839,SG
-3342979840,3343013887,US
+3342979592,3342981119,SG
+3342981120,3343013887,US
3343013888,3343015935,CA
3343015936,3343020031,US
3343020032,3343021055,CA
-3343021056,3343055871,US
+3343021056,3343046959,US
+3343046960,3343046963,BE
+3343046964,3343055871,US
3343055872,3343056895,CA
-3343056896,3343090582,US
-3343090583,3343090583,MX
-3343090584,3343153151,US
+3343056896,3343153151,US
3343153152,3343154943,CA
3343154944,3343167487,US
3343167488,3343169535,CA
@@ -146849,7 +149431,9 @@
3343378536,3343378543,GB
3343378544,3343378559,US
3343378560,3343378583,GB
-3343378584,3343378759,US
+3343378584,3343378607,US
+3343378608,3343378615,GB
+3343378616,3343378759,US
3343378760,3343378767,CL
3343378768,3343378775,US
3343378776,3343378783,RU
@@ -146862,7 +149446,9 @@
3343378960,3343378967,RU
3343378968,3343379079,US
3343379080,3343379087,SE
-3343379088,3343379183,US
+3343379088,3343379143,US
+3343379144,3343379151,GB
+3343379152,3343379183,US
3343379184,3343379199,EE
3343379200,3343379399,US
3343379400,3343379407,CO
@@ -146876,25 +149462,21 @@
3343465472,3343466495,JM
3343466496,3343563521,US
3343563522,3343563522,SG
-3343563523,3343649791,US
-3343649792,3343650405,VI
-3343650406,3343650406,US
-3343650407,3343650815,VI
+3343563523,3343650303,US
+3343650304,3343650815,VI
3343650816,3343653535,US
3343653536,3343653551,CA
3343653552,3343653631,US
3343653632,3343653695,CA
-3343653696,3343656447,US
-3343656448,3343656959,VI
-3343656960,3343746047,US
-3343746048,3343747071,VI
-3343747072,3343763711,US
-3343763712,3343763729,CA
-3343763730,3343763730,US
-3343763731,3343763967,CA
-3343763968,3343764735,US
-3343764736,3343764991,VI
-3343764992,3343858687,US
+3343653696,3343665151,US
+3343665152,3343665663,CA
+3343665664,3343746047,US
+3343746048,3343746303,VI
+3343746304,3343746431,US
+3343746432,3343747071,VI
+3343747072,3343763903,US
+3343763904,3343763935,CA
+3343763936,3343858687,US
3343858688,3343859199,VG
3343859200,3343923135,US
3343923136,3343923199,HK
@@ -146944,7 +149526,9 @@
3344379904,3344380927,CA
3344380928,3344381167,US
3344381168,3344381175,NZ
-3344381176,3344406527,US
+3344381176,3344381263,US
+3344381264,3344381271,MX
+3344381272,3344406527,US
3344406528,3344408575,CA
3344408576,3344411135,US
3344411136,3344411647,BM
@@ -146977,10 +149561,8 @@
3344674208,3344674223,GB
3344674224,3344676863,US
3344676864,3344677247,CA
-3344677248,3344677263,US
-3344677264,3344677279,CA
-3344677280,3344677295,US
-3344677296,3344677407,CA
+3344677248,3344677311,US
+3344677312,3344677407,CA
3344677408,3344677423,US
3344677424,3344678911,CA
3344678912,3344680959,PA
@@ -147018,18 +149600,10 @@
3345327104,3345328127,CA
3345328128,3345332287,US
3345332288,3345332295,BR
-3345332296,3345332431,US
-3345332432,3345332435,AE
-3345332436,3345332495,US
+3345332296,3345332495,US
3345332496,3345332503,CA
3345332504,3345332511,CN
-3345332512,3345332539,US
-3345332540,3345332543,BR
-3345332544,3345332587,US
-3345332588,3345332591,IN
-3345332592,3345332603,US
-3345332604,3345332607,BD
-3345332608,3345332659,US
+3345332512,3345332659,US
3345332660,3345332663,VN
3345332664,3345332831,US
3345332832,3345332863,ID
@@ -147054,7 +149628,9 @@
3345398784,3345399807,BS
3345399808,3345401855,PR
3345401856,3345403903,CA
-3345403904,3345408534,US
+3345403904,3345408496,US
+3345408497,3345408497,GB
+3345408498,3345408534,US
3345408535,3345408538,AU
3345408539,3345408581,US
3345408582,3345408585,GB
@@ -147108,7 +149684,9 @@
3345448448,3345448959,BE
3345448960,3345666623,US
3345666624,3345666639,NO
-3345666640,3346196479,US
+3345666640,3345690879,US
+3345690880,3345691135,SG
+3345691136,3346196479,US
3346196480,3346197503,CA
3346197504,3346198527,US
3346198528,3346200575,CA
@@ -147120,17 +149698,17 @@
3346210243,3346210303,JM
3346210304,3346219007,US
3346219008,3346221055,CA
-3346221056,3346225151,US
+3346221056,3346221903,US
+3346221904,3346221911,IT
+3346221912,3346225151,US
3346225152,3346227199,CA
-3346227200,3346231810,US
-3346231811,3346231827,AR
-3346231828,3346231846,US
-3346231847,3346231854,GB
-3346231855,3346232608,US
+3346227200,3346232608,US
3346232609,3346232617,AR
3346232618,3346232831,US
3346232832,3346232895,GB
-3346232896,3346234367,US
+3346232896,3346233279,US
+3346233280,3346233311,GB
+3346233312,3346234367,US
3346234368,3346234687,CA
3346234688,3346234695,US
3346234696,3346235391,CA
@@ -147139,7 +149717,7 @@
3346262016,3346282495,US
3346282496,3346284543,PR
3346284544,3346319359,US
-3346321408,3346322431,US
+3346321408,3346323455,US
3346323456,3346325503,CA
3346325504,3346327551,US
3346327552,3346328575,CA
@@ -147199,7 +149777,8 @@
3347033088,3347034111,CA
3347034112,3347039231,US
3347039232,3347039999,DM
-3347040000,3347040255,LC
+3347040000,3347040063,GD
+3347040064,3347040255,LC
3347040256,3347049471,US
3347049472,3347050495,GU
3347050496,3349341695,US
@@ -147215,9 +149794,10 @@
3349533952,3349545215,US
3349545216,3349545727,CA
3349545728,3349545983,US
-3349545984,3349551103,CA
-3349551104,3349553407,US
-3349553408,3349553663,CA
+3349545984,3349548791,CA
+3349548792,3349548799,US
+3349548800,3349551103,CA
+3349551104,3349553663,US
3349553664,3349554687,IN
3349554688,3349600255,CA
3349600256,3349601023,US
@@ -147299,11 +149879,7 @@
3350488192,3350488575,US
3350488576,3350488607,CN
3350488608,3350491135,US
-3350491136,3350491489,CA
-3350491490,3350491518,US
-3350491519,3350492415,CA
-3350492416,3350492927,US
-3350492928,3350493183,CA
+3350491136,3350493183,CA
3350493184,3350501395,US
3350501396,3350501399,TR
3350501400,3350503103,US
@@ -147312,9 +149888,7 @@
3350505472,3350507519,CA
3350507520,3350548735,US
3350548736,3350548991,CA
-3350548992,3350561535,US
-3350561536,3350561791,AU
-3350561792,3350574591,US
+3350548992,3350574591,US
3350574848,3350575103,CA
3350575104,3350606847,US
3350606848,3350607871,CA
@@ -147376,7 +149950,9 @@
3351013760,3351013823,CN
3351013824,3351014063,US
3351014064,3351014143,CN
-3351014144,3351014687,US
+3351014144,3351014271,US
+3351014272,3351014335,CN
+3351014336,3351014687,US
3351014688,3351014703,CN
3351014704,3351014751,US
3351014752,3351014783,CN
@@ -147392,7 +149968,9 @@
3351043072,3351043327,CA
3351043328,3351043583,FR
3351043584,3351044095,CA
-3351044096,3351058943,US
+3351044096,3351052287,US
+3351052288,3351053311,CA
+3351053312,3351058943,US
3351058944,3351059455,CA
3351059456,3351071743,US
3351071744,3351072767,CA
@@ -147422,26 +150000,18 @@
3351113728,3351129087,US
3351129088,3351129343,HK
3351129344,3351194111,US
-3351194112,3351194623,FR
-3351194624,3351196159,US
+3351194112,3351194367,FR
+3351194368,3351196159,US
3351196160,3351196671,VG
-3351196672,3351197739,US
-3351197740,3351197743,VN
-3351197744,3351197751,US
+3351196672,3351197751,US
3351197752,3351197759,PT
3351197760,3351197795,US
3351197796,3351197799,CN
-3351197800,3351197895,US
-3351197896,3351197899,BR
-3351197900,3351198059,US
-3351198060,3351198063,IN
-3351198064,3351198231,US
+3351197800,3351198231,US
3351198232,3351198235,CA
3351198236,3351198239,US
3351198240,3351198247,TR
-3351198248,3351198371,US
-3351198372,3351198375,BR
-3351198376,3351198403,US
+3351198248,3351198403,US
3351198404,3351198407,IN
3351198408,3351198411,US
3351198412,3351198415,GB
@@ -147449,14 +150019,15 @@
3351198472,3351198475,VN
3351198476,3351198551,US
3351198552,3351198555,BD
-3351198556,3351198559,SA
-3351198560,3351198695,US
+3351198556,3351198695,US
3351198696,3351198703,MA
3351198704,3351232511,US
3351232512,3351232767,IL
3351232768,3351269217,US
3351269218,3351269218,DE
-3351269219,3351275519,US
+3351269219,3351269241,US
+3351269242,3351269242,CA
+3351269243,3351275519,US
3351275520,3351276543,CA
3351276544,3351293951,US
3351293952,3351294975,CA
@@ -147491,19 +150062,25 @@
3351380992,3351381759,CA
3351381760,3351385343,US
3351385344,3351385599,CA
-3351385600,3351389183,US
+3351385600,3351387135,US
+3351387136,3351387391,CA
+3351387392,3351389183,US
3351389184,3351389439,CA
3351389440,3351390719,US
3351390720,3351390975,CA
3351390976,3351394815,US
3351394816,3351395071,CA
-3351395072,3351398399,US
+3351395072,3351397887,US
+3351397888,3351398143,CA
+3351398144,3351398399,US
3351398400,3351398655,CA
3351398656,3351399423,US
3351399424,3351399679,CA
3351399680,3351402751,US
3351402752,3351403263,CA
-3351403264,3351405311,US
+3351403264,3351404031,US
+3351404032,3351404287,CA
+3351404288,3351405311,US
3351405312,3351405567,CA
3351405568,3351407615,US
3351407616,3351407871,CA
@@ -147562,11 +150139,10 @@
3351706368,3351706474,CA
3351706475,3351706475,US
3351706476,3351706623,CA
-3351706624,3351855615,US
-3351855616,3351855647,GB
-3351855648,3351855679,IE
-3351855680,3351855743,GB
-3351855744,3351855871,FR
+3351706624,3351854847,US
+3351854848,3351855103,SG
+3351855104,3351855615,US
+3351855616,3351855871,GB
3351855872,3351860223,US
3351860224,3351861247,KY
3351861248,3351869439,US
@@ -147590,15 +150166,15 @@
3351963648,3351969791,US
3351969792,3351970047,IL
3351970048,3351970559,US
-3351970560,3351996671,IL
+3351970560,3351987199,IL
+3351987200,3351987455,US
+3351987456,3351996671,IL
3351996672,3351996927,US
-3351996928,3352035327,IL
+3351996928,3352002303,IL
+3352002304,3352002559,US
+3352002560,3352035327,IL
3352035328,3352036351,CA
-3352036352,3352037375,US
-3352037376,3352037888,FR
-3352037889,3352037889,US
-3352037890,3352038399,FR
-3352038400,3352046591,US
+3352036352,3352046591,US
3352046592,3352049663,CA
3352049664,3352051711,US
3352051712,3352055807,CA
@@ -147692,7 +150268,9 @@
3353822208,3353822239,CN
3353822240,3353822335,US
3353822336,3353822367,CN
-3353822368,3353836799,US
+3353822368,3353823007,US
+3353823008,3353823015,CN
+3353823016,3353836799,US
3353836800,3353837311,CA
3353837312,3353855999,US
3353856000,3353858047,CA
@@ -147747,8 +150325,10 @@
3354507864,3354507871,GR
3354507872,3354507903,US
3354507904,3354507907,BZ
-3354507908,3354507911,IN
-3354507912,3354507983,US
+3354507908,3354507915,US
+3354507916,3354507919,FR
+3354507920,3354507967,US
+3354507968,3354507983,MX
3354507984,3354507991,AE
3354507992,3354508015,US
3354508016,3354508031,MX
@@ -147758,18 +150338,13 @@
3354508075,3354508075,CY
3354508076,3354508215,US
3354508216,3354508219,RU
-3354508220,3354508235,US
-3354508236,3354508239,CA
-3354508240,3354508263,US
-3354508264,3354508267,TH
-3354508268,3354508295,US
+3354508220,3354508295,US
3354508296,3354508303,CY
3354508304,3354508347,US
3354508348,3354508351,CA
3354508352,3354508439,US
3354508440,3354508447,AE
-3354508448,3354508455,TH
-3354508456,3354508487,US
+3354508448,3354508487,US
3354508488,3354508491,VN
3354508492,3354508527,US
3354508528,3354508535,AE
@@ -147779,15 +150354,12 @@
3354508704,3354508735,AE
3354508736,3354508743,US
3354508744,3354508751,BD
-3354508752,3354508855,US
-3354508856,3354508863,GB
+3354508752,3354508863,US
3354508864,3354508895,CY
3354508896,3354508927,US
3354508928,3354508943,GB
3354508944,3354508951,BR
-3354508952,3354509191,US
-3354509192,3354509199,GB
-3354509200,3354509263,US
+3354508952,3354509263,US
3354509264,3354509279,BR
3354509280,3354509295,US
3354509296,3354509299,CA
@@ -147826,7 +150398,11 @@
3354859520,3354861567,NL
3354861568,3354862079,US
3354862080,3354862335,DE
-3354862336,3354865663,US
+3354862336,3354862591,SE
+3354862592,3354862847,US
+3354862848,3354863103,SE
+3354863104,3354864127,DE
+3354864128,3354865663,US
3354865664,3354866175,CA
3354866176,3354866431,US
3354866432,3354867711,CA
@@ -147854,9 +150430,9 @@
3355308544,3355308545,SG
3355308546,3355308547,US
3355308548,3355308799,SG
-3355308800,3355309827,US
-3355309828,3355310079,SG
-3355310080,3355310591,US
+3355308800,3355309567,US
+3355309568,3355309823,GB
+3355309824,3355310591,US
3355310592,3355311103,CA
3355311104,3355338751,US
3355338752,3355340799,BB
@@ -147873,15 +150449,12 @@
3355389696,3355389951,JP
3355389952,3355407359,US
3355407360,3355408383,PR
-3355408384,3355412775,US
-3355412776,3355412783,UA
-3355412784,3355417735,US
-3355417736,3355417743,NP
-3355417744,3355418079,US
+3355408384,3355418079,US
3355418080,3355418111,CN
3355418112,3355418399,US
3355418400,3355418431,BE
-3355418432,3355418455,GB
+3355418432,3355418447,US
+3355418448,3355418455,GB
3355418456,3355432959,US
3355432960,3355435007,CA
3355435008,3355443199,US
@@ -147896,9 +150469,7 @@
3355449344,3355450367,CU
3355450368,3355451391,EC
3355451392,3355458559,BR
-3355458560,3355458591,HN
-3355458592,3355458599,US
-3355458600,3355459071,HN
+3355458560,3355459071,HN
3355459072,3355459327,BR
3355459328,3355459583,EC
3355459840,3355460095,VE
@@ -148072,9 +150643,9 @@
3355905536,3355905791,PY
3355905792,3355906047,AR
3355906048,3355910143,CL
-3355910144,3355912575,SX
-3355912576,3355912703,MF
-3355912704,3355918335,SX
+3355910144,3355916031,SX
+3355916032,3355916287,BL
+3355916288,3355918335,SX
3355918336,3355923455,EC
3355923456,3355924479,UY
3355924480,3355926527,TT
@@ -148334,8 +150905,8 @@
3356336640,3356338175,HN
3356338176,3356340479,SV
3356340480,3356340735,HN
-3356340736,3356341759,SV
-3356341760,3356342015,HN
+3356340736,3356341503,SV
+3356341504,3356342015,HN
3356342016,3356343039,SV
3356343040,3356343295,HN
3356343296,3356344319,SV
@@ -148364,19 +150935,15 @@
3356390656,3356391167,CL
3356391168,3356391423,PA
3356393472,3356413183,CL
-3356413184,3356413439,CO
-3356413440,3356413567,CL
+3356413184,3356413311,CO
+3356413312,3356413567,CL
3356413568,3356413823,CO
3356413824,3356419839,CL
-3356419840,3356419967,CO
-3356419968,3356420243,CL
-3356420244,3356420244,CO
-3356420245,3356420287,CL
-3356420288,3356420351,CO
-3356420352,3356420735,CL
-3356420736,3356420991,CO
-3356420992,3356421119,CL
-3356421120,3356422143,CO
+3356419840,3356420095,CO
+3356420096,3356420223,CL
+3356420224,3356420351,CO
+3356420352,3356420607,CL
+3356420608,3356422143,CO
3356422144,3356425471,CL
3356425472,3356425727,CO
3356425728,3356426239,CL
@@ -148489,24 +151056,27 @@
3357442416,3357442423,HN
3357442424,3357442431,GT
3357442432,3357442439,HN
-3357442440,3357443007,GT
-3357443008,3357443071,SV
-3357443072,3357443583,GT
+3357442440,3357443583,GT
3357443584,3357443839,HN
-3357443840,3357444207,GT
-3357444208,3357444215,HN
-3357444216,3357444351,GT
+3357443840,3357444351,GT
3357444352,3357444607,HN
3357444608,3357448311,GT
3357448312,3357448319,SV
-3357448320,3357449215,GT
+3357448320,3357449007,GT
+3357449008,3357449015,HN
+3357449016,3357449215,GT
3357449216,3357449727,HN
-3357449728,3357451167,GT
+3357449728,3357450751,GT
+3357450752,3357451007,SV
+3357451008,3357451167,GT
3357451168,3357451175,HN
3357451176,3357452287,GT
3357452288,3357452543,HN
-3357452544,3357453055,GT
-3357453056,3357453311,SV
+3357452544,3357452799,GT
+3357452800,3357453055,NI
+3357453056,3357453095,GT
+3357453096,3357453103,SV
+3357453104,3357453311,GT
3357453312,3357453567,HN
3357453568,3357454591,GT
3357454592,3357454847,NI
@@ -148518,18 +151088,21 @@
3357475072,3357475887,AR
3357475888,3357475903,VE
3357475904,3357476351,AR
-3357476352,3357476607,EC
+3357476352,3357476479,EC
+3357476480,3357476607,AR
3357476608,3357476863,US
-3357476864,3357477631,EC
+3357476864,3357477375,EC
+3357477376,3357477423,AR
+3357477424,3357477431,EC
+3357477432,3357477623,AR
+3357477624,3357477631,EC
3357477632,3357477887,AR
-3357477888,3357478911,CO
-3357478912,3357478991,AR
-3357478992,3357479007,CO
-3357479008,3357479039,AR
-3357479040,3357479167,CO
-3357479168,3357479935,AR
-3357479936,3357480063,CO
-3357480064,3357480559,AR
+3357477888,3357479167,CO
+3357479168,3357479839,AR
+3357479840,3357479847,CO
+3357479848,3357479935,AR
+3357479936,3357480447,CO
+3357480448,3357480559,AR
3357480560,3357480575,CO
3357480576,3357480703,AR
3357480704,3357480959,CO
@@ -148543,20 +151116,16 @@
3357532160,3357556991,AR
3357556992,3357557247,MX
3357557248,3357557759,AR
-3357557760,3357558015,EC
-3357558016,3357558271,AR
-3357558272,3357558783,EC
-3357558784,3357559007,AR
-3357559008,3357559015,EC
-3357559016,3357559039,AR
-3357559040,3357559167,EC
-3357559168,3357560319,AR
+3357557760,3357559295,EC
+3357559296,3357560319,AR
3357560320,3357560575,MX
3357560576,3357561167,AR
3357561168,3357561175,CO
3357561176,3357561199,AR
-3357561200,3357561343,CO
-3357561344,3357581311,AR
+3357561200,3357561215,CO
+3357561216,3357561247,AR
+3357561248,3357561279,CO
+3357561280,3357581311,AR
3357581312,3357589503,CL
3357589504,3357605887,BZ
3357605888,3357606911,MX
@@ -148650,28 +151219,24 @@
3358144256,3358144511,CL
3358144512,3358144639,AR
3358144640,3358144767,VE
-3358144768,3358149735,AR
-3358149736,3358149743,CO
-3358149744,3358149887,AR
-3358149888,3358150015,CO
-3358150016,3358150351,AR
-3358150352,3358150655,CO
+3358144768,3358149759,AR
+3358149760,3358150143,CO
+3358150144,3358150351,AR
+3358150352,3358150399,CO
+3358150400,3358150623,AR
+3358150624,3358150655,CO
3358150656,3358151039,AR
3358151040,3358151167,EC
3358151168,3358151551,AR
3358151552,3358151679,EC
-3358151680,3358151807,PE
-3358151808,3358153679,AR
+3358151680,3358152319,AR
+3358152320,3358152447,PE
+3358152448,3358153679,AR
3358153680,3358153695,US
3358153696,3358153727,AR
3358153728,3358153855,EC
3358153856,3358154239,AR
-3358154240,3358154303,CL
-3358154304,3358154335,AR
-3358154336,3358154351,US
-3358154352,3358154367,CL
-3358154368,3358154495,AR
-3358154496,3358154751,CL
+3358154240,3358154751,CL
3358154752,3358158847,PE
3358158848,3358159423,AR
3358159424,3358159455,EC
@@ -148711,10 +151276,13 @@
3358563328,3358564095,CO
3358564096,3358567423,AR
3358567424,3358568447,CO
-3358568448,3358578687,AR
+3358568448,3358569471,AR
+3358569472,3358570495,VE
+3358570496,3358578431,AR
+3358578432,3358578687,VE
3358578688,3358579711,CO
-3358579712,3358580223,VE
-3358580224,3358587903,AR
+3358579712,3358580735,VE
+3358580736,3358587903,AR
3358587904,3358588927,CL
3358588928,3358654463,PE
3358654464,3358658559,AR
@@ -148732,9 +151300,9 @@
3358738176,3358738687,GD
3358738688,3358739711,BB
3358739712,3358739967,KN
-3358739968,3358742783,BB
-3358742784,3358743039,TC
-3358743040,3358744575,BB
+3358739968,3358743039,BB
+3358743040,3358743295,TC
+3358743296,3358744575,BB
3358744576,3358752767,CL
3358752768,3358756863,BB
3358756864,3358760959,CL
@@ -148919,7 +151487,9 @@
3361726464,3361734655,MX
3361734656,3362258943,BR
3362258944,3362324479,CL
-3362324480,3362349055,AR
+3362324480,3362326015,AR
+3362326016,3362326271,US
+3362326272,3362349055,AR
3362349056,3362351103,CR
3362351104,3362353151,AR
3362353152,3362355199,EC
@@ -148931,7 +151501,9 @@
3362428928,3362430975,CL
3362430976,3362447359,CO
3362447360,3362447871,SV
-3362447872,3362449407,HN
+3362447872,3362448895,HN
+3362448896,3362449151,SV
+3362449152,3362449407,HN
3362449408,3362450175,SV
3362450176,3362450943,HN
3362450944,3362451455,SV
@@ -148960,7 +151532,9 @@
3362529280,3362537471,PA
3362537472,3362545663,AR
3362545664,3362549759,PE
-3362549760,3362552127,AR
+3362549760,3362551967,AR
+3362551968,3362551983,VE
+3362551984,3362552127,AR
3362552128,3362552143,VE
3362552144,3362552431,AR
3362552432,3362552447,MX
@@ -149039,7 +151613,8 @@
3363045376,3363110911,CO
3363110912,3363176447,AR
3363176448,3363274751,CO
-3363274752,3363291135,GT
+3363274752,3363289087,GT
+3363289088,3363291135,CR
3363291136,3363299327,BO
3363299328,3363373055,CL
3363373056,3363438591,PE
@@ -149079,9 +151654,7 @@
3363713280,3363714047,CL
3363714048,3363715583,PE
3363715584,3363716095,CL
-3363716096,3363716607,PE
-3363716608,3363716863,AR
-3363716864,3363717119,PE
+3363716096,3363717119,PE
3363717120,3363733503,CL
3363733504,3363831807,AR
3363831808,3367763967,BR
@@ -149100,7 +151673,8 @@
3370196992,3370214399,BR
3370214400,3370215423,AR
3370215424,3370487807,BR
-3370487808,3370488831,CR
+3370487808,3370488575,CR
+3370488576,3370488831,HN
3370488832,3370489855,AR
3370489856,3370490879,VE
3370490880,3370506239,BR
@@ -149112,9 +151686,7 @@
3370926080,3370942463,MX
3370942464,3371106303,BR
3371106304,3371122687,MX
-3371122688,3373750783,BR
-3373750784,3373751295,AE
-3373751296,3378511871,BR
+3371122688,3378511871,BR
3378511872,3380506879,MX
3380506880,3380507135,BR
3380507136,3380744191,MX
@@ -149152,8 +151724,7 @@
3380824064,3380824319,MX
3380824320,3380824575,GT
3380824576,3380825087,AR
-3380825088,3380825343,MX
-3380825344,3380825599,HT
+3380825088,3380825599,HT
3380825600,3380825855,CO
3380825856,3380826111,AR
3380826112,3380828159,BR
@@ -149265,7 +151836,7 @@
3382662144,3382665215,BR
3382665216,3382669311,MX
3382669312,3382669823,SV
-3382669824,3382670335,GT
+3382669824,3382670335,HN
3382670336,3382672383,BR
3382672384,3382677503,MX
3382677504,3382681599,BR
@@ -149279,7 +151850,9 @@
3382704128,3382706175,BR
3382706176,3382853631,MX
3382853632,3382870015,BR
-3382870016,3383701503,MX
+3382870016,3383695359,MX
+3383695360,3383695871,CO
+3383695872,3383701503,MX
3383701504,3383705599,BR
3383705600,3383754751,MX
3383754752,3384148991,AR
@@ -149319,9 +151892,7 @@
3386245120,3386376191,CL
3386376192,3386392575,CO
3386408960,3386425343,GT
-3386425344,3386435071,AR
-3386435072,3386435327,UY
-3386435328,3386441727,AR
+3386425344,3386441727,AR
3386441728,3386458111,PY
3386458112,3386474495,EC
3386474496,3386490879,UY
@@ -149348,7 +151919,8 @@
3386634240,3386636287,CO
3386636288,3386637311,BR
3386637312,3386638335,UY
-3386638336,3386640895,SX
+3386638336,3386640383,MQ
+3386640384,3386640895,SX
3386640896,3386641151,US
3386641152,3386642431,SX
3386642432,3386644735,AR
@@ -149520,6 +152092,7 @@
3389194240,3389195775,AU
3389195776,3389196287,HK
3389196288,3389197567,AU
+3389197568,3389197823,SG
3389197824,3389198079,ID
3389198080,3389198335,IN
3389198336,3389202431,KR
@@ -149539,8 +152112,7 @@
3389214720,3389218815,NZ
3389218816,3389222911,AU
3389222912,3389223935,US
-3389223936,3389225983,IN
-3389225984,3389226495,AU
+3389223936,3389226495,IN
3389226496,3389226751,SG
3389226752,3389227007,IN
3389227008,3389227519,CN
@@ -149560,9 +152132,7 @@
3389266176,3389266431,IN
3389266432,3389266943,HK
3389266944,3389267967,AU
-3389267968,3389271551,WS
-3389271552,3389272063,AU
-3389272064,3389276159,WS
+3389267968,3389276159,WS
3389276160,3389284351,AU
3389284352,3389292543,BD
3389292544,3389300735,CN
@@ -149607,7 +152177,9 @@
3389345792,3389349887,TH
3389349888,3389358079,AU
3389358080,3389366271,PK
-3389366272,3389374463,AU
+3389366272,3389372415,AU
+3389372416,3389372927,CA
+3389372928,3389374463,AU
3389374464,3389378559,MN
3389378560,3389381631,CN
3389381632,3389382655,JP
@@ -149705,8 +152277,7 @@
3389542400,3389543423,JP
3389543424,3389544447,TH
3389544448,3389545471,HK
-3389545472,3389545727,AU
-3389545728,3389545983,HK
+3389545472,3389545983,AU
3389545984,3389546495,SG
3389554688,3389562879,CN
3389562880,3389571071,KR
@@ -149977,25 +152548,21 @@
3390429952,3390439423,SG
3390439424,3390441471,NZ
3390441472,3390443519,TH
-3390443520,3390447359,NZ
-3390447360,3390447615,ID
+3390443520,3390447615,NZ
3390447616,3390455807,KR
3390455808,3390472191,JP
-3390472192,3390479615,NC
-3390479616,3390479871,FR
-3390479872,3390480383,NC
+3390472192,3390480383,NC
3390480384,3390484479,AU
3390484480,3390488575,GU
3390488576,3390492671,BD
3390492672,3390496767,JP
-3390496768,3390498303,NC
-3390498304,3390498559,FR
-3390498560,3390500863,NC
+3390496768,3390500863,NC
3390500864,3390502911,HK
3390502912,3390504959,CN
3390504960,3390767103,JP
3390767104,3390769407,NZ
3390769408,3390769663,IN
+3390769664,3390770175,AU
3390770176,3390770431,CN
3390770432,3390770687,AU
3390770688,3390770943,CN
@@ -150015,7 +152582,9 @@
3391369216,3391373311,KH
3391373312,3391414783,NZ
3391414784,3391415039,CN
-3391415040,3391444479,NZ
+3391415040,3391441407,NZ
+3391441408,3391441663,BD
+3391441664,3391444479,NZ
3391444480,3391444991,VN
3391444992,3391453183,NZ
3391453184,3391453439,ID
@@ -150567,7 +153136,7 @@
3392102144,3392102399,AU
3392102400,3392106495,CN
3392106496,3392108543,IN
-3392108544,3392109567,AU
+3392108544,3392109823,AU
3392109824,3392110079,PH
3392110080,3392110335,CN
3392110336,3392110591,IN
@@ -150638,6 +153207,7 @@
3392418560,3392418815,SG
3392418816,3392419071,ID
3392419072,3392419327,IN
+3392419328,3392419839,AU
3392419840,3392420351,IN
3392420352,3392420863,ID
3392420864,3392421119,AU
@@ -150649,8 +153219,7 @@
3392438784,3392439039,IN
3392439040,3392439551,ID
3392439552,3392439807,PG
-3392439808,3392440063,IN
-3392440064,3392440319,AU
+3392439808,3392440319,AU
3392440320,3392440575,HK
3392440576,3392440831,ID
3392440832,3392441343,BD
@@ -150697,9 +153266,7 @@
3392528384,3392536575,ID
3392536576,3392602111,IN
3392602112,3392618495,HK
-3392618496,3392618751,SG
-3392618752,3392618879,PH
-3392618880,3392626687,SG
+3392618496,3392626687,SG
3392626688,3392630783,NZ
3392630784,3392634879,JP
3392634880,3392635903,PK
@@ -150708,9 +153275,7 @@
3392637952,3392638975,TH
3392638976,3392643071,AU
3392643072,3392647167,ID
-3392647168,3392651007,MN
-3392651008,3392651135,AU
-3392651136,3392651263,MN
+3392647168,3392651263,MN
3392651264,3392659455,JP
3392659456,3392667647,TW
3392667648,3392668671,IN
@@ -150721,7 +153286,8 @@
3392681984,3392682239,SG
3392682240,3392682495,VN
3392682496,3392683007,IN
-3392683008,3392684031,AU
+3392683008,3392683519,AU
+3392683520,3392684031,NL
3392684032,3392688127,JP
3392688128,3392692223,MY
3392692224,3392700415,IN
@@ -150939,7 +153505,9 @@
3393227520,3393227775,JP
3393227776,3393231871,HK
3393231872,3393232127,JP
-3393232128,3393237759,HK
+3393232128,3393236479,HK
+3393236480,3393236735,JP
+3393236736,3393237759,HK
3393237760,3393238015,JP
3393238016,3393241087,HK
3393241088,3393241343,JP
@@ -150990,8 +153558,7 @@
3393478656,3393486847,AU
3393486848,3393495039,IN
3393495040,3393499135,AU
-3393499136,3393500159,ID
-3393500160,3393503231,SG
+3393499136,3393503231,SG
3393503232,3393507327,HK
3393507328,3393511423,SG
3393511424,3393519615,KR
@@ -151113,17 +153680,13 @@
3393872128,3393872383,JP
3393872384,3393872655,HK
3393872656,3393872656,IN
-3393872657,3393872895,HK
-3393872896,3393873919,PH
-3393873920,3393874943,HK
+3393872657,3393874943,HK
3393874944,3393875967,AU
3393875968,3393876991,HK
3393876992,3393878015,SG
3393878016,3393879039,IN
3393879040,3393880063,HK
-3393880064,3393889791,AU
-3393889792,3393890303,AE
-3393890304,3393896447,AU
+3393880064,3393896447,AU
3393896448,3393906687,NZ
3393906688,3393907711,CN
3393907712,3393908735,ID
@@ -151177,9 +153740,7 @@
3394078720,3394078975,AU
3394078976,3394079231,IN
3394079232,3394079743,PH
-3394079744,3394087471,HK
-3394087472,3394087487,CN
-3394087488,3394111487,HK
+3394079744,3394111487,HK
3394111488,3394113535,CN
3394113536,3394116351,SG
3394116352,3394116607,AU
@@ -151204,9 +153765,9 @@
3394183168,3394191359,NP
3394191360,3394215935,JP
3394215936,3394220031,AU
-3394220032,3394227048,SG
-3394227049,3394227049,AU
-3394227050,3394232319,SG
+3394220032,3394227039,SG
+3394227040,3394227047,ID
+3394227048,3394232319,SG
3394232320,3394234367,CN
3394234368,3394236415,VN
3394236416,3394238463,JP
@@ -151348,19 +153909,12 @@
3394830336,3394831359,HK
3394831360,3394832383,NZ
3394832384,3394834431,CN
-3394834432,3394834687,HK
-3394834688,3394834943,JP
-3394834944,3394834959,HK
-3394834960,3394834975,JP
-3394834976,3394835199,HK
+3394834432,3394835199,HK
3394835200,3394835455,JP
3394835456,3394835583,SG
3394835584,3394835711,JP
-3394835712,3394835967,CN
-3394835968,3394836239,JP
-3394836240,3394836247,AS
-3394836248,3394836415,JP
-3394836416,3394836479,HK
+3394835712,3394835967,HK
+3394835968,3394836479,JP
3394836480,3394838527,BT
3394838528,3394846719,NZ
3394846720,3394850815,IN
@@ -151374,7 +153928,8 @@
3394860544,3394860799,IN
3394860800,3394861055,CN
3394861056,3394861311,IN
-3394861312,3394862079,HK
+3394861312,3394861567,TW
+3394861568,3394862079,HK
3394862080,3394863103,KR
3394863104,3394871295,NZ
3394871296,3394879487,AU
@@ -151500,22 +154055,21 @@
3395180544,3395181055,VN
3395181056,3395181567,US
3395181568,3395182591,CN
-3395182592,3395190783,SG
+3395182592,3395188735,SG
+3395188736,3395190783,AU
3395190784,3395198975,JP
3395198976,3395199999,IN
3395200000,3395200511,BD
3395200512,3395200767,TH
3395200768,3395201023,MY
3395201024,3395202047,TH
-3395202048,3395202559,IN
+3395202048,3395202559,AU
3395202560,3395215359,JP
3395215360,3395219455,HK
3395219456,3395223551,TH
3395223552,3395231743,CN
3395231744,3395239935,JP
-3395239936,3395243263,SG
-3395243264,3395244031,AU
-3395244032,3395254783,SG
+3395239936,3395254783,SG
3395254784,3395255039,IN
3395255040,3395256319,SG
3395256320,3395264511,ID
@@ -151554,7 +154108,11 @@
3397087232,3397088255,HK
3397088256,3397090303,CN
3397090304,3397091327,TW
-3397091328,3397099519,GU
+3397091328,3397093375,MP
+3397093376,3397095423,GU
+3397095424,3397095935,MP
+3397095936,3397096447,GU
+3397096448,3397099519,MP
3397099520,3397103615,HK
3397103616,3397105663,LA
3397105664,3397107711,JP
@@ -151635,17 +154193,7 @@
3397338040,3397338043,SG
3397338044,3397338375,HK
3397338376,3397338379,JP
-3397338380,3397338403,HK
-3397338404,3397338415,JP
-3397338416,3397338423,HK
-3397338424,3397338427,JP
-3397338428,3397338455,HK
-3397338456,3397338457,JP
-3397338458,3397338459,HK
-3397338460,3397338463,JP
-3397338464,3397338547,HK
-3397338548,3397338551,JP
-3397338552,3397339647,HK
+3397338380,3397339647,HK
3397339648,3397339687,SG
3397339688,3397340927,HK
3397340928,3397341183,TH
@@ -151657,7 +154205,10 @@
3397369856,3397374463,CN
3397374464,3397374975,AU
3397374976,3397386239,CN
-3397386240,3397394431,GU
+3397386240,3397388799,GU
+3397388800,3397389311,JP
+3397389312,3397392383,GU
+3397392384,3397394431,MP
3397394432,3397402623,PH
3397402624,3397410815,GU
3397410816,3397411327,AU
@@ -151722,10 +154273,7 @@
3397530624,3397531647,ID
3397531648,3397532671,SG
3397532672,3397533695,JP
-3397533696,3397555711,HK
-3397555712,3397555967,KR
-3397555968,3397556223,SG
-3397556224,3397566463,HK
+3397533696,3397566463,HK
3397566464,3397574655,AU
3397574656,3397582847,CN
3397582848,3397584895,MN
@@ -151791,9 +154339,7 @@
3397872128,3397875711,JP
3397875712,3397876735,AU
3397876736,3397877759,TW
-3397877760,3397887999,JP
-3397888000,3397889023,IN
-3397889024,3397891071,JP
+3397877760,3397891071,JP
3397891072,3397892095,IN
3397892096,3397895423,JP
3397895424,3397895679,AU
@@ -151923,9 +154469,7 @@
3398637120,3398637183,HK
3398637184,3398639903,JP
3398639904,3398639907,MY
-3398639908,3398640671,JP
-3398640672,3398640695,SG
-3398640696,3398641663,JP
+3398639908,3398641663,JP
3398641664,3398643679,AU
3398643680,3398643695,NZ
3398643696,3398643711,AU
@@ -152093,9 +154637,7 @@
3399662592,3399663615,IN
3399663616,3399671807,ID
3399671808,3399679999,IN
-3399680000,3399680303,HK
-3399680304,3399680319,DE
-3399680320,3399680447,HK
+3399680000,3399680447,HK
3399680448,3399680463,SG
3399680464,3399688191,HK
3399688192,3399696383,SG
@@ -152154,7 +154696,10 @@
3399924736,3399925759,PH
3399925760,3399933951,NP
3399933952,3399942143,CN
-3399942144,3399954943,AU
+3399942144,3399944191,SG
+3399944192,3399946239,AU
+3399946240,3399950335,SG
+3399950336,3399954943,AU
3399954944,3399991295,SG
3399991296,3399995391,IN
3399995392,3399999487,KR
@@ -152253,7 +154798,8 @@
3400337152,3400337407,PH
3400337408,3400339455,CN
3400339456,3400341503,ID
-3400341504,3400343551,US
+3400341504,3400342015,AU
+3400342016,3400343551,US
3400343552,3400351743,TW
3400351744,3400359935,ID
3400359936,3400364031,JP
@@ -152276,8 +154822,8 @@
3400421376,3400423423,AU
3400423424,3400424447,KR
3400424448,3400425471,IN
-3400425472,3400430591,AU
-3400430592,3400431615,NZ
+3400425472,3400429567,AU
+3400429568,3400431615,NZ
3400431616,3400431871,IN
3400431872,3400432127,HK
3400432128,3400432639,IN
@@ -152293,9 +154839,7 @@
3400466432,3400499199,MO
3400499200,3400503295,NZ
3400503296,3400507391,JP
-3400507392,3400509183,MO
-3400509184,3400509439,CN
-3400509440,3400515583,MO
+3400507392,3400515583,MO
3400515584,3400531967,PH
3400531968,3400532991,IN
3400532992,3400534015,MY
@@ -152313,11 +154857,9 @@
3400609792,3400630271,JP
3400630272,3400646655,IN
3400646656,3400646911,HK
-3400646912,3400647679,JP
-3400647680,3400648677,AU
+3400646912,3400648677,JP
3400648678,3400648678,HK
-3400648679,3400648703,AU
-3400648704,3400648815,JP
+3400648679,3400648815,JP
3400648816,3400648831,HK
3400648832,3400649943,JP
3400649944,3400649951,HK
@@ -152360,6 +154902,7 @@
3400849408,3400851455,MN
3400851456,3400859647,AU
3400859648,3400860671,HK
+3400860672,3400861695,BD
3400861696,3400862719,CN
3400862720,3400864767,BD
3400864768,3400865791,AU
@@ -152427,9 +154970,7 @@
3405779456,3405779711,CN
3405779712,3405780991,AU
3405780992,3405781247,CN
-3405781248,3405784319,AU
-3405784320,3405784575,NZ
-3405784576,3405785599,AU
+3405781248,3405785599,AU
3405785600,3405786111,CN
3405786112,3405786367,AU
3405786368,3405787135,CN
@@ -152620,7 +155161,9 @@
3406208256,3406208511,CN
3406208512,3406208767,AU
3406208768,3406209023,CN
-3406209024,3406225407,AU
+3406209024,3406221311,AU
+3406221312,3406222335,PK
+3406222336,3406225407,AU
3406225408,3406229503,CN
3406229504,3406231551,AU
3406231552,3406232063,CN
@@ -152707,8 +155250,8 @@
3406382592,3406383359,CN
3406383360,3406383871,AU
3406383872,3406384639,CN
-3406384640,3406385151,SG
-3406385152,3406389247,AU
+3406384640,3406384895,SG
+3406384896,3406389247,AU
3406389248,3406390783,CN
3406390784,3406392319,AU
3406392320,3406392575,CN
@@ -152764,7 +155307,7 @@
3406529024,3406529535,HK
3406529536,3406529791,IL
3406529792,3406530047,IN
-3406530048,3406530303,HK
+3406530048,3406530303,SG
3406530304,3406530559,AU
3406530560,3406531583,CN
3406531584,3406531839,AU
@@ -152791,7 +155334,8 @@
3406579200,3406579711,CN
3406579712,3406583295,AU
3406583552,3406583807,CN
-3406583808,3406585855,HK
+3406583808,3406584319,SG
+3406584320,3406585855,HK
3406585856,3406586111,AU
3406586112,3406586367,JP
3406586368,3406586879,AU
@@ -152806,7 +155350,9 @@
3406594560,3406594815,CN
3406594816,3406596351,AU
3406596352,3406596607,CN
-3406596608,3406611455,AU
+3406596608,3406599167,AU
+3406599168,3406600191,JP
+3406600192,3406611455,AU
3406611456,3406612479,CN
3406612480,3406614527,HK
3406614528,3406615295,AU
@@ -153376,13 +155922,7 @@
3407473408,3407473919,CN
3407473920,3407475199,AU
3407475200,3407475455,CN
-3407475456,3407480831,AU
-3407480832,3407480912,JP
-3407480913,3407480913,AU
-3407480914,3407481223,JP
-3407481224,3407481231,AU
-3407481232,3407481343,JP
-3407481344,3407481855,AU
+3407475456,3407481855,AU
3407481856,3407482111,CN
3407482112,3407487487,AU
3407487488,3407487743,CN
@@ -153568,9 +156108,7 @@
3407691008,3407691263,CN
3407691264,3407691519,AU
3407691520,3407691775,CN
-3407691776,3407693055,AU
-3407693056,3407693311,CN
-3407693312,3407694079,AU
+3407691776,3407694079,AU
3407694080,3407694335,CN
3407694336,3407696127,AU
3407696128,3407696383,CN
@@ -153751,9 +156289,7 @@
3407896320,3407896575,CN
3407896576,3407898111,AU
3407898112,3407898367,CN
-3407898368,3407898879,AU
-3407898880,3407899135,CN
-3407899136,3407905279,AU
+3407898368,3407905279,AU
3407905280,3407905535,CN
3407905536,3407906047,AU
3407906048,3407906303,CN
@@ -153939,9 +156475,7 @@
3409435904,3409436159,CN
3409436160,3409436671,AU
3409436672,3409436927,CN
-3409436928,3409445119,AU
-3409445120,3409445375,CN
-3409445376,3409445887,AU
+3409436928,3409445887,AU
3409445888,3409446143,CN
3409446144,3409447935,AU
3409447936,3409448191,CN
@@ -154269,8 +156803,8 @@
3411247104,3411255295,KR
3411255296,3411263487,BD
3411263488,3411264511,AU
-3411264512,3411264767,NZ
-3411264768,3411269631,AU
+3411264512,3411265535,NZ
+3411265536,3411269631,AU
3411269632,3411269695,TW
3411269696,3411270143,HK
3411270144,3411270399,NZ
@@ -154331,8 +156865,7 @@
3411608576,3411608831,IN
3411608832,3411609087,AU
3411609088,3411609599,HK
-3411609600,3411610623,CN
-3411610624,3411611647,HK
+3411609600,3411611647,CN
3411611648,3411615743,ID
3411615744,3411623935,JP
3411623936,3411632127,AU
@@ -154397,9 +156930,7 @@
3411859250,3411859251,AU
3411859252,3411859815,JP
3411859816,3411859816,CN
-3411859817,3411860223,JP
-3411860224,3411860479,AU
-3411860480,3411861503,JP
+3411859817,3411861503,JP
3411861504,3411869695,AU
3411869696,3411943423,CN
3411943424,3411951615,NZ
@@ -154418,7 +156949,22 @@
3412056064,3412057087,IN
3412057088,3412058111,BD
3412058112,3412066303,CN
-3412066304,3412213759,NZ
+3412066304,3412107263,NZ
+3412107264,3412108287,LK
+3412108288,3412109311,HK
+3412109312,3412110335,PK
+3412110336,3412111359,AU
+3412111360,3412112383,BD
+3412112384,3412113407,PH
+3412113408,3412115455,BD
+3412115456,3412123647,NZ
+3412123648,3412124671,BD
+3412124672,3412125695,ID
+3412125696,3412126719,AU
+3412126720,3412127743,JP
+3412127744,3412128767,MM
+3412128768,3412129791,PH
+3412129792,3412213759,NZ
3412213760,3412221951,AU
3412221952,3412230143,IN
3412230144,3412246527,HK
@@ -154491,7 +157037,9 @@
3412631552,3412639743,SG
3412639744,3412656127,JP
3412656128,3412672511,HK
-3412672512,3412680703,JP
+3412672512,3412680191,JP
+3412680192,3412680447,IT
+3412680448,3412680703,JP
3412680704,3412697087,CN
3412697088,3412705279,IN
3412705280,3412713471,AU
@@ -154564,7 +157112,7 @@
3413540864,3413557247,NZ
3413557248,3413565439,CN
3413565440,3413569535,TW
-3413569536,3413569791,SG
+3413569536,3413569791,AU
3413569792,3413570047,CN
3413570048,3413570303,KH
3413570304,3413570559,AU
@@ -154869,9 +157417,11 @@
3413934080,3413946367,IN
3413946368,3413950463,AU
3413950464,3413966847,IN
-3413966848,3414050303,SG
-3414050304,3414050815,US
-3414050816,3414155519,SG
+3413966848,3414033919,SG
+3414033920,3414034431,MY
+3414034432,3414050303,SG
+3414050304,3414050559,US
+3414050560,3414155519,SG
3414155520,3414155775,PH
3414155776,3414163455,SG
3414163456,3414171647,PK
@@ -154896,7 +157446,13 @@
3414269952,3414278143,JP
3414278144,3414294527,IN
3414294528,3414302719,PK
-3414302720,3414310911,CN
+3414302720,3414309119,CN
+3414309120,3414309375,TH
+3414309376,3414309631,CN
+3414309632,3414309887,GB
+3414309888,3414310399,CN
+3414310400,3414310655,AE
+3414310656,3414310911,CN
3414310912,3414327295,KR
3414327296,3414335487,TH
3414335488,3414339583,AU
@@ -154964,9 +157520,8 @@
3415146496,3415162879,LK
3415162880,3415171071,AU
3415171072,3415179263,JP
-3415179264,3415187096,SG
-3415187097,3415187097,ID
-3415187098,3415187455,SG
+3415179264,3415186943,SG
+3415186944,3415187455,ID
3415187456,3415191551,AU
3415191552,3415195647,IN
3415195648,3415199743,NZ
@@ -155048,6 +157603,7 @@
3415814656,3415815167,TH
3415815168,3415816191,IN
3415816192,3415817215,JP
+3415817216,3415818239,BD
3415818240,3415822335,JP
3415822336,3415822847,MY
3415822848,3415823103,MV
@@ -155094,7 +157650,7 @@
3416285184,3416285247,VN
3416285248,3416285251,CN
3416285252,3416287231,VN
-3416287232,3416289279,HK
+3416287232,3416289279,CN
3416289280,3416293375,NZ
3416293376,3416293631,ID
3416293632,3416293887,CN
@@ -155173,26 +157729,12 @@
3416856576,3416858623,BD
3416858624,3416862719,HK
3416862720,3416864767,MN
-3416864768,3416864895,JP
-3416864896,3416865023,SG
-3416865024,3416865151,HK
+3416864768,3416865151,HK
3416865152,3416865279,SG
-3416865280,3416865287,JP
-3416865288,3416865295,HK
-3416865296,3416865303,AU
-3416865304,3416865343,HK
-3416865344,3416865359,JP
-3416865360,3416865407,HK
-3416865408,3416865599,JP
-3416865600,3416865655,HK
-3416865656,3416865791,JP
-3416865792,3416865919,SG
-3416865920,3416866055,HK
-3416866056,3416866071,SG
-3416866072,3416866079,HK
-3416866080,3416866095,SG
-3416866096,3416866559,HK
-3416866560,3416883199,SG
+3416865280,3416865663,HK
+3416865664,3416865791,JP
+3416865792,3416866815,HK
+3416866816,3416883199,SG
3416883200,3416915967,HK
3416915968,3416920063,AU
3416920064,3416921087,TH
@@ -155237,9 +157779,7 @@
3417038592,3417038847,NZ
3417038848,3417042943,CN
3417042944,3417044991,IN
-3417044992,3417045535,CX
-3417045536,3417045759,AU
-3417045760,3417046015,CX
+3417044992,3417046015,CX
3417046016,3417046271,CC
3417046272,3417047039,AU
3417047040,3417055231,PH
@@ -155268,7 +157808,7 @@
3417227264,3417243647,JP
3417243648,3417244671,PH
3417244672,3417245695,IN
-3417245696,3417246719,ID
+3417245696,3417246719,PH
3417246720,3417247743,HK
3417247744,3417251839,JP
3417251840,3417260031,KR
@@ -155447,9 +157987,7 @@
3418405936,3418405939,PH
3418405940,3418406911,JP
3418406912,3418423295,IN
-3418423296,3418435583,HK
-3418435584,3418437631,GB
-3418437632,3418444091,HK
+3418423296,3418444091,HK
3418444092,3418444095,CN
3418444096,3418456063,HK
3418456064,3418472447,IN
@@ -155462,9 +158000,10 @@
3418512320,3418512335,AU
3418512336,3418513407,JP
3418513408,3418517503,IN
-3418517504,3418518527,ID
+3418517504,3418518527,PH
3418518528,3418519551,BD
-3418519552,3418554367,HK
+3418519552,3418520575,CN
+3418520576,3418554367,HK
3418554368,3418570751,VN
3418570752,3418578943,CN
3418578944,3418583039,TH
@@ -155485,9 +158024,7 @@
3418643456,3418644479,AU
3418644480,3418644735,JP
3418644736,3418644863,AU
-3418644864,3418650807,JP
-3418650808,3418650808,HK
-3418650809,3418652671,JP
+3418644864,3418652671,JP
3418652672,3418750975,IN
3418750976,3418816511,HK
3418816512,3418947583,IN
@@ -155521,7 +158058,9 @@
3419234304,3419241751,JP
3419241752,3419241752,AU
3419241753,3419242495,JP
-3419242496,3419275263,CN
+3419242496,3419248895,CN
+3419248896,3419249151,JP
+3419249152,3419275263,CN
3419275264,3419340799,AU
3419340800,3419344895,TW
3419344896,3419348991,KR
@@ -155541,7 +158080,9 @@
3419422720,3419439103,AU
3419439104,3419442431,SG
3419442432,3419442687,HK
-3419442688,3419471871,SG
+3419442688,3419457535,SG
+3419457536,3419457791,DE
+3419457792,3419471871,SG
3419471872,3419504639,TH
3419504640,3419508735,HK
3419508736,3419512831,JP
@@ -155590,9 +158131,9 @@
3419774976,3419783167,JP
3419783168,3419791359,PH
3419791360,3419873279,AU
-3419873280,3419874033,AF
-3419874034,3419874034,DE
-3419874035,3419877375,AF
+3419873280,3419873537,AF
+3419873538,3419873538,IT
+3419873539,3419877375,AF
3419877376,3419877631,ID
3419877632,3419877887,IN
3419877888,3419878143,ID
@@ -155650,15 +158191,9 @@
3420335055,3420337171,AU
3420337172,3420337172,VN
3420337173,3420337173,IN
-3420337174,3420337439,AU
-3420337440,3420337471,SG
-3420337472,3420340048,AU
+3420337174,3420340048,AU
3420340049,3420340049,NZ
-3420340050,3420366063,AU
-3420366064,3420366079,TW
-3420366080,3420366959,AU
-3420366960,3420366975,KR
-3420366976,3420369007,AU
+3420340050,3420369007,AU
3420369008,3420369023,HK
3420369024,3420370559,AU
3420370560,3420370575,JP
@@ -155687,16 +158222,15 @@
3420435456,3420436479,JP
3420436480,3420437503,AU
3420437504,3420438527,IN
-3420438528,3420443647,HK
-3420443648,3420444159,AU
+3420438528,3420444159,HK
3420444160,3420444415,GB
3420444416,3420454911,HK
3420454912,3422000535,KR
3422000536,3422000537,IN
3422000538,3422552063,KR
-3422552064,3422846975,US
-3422846976,3422855167,GB
-3422855168,3423076351,US
+3422552064,3422849023,US
+3422849024,3422851071,GB
+3422851072,3423076351,US
3423076352,3423077375,CA
3423077376,3423092735,US
3423092736,3423093759,VI
@@ -155720,7 +158254,9 @@
3423182848,3423184895,CA
3423184896,3423225855,US
3423225856,3423226879,CA
-3423226880,3423258623,US
+3423226880,3423227561,US
+3423227562,3423227562,AU
+3423227563,3423258623,US
3423258624,3423260671,CA
3423260672,3423268863,US
3423268864,3423269887,CA
@@ -155780,9 +158316,7 @@
3423630336,3423637503,US
3423637504,3423639551,CA
3423639552,3423648767,US
-3423648768,3423649023,CA
-3423649024,3423649279,US
-3423649280,3423649791,CA
+3423648768,3423649791,CA
3423649792,3423651839,US
3423651840,3423653887,CA
3423653888,3423705599,US
@@ -155826,15 +158360,15 @@
3424493824,3424494079,CA
3424494080,3424507135,US
3424507136,3424507391,CA
-3424507392,3425173503,US
+3424507392,3424841727,US
+3424841728,3424841983,CU
+3424841984,3425173503,US
3425173504,3425304575,CA
3425304576,3425441791,US
3425441792,3425443839,GB
3425443840,3425471487,US
3425471488,3425472511,CA
-3425472512,3425483775,US
-3425483776,3425484799,GU
-3425484800,3425516799,US
+3425472512,3425516799,US
3425516800,3425517055,MX
3425517056,3425697791,US
3425697792,3425699839,CA
@@ -155873,8 +158407,8 @@
3426617856,3426618367,CA
3426618368,3426646527,US
3426646528,3426646783,GB
-3426646784,3426725375,US
-3426725376,3426725887,CA
+3426646784,3426725119,US
+3426725120,3426725887,CA
3426725888,3426729471,US
3426729472,3426729983,CA
3426729984,3426744319,US
@@ -156068,19 +158602,13 @@
3428616704,3428616959,CA
3428616960,3428617215,US
3428617216,3428617983,CA
-3428617984,3428618495,US
-3428618496,3428619007,CA
+3428617984,3428618751,US
+3428618752,3428619007,CA
3428619008,3428620287,US
3428620288,3428620799,CA
3428620800,3428621567,US
3428621568,3428621823,CA
-3428621824,3428622335,US
-3428622336,3428623615,CA
-3428623616,3428623871,US
-3428623872,3428624639,CA
-3428624640,3428625407,US
-3428625408,3428626175,CA
-3428626176,3428626431,US
+3428621824,3428626431,US
3428626432,3428627199,CA
3428627200,3428627455,US
3428627456,3428628223,CA
@@ -156130,7 +158658,8 @@
3429029632,3429029887,GB
3429029888,3429171199,US
3429171200,3429236735,CA
-3429236736,3429381887,US
+3429236736,3429380095,US
+3429380096,3429381887,FR
3429381888,3429382143,DE
3429382144,3429500927,US
3429500928,3429502975,CA
@@ -156158,7 +158687,9 @@
3430705152,3430706175,MX
3430706176,3430722303,US
3430722304,3430722559,CA
-3430722560,3430729471,US
+3430722560,3430724607,US
+3430724608,3430725631,CA
+3430725632,3430729471,US
3430729472,3430729727,GB
3430729728,3430749951,US
3430749952,3430750207,CA
@@ -156295,7 +158826,9 @@
3432748800,3432749055,PA
3432749056,3432807423,US
3432807424,3432808447,CA
-3432808448,3433955583,US
+3432808448,3433089023,US
+3433089024,3433091071,CA
+3433091072,3433955583,US
3433955584,3433959423,CA
3433959424,3433963519,US
3433963520,3433964799,CA
@@ -156365,9 +158898,7 @@
3436684198,3436684198,DK
3436684199,3436697087,US
3436697088,3436697343,VE
-3436697344,3436965901,US
-3436965902,3436965902,DE
-3436965903,3437249279,US
+3436697344,3437249279,US
3437249280,3437249535,CA
3437249536,3437259775,US
3437259776,3437260031,CA
@@ -156419,9 +158950,7 @@
3437693696,3437693951,US
3437693952,3437694207,ES
3437694208,3437695231,AT
-3437695232,3437695999,US
-3437696000,3437696511,NL
-3437696512,3437703423,US
+3437695232,3437703423,US
3437703424,3437703679,NL
3437703680,3437704191,US
3437704192,3437704703,CH
@@ -156483,9 +159012,9 @@
3438137184,3438137191,CA
3438137192,3438139391,US
3438139392,3438140415,GB
-3438140416,3438141695,US
-3438141696,3438141951,CA
-3438141952,3438215423,US
+3438140416,3438142943,US
+3438142944,3438142975,CA
+3438142976,3438215423,US
3438215424,3438215935,CA
3438215936,3438216191,US
3438216192,3438217983,CA
@@ -156502,8 +159031,8 @@
3438261760,3438262015,US
3438262016,3438271487,CA
3438271488,3438272511,US
-3438272512,3438280447,CA
-3438280448,3438542847,US
+3438272512,3438280703,CA
+3438280704,3438542847,US
3438542848,3438559231,CA
3438559232,3438559743,US
3438559744,3438608383,CA
@@ -156522,10 +159051,14 @@
3438611792,3438725647,US
3438725648,3438725655,MX
3438725656,3438895103,US
-3438895104,3438896639,HN
-3438896640,3438915605,US
+3438895104,3438896127,HN
+3438896128,3438915605,US
3438915606,3438915606,GT
-3438915607,3448377343,US
+3438915607,3444220159,US
+3444220160,3444220415,JP
+3444220416,3444220671,US
+3444220672,3444220927,ES
+3444220928,3448377343,US
3448377344,3448377855,AG
3448377856,3448379647,US
3448379648,3448379903,SG
@@ -156556,9 +159089,7 @@
3449099264,3449100287,US
3449100288,3449100799,HK
3449100800,3449101311,AU
-3449101312,3449159679,US
-3449159680,3449159935,CA
-3449159936,3449161471,US
+3449101312,3449161471,US
3449161472,3449162495,CA
3449162496,3449165311,US
3449165312,3449165567,CA
@@ -156570,22 +159101,22 @@
3449170176,3449170431,CA
3449170432,3449170687,US
3449170688,3449171199,CA
-3449171200,3449171711,US
-3449171712,3449172479,CA
+3449171200,3449171967,US
+3449171968,3449172479,CA
3449172480,3449174015,US
3449174016,3449174783,CA
-3449174784,3449175039,US
-3449175040,3449175295,CA
-3449175296,3449176063,US
+3449174784,3449176063,US
3449176064,3449176575,CA
3449176576,3449176831,US
-3449176832,3449178367,CA
+3449176832,3449177087,CA
+3449177088,3449177343,US
+3449177344,3449178367,CA
3449178368,3449178623,US
3449178624,3449178879,CA
3449178880,3449180671,US
3449180672,3449180927,CA
-3449180928,3449181439,US
-3449181440,3449181951,CA
+3449180928,3449181695,US
+3449181696,3449181951,CA
3449181952,3449183231,US
3449183232,3449184511,CA
3449184512,3449185279,US
@@ -156612,9 +159143,7 @@
3449203712,3449203775,CA
3449203776,3449204223,US
3449204224,3449204479,CA
-3449204480,3449204735,US
-3449204736,3449205759,CA
-3449205760,3449210623,US
+3449204480,3449210623,US
3449210624,3449211391,CA
3449211392,3449211647,US
3449211648,3449212415,CA
@@ -156638,17 +159167,27 @@
3449273856,3449278975,CA
3449278976,3449279487,US
3449279488,3449290495,CA
-3449290496,3449569279,US
-3449569280,3449572068,AU
-3449572069,3449572069,US
-3449572070,3449573375,AU
-3449573376,3449575423,US
-3449575424,3449577471,AU
+3449290496,3449575423,US
+3449575424,3449577471,NZ
3449577472,3449599999,US
3449600000,3449602047,CA
-3449602048,3449638911,US
-3449638912,3449639935,GB
-3449639936,3449640191,US
+3449602048,3449639167,US
+3449639168,3449639359,GB
+3449639360,3449639363,US
+3449639364,3449639364,CZ
+3449639365,3449639365,US
+3449639366,3449639366,ES
+3449639367,3449639367,FR
+3449639368,3449639368,US
+3449639369,3449639369,IE
+3449639370,3449639370,IT
+3449639371,3449639371,NL
+3449639372,3449639372,US
+3449639373,3449639373,RO
+3449639374,3449639423,US
+3449639424,3449639679,GB
+3449639680,3449639935,US
+3449639936,3449640191,GB
3449640192,3449640447,NL
3449640448,3449640703,GB
3449640704,3449769727,US
@@ -156706,23 +159245,21 @@
3450731520,3450732543,CA
3450732544,3450773503,US
3450773504,3450777599,CA
-3450777600,3450851071,US
-3450851072,3450851327,AU
-3450851328,3450852351,US
+3450777600,3450849791,US
+3450849792,3450850047,GB
+3450850048,3450852351,US
3450852352,3450853375,CA
-3450853376,3450984703,US
-3450984704,3450984959,PH
-3450984960,3450986495,US
+3450853376,3450986495,US
3450986496,3450986751,HK
-3450986752,3451187967,US
+3450986752,3450987007,US
+3450987008,3450987263,HK
+3450987264,3451187967,US
3451187968,3451188223,AU
3451188224,3451289599,US
3451289600,3451290623,NL
3451290624,3451293695,US
3451293696,3451294719,GB
-3451294720,3451295743,US
-3451295744,3451296255,GB
-3451296256,3451312127,US
+3451294720,3451312127,US
3451312128,3451314175,MY
3451314176,3451371519,US
3451371520,3451371775,GB
@@ -156797,9 +159334,7 @@
3452766976,3452767487,CA
3452767488,3452767743,US
3452767744,3452767999,CA
-3452768000,3452768607,US
-3452768608,3452768623,CA
-3452768624,3452769023,US
+3452768000,3452769023,US
3452769024,3452769279,CA
3452769280,3452769791,US
3452769792,3452770047,CA
@@ -156819,15 +159354,11 @@
3452776192,3452776703,CA
3452776704,3452776959,US
3452776960,3452777471,CA
-3452777472,3452778495,US
-3452778496,3452778751,CA
-3452778752,3452779263,US
+3452777472,3452779263,US
3452779264,3452779519,CA
3452779520,3452781823,US
3452781824,3452782079,CA
-3452782080,3452782335,US
-3452782336,3452782591,CA
-3452782592,3452784383,US
+3452782080,3452784383,US
3452784384,3452784639,CA
3452784640,3452785663,US
3452785664,3452785919,CA
@@ -156869,9 +159400,7 @@
3452803584,3452803839,CA
3452803840,3452804095,US
3452804096,3452806143,CA
-3452806144,3452806911,US
-3452806912,3452807167,CA
-3452807168,3452807423,US
+3452806144,3452807423,US
3452807424,3452807679,CA
3452807680,3452808447,US
3452808448,3452808703,CA
@@ -156881,13 +159410,11 @@
3452811008,3452811263,CA
3452811264,3452811775,US
3452811776,3452812287,CA
-3452812288,3452812543,US
-3452812544,3452813311,CA
+3452812288,3452812799,US
+3452812800,3452813311,CA
3452813312,3452813567,US
3452813568,3452814079,CA
-3452814080,3452814591,US
-3452814592,3452814847,CA
-3452814848,3452815103,US
+3452814080,3452815103,US
3452815104,3452815359,CA
3452815360,3452816895,US
3452816896,3452817663,CA
@@ -156899,9 +159426,7 @@
3452819200,3452819711,CA
3452819712,3452820479,US
3452820480,3452820735,CA
-3452820736,3452823295,US
-3452823296,3452823551,CA
-3452823552,3452823807,US
+3452820736,3452823807,US
3452823808,3452824063,CA
3452824064,3452824831,US
3452824832,3452825599,CA
@@ -156979,9 +159504,7 @@
3453180928,3453195263,CA
3453195264,3453195519,US
3453195520,3453206527,CA
-3453206528,3453207551,HN
-3453207552,3453207807,NI
-3453207808,3453210623,HN
+3453206528,3453210623,HN
3453210624,3453213183,CR
3453213184,3453214719,HN
3453214720,3453215231,GT
@@ -157008,15 +159531,13 @@
3453409536,3453411327,BB
3453411328,3453419519,US
3453419520,3453427711,MO
-3453427712,3453551844,US
-3453551845,3453551845,GB
-3453551846,3453552127,US
-3453552128,3453552383,GB
-3453552384,3453552639,US
-3453552640,3453554687,GB
+3453427712,3453550591,US
+3453550592,3453554687,GB
3453554688,3453555967,US
3453555968,3453556031,GB
-3453556032,3453587023,US
+3453556032,3453556735,US
+3453556736,3453558783,GB
+3453558784,3453587023,US
3453587024,3453587071,SG
3453587072,3453599999,US
3453600000,3453600511,GB
@@ -157036,9 +159557,7 @@
3453615616,3453616127,AG
3453616128,3453796351,US
3453796352,3453800447,CA
-3453800448,3453802495,US
-3453802496,3453803007,GB
-3453803008,3454003013,US
+3453800448,3454003013,US
3454003014,3454003014,ES
3454003015,3454004997,US
3454004998,3454004998,GB
@@ -157048,8 +159567,8 @@
3454497792,3454498815,MX
3454498816,3454599423,US
3454599424,3454601215,CA
-3454601216,3454603007,US
-3454603008,3454603519,CA
+3454601216,3454602751,US
+3454602752,3454603519,CA
3454603520,3454604031,US
3454604032,3454604799,CA
3454604800,3454607359,US
@@ -157111,7 +159630,9 @@
3454881792,3454883839,CA
3454883840,3454915071,US
3454915072,3454926847,CA
-3454926848,3455035391,US
+3454926848,3455017471,US
+3455017472,3455017983,GB
+3455017984,3455035391,US
3455035392,3455035903,AU
3455035904,3455109119,US
3455109120,3455111167,HN
@@ -157120,9 +159641,7 @@
3455132160,3455133695,BO
3455133696,3455320063,US
3455320064,3455322111,FR
-3455322112,3455333887,US
-3455333888,3455334399,NL
-3455334400,3455357951,US
+3455322112,3455357951,US
3455357952,3455358975,BB
3455358976,3455418367,US
3455418368,3455418879,KY
@@ -157201,11 +159720,12 @@
3455848928,3455848959,TW
3455848960,3455871999,US
3455872000,3455872255,ZM
-3455872256,3455899969,US
-3455899970,3455899970,HK
-3455899971,3455903967,US
+3455872256,3455899647,US
+3455899648,3455901695,HK
+3455901696,3455903967,US
3455903968,3455903983,HK
-3455903984,3455905791,US
+3455903984,3455905535,US
+3455905536,3455905791,HK
3455905792,3455906047,MX
3455906048,3455909887,US
3455909888,3455975423,IN
@@ -157213,9 +159733,7 @@
3456303104,3456311295,JP
3456311296,3456360447,US
3456360448,3456364543,BG
-3456364544,3456856063,US
-3456856064,3456856319,CA
-3456856320,3456892927,US
+3456364544,3456892927,US
3456892928,3456958463,CA
3456958464,3457551871,US
3457551872,3457552127,CA
@@ -157224,14 +159742,14 @@
3457565184,3457592319,US
3457592320,3457592575,CA
3457592576,3457596671,US
-3457596672,3457597695,CA
-3457597696,3457598207,US
+3457596672,3457597439,CA
+3457597440,3457598207,US
3457598208,3457598463,CA
3457598464,3457684223,US
3457684224,3457684479,CA
-3457684480,3457756351,US
-3457756352,3457756383,GB
-3457756384,3457762303,US
+3457684480,3457756159,US
+3457756160,3457756415,GB
+3457756416,3457762303,US
3457762304,3457765375,CA
3457765376,3458039807,US
3458039808,3458043903,CA
@@ -157239,9 +159757,7 @@
3458195456,3458196479,SG
3458196480,3458233343,US
3458233344,3458234367,CA
-3458234368,3458794095,US
-3458794096,3458794111,FR
-3458794112,3458806783,US
+3458234368,3458806783,US
3458806784,3458807807,GB
3458807808,3458813951,US
3458813952,3458818047,CA
@@ -157251,7 +159767,9 @@
3458820864,3458821119,JM
3458821120,3458821887,US
3458821888,3458822143,CA
-3458822144,3459055615,US
+3458822144,3458842367,US
+3458842368,3458842623,CA
+3458842624,3459055615,US
3459055616,3459121151,CA
3459121152,3459186687,US
3459186688,3459230975,CA
@@ -157262,8 +159780,12 @@
3459268608,3459285503,US
3459285504,3459285759,CL
3459285760,3459310591,US
-3459310592,3459310847,KY
-3459310848,3459343359,US
+3459310592,3459311142,KY
+3459311143,3459311143,US
+3459311144,3459311231,KY
+3459311232,3459327487,US
+3459327488,3459327999,CO
+3459328000,3459343359,US
3459343360,3459343615,CA
3459343616,3459350527,US
3459350528,3459352575,VE
@@ -157312,9 +159834,11 @@
3459691776,3459692543,NL
3459692544,3459731455,US
3459731456,3459735551,CA
-3459735552,3459745535,US
-3459745536,3459745791,IT
-3459745792,3459847807,US
+3459735552,3459842047,US
+3459842048,3459843583,BR
+3459843584,3459843839,US
+3459843840,3459844095,BR
+3459844096,3459847807,US
3459847808,3459847871,JP
3459847872,3459848959,US
3459848960,3459849215,FR
@@ -157327,7 +159851,9 @@
3460114432,3460116479,SR
3460116480,3460161535,US
3460161536,3460165631,PR
-3460165632,3460762367,US
+3460165632,3460507647,US
+3460507648,3460507903,MX
+3460507904,3460762367,US
3460762368,3460762623,CA
3460762624,3460763391,US
3460763392,3460763647,VG
@@ -157342,7 +159868,7 @@
3460908288,3460908543,FI
3460908544,3460912127,US
3460912128,3460912383,IT
-3460912384,3460912639,FR
+3460912384,3460912639,US
3460912640,3460912895,ES
3460912896,3460916479,US
3460916480,3460916735,GB
@@ -157357,18 +159883,12 @@
3460928768,3460936703,US
3460936704,3460936959,IT
3460936960,3460937215,DE
-3460937216,3460939263,US
-3460939264,3460939519,HK
-3460939520,3460944895,US
-3460944896,3460945151,DE
-3460945152,3460947711,US
+3460937216,3460947711,US
3460947712,3460947967,SE
3460947968,3460952575,US
3460952576,3460952831,ES
3460952832,3461021695,US
-3461021696,3461031935,CA
-3461031936,3461032191,US
-3461032192,3461087231,CA
+3461021696,3461087231,CA
3461087232,3461332735,US
3461332736,3461332991,SG
3461332992,3461356543,US
@@ -157381,8 +159901,12 @@
3461419008,3461423103,DE
3461423104,3461441535,US
3461441536,3461441791,CA
-3461441792,3461442815,US
-3461443584,3461462015,US
+3461441792,3461443071,US
+3461443072,3461443327,VG
+3461443584,3461461247,US
+3461461248,3461461503,DE
+3461461504,3461461759,SG
+3461461760,3461462015,US
3461462016,3461462527,AU
3461462528,3461462783,US
3461462784,3461463039,SG
@@ -157398,9 +159922,7 @@
3461948160,3461948415,CA
3461948416,3461949951,US
3461949952,3461950207,CA
-3461950208,3461950719,US
-3461950720,3461950975,CA
-3461950976,3461953535,US
+3461950208,3461953535,US
3461953536,3461953791,CA
3461953792,3461977855,US
3461977856,3461978111,CA
@@ -157458,8 +159980,8 @@
3463518208,3463520255,NL
3463520256,3463708671,US
3463708672,3463774207,CA
-3463774208,3464127999,US
-3464128000,3464128511,DE
+3463774208,3464126463,US
+3464126464,3464128511,DE
3464128512,3464167679,US
3464167680,3464169215,CA
3464169216,3464169471,US
@@ -157555,25 +160077,27 @@
3464769536,3464773631,CA
3464773632,3464783871,US
3464783872,3464785919,AR
-3464785920,3465154559,US
+3464785920,3464789311,US
+3464789312,3464789343,CA
+3464789344,3465154559,US
3465154560,3465158655,BS
3465158656,3465177087,US
3465177088,3465179135,PE
-3465179136,3465461759,US
-3465461760,3465469951,GB
-3465469952,3465470207,US
-3465470208,3465470463,GB
-3465470464,3465472767,US
+3465179136,3465466495,US
+3465466496,3465466527,GB
+3465466528,3465469951,US
+3465469952,3465471999,GB
+3465472000,3465472767,US
3465472768,3465473023,GB
3465473024,3465474047,US
3465474048,3465476095,GB
3465476096,3465510911,US
3465510912,3465543679,JP
3465543680,3465953279,US
-3465953280,3465961471,CA
-3465961472,3466069055,US
-3466069056,3466069071,CA
-3466069072,3466069343,US
+3465953280,3465955327,CA
+3465955328,3466068991,US
+3466068992,3466069247,CA
+3466069248,3466069343,US
3466069344,3466069375,CA
3466069376,3466069447,US
3466069448,3466069455,CA
@@ -157586,8 +160110,8 @@
3466073088,3466074111,US
3466074112,3466076159,CA
3466076160,3466080255,US
-3466080256,3466084351,CA
-3466084352,3466158079,US
+3466080256,3466082303,CA
+3466082304,3466158079,US
3466158080,3466166271,PA
3466166272,3466489855,US
3466489856,3466490111,CA
@@ -157627,7 +160151,9 @@
3467063552,3467068927,CA
3467068928,3467069439,US
3467069440,3467116543,CA
-3467116544,3467378687,US
+3467116544,3467229695,US
+3467229696,3467230207,AS
+3467230208,3467378687,US
3467378688,3467444223,CA
3467444224,3467554815,US
3467554816,3467567103,CA
@@ -157803,21 +160329,15 @@
3468688896,3468688911,US
3468688912,3468688943,NL
3468688944,3468688959,IE
-3468688960,3468798463,US
+3468688960,3468797951,US
+3468797952,3468798463,GB
3468798464,3468798719,BE
-3468798720,3468798975,US
+3468798720,3468798975,GB
3468798976,3468799231,BE
-3468799232,3468799999,US
-3468800000,3468802047,GB
-3468802048,3468802303,US
-3468802304,3468802559,CA
-3468802560,3468894207,US
-3468894208,3468898815,DE
-3468898816,3468899327,US
-3468899328,3468902399,DE
-3468902400,3469031935,US
-3469031936,3469032191,GB
-3469032192,3469055743,US
+3468799232,3468799999,GB
+3468800000,3468894207,US
+3468894208,3468902399,DE
+3468902400,3469055743,US
3469055744,3469055999,CA
3469056000,3469131775,US
3469131776,3469132799,CA
@@ -157825,7 +160345,9 @@
3469272064,3469272575,DE
3469272576,3469279231,US
3469279232,3469283327,PH
-3469283328,3469860351,US
+3469283328,3469747199,US
+3469747200,3469747711,CA
+3469747712,3469860351,US
3469860352,3469860863,CA
3469860864,3469893631,US
3469893632,3469901823,CA
@@ -157911,7 +160433,9 @@
3471558656,3471560703,CA
3471560704,3471570943,US
3471570944,3471572991,CA
-3471572992,3472249343,US
+3471572992,3472244735,US
+3472244736,3472244991,CA
+3472244992,3472249343,US
3472249344,3472249599,CA
3472249600,3472257599,US
3472257600,3472257627,MX
@@ -157926,9 +160450,7 @@
3472687104,3472721919,US
3472721920,3472723967,CA
3472723968,3473039359,US
-3473039360,3473040639,BM
-3473040640,3473040895,US
-3473040896,3473041407,BM
+3473039360,3473041407,BM
3473041408,3473043455,US
3473047552,3473067007,US
3473067008,3473068031,CA
@@ -157962,9 +160484,7 @@
3475124224,3475171071,CA
3475171072,3475171199,US
3475171200,3475243007,CA
-3475243008,3475358719,US
-3475358720,3475359231,GB
-3475359232,3475386367,US
+3475243008,3475386367,US
3475386368,3475390463,CA
3475390464,3475397119,US
3475397120,3475397631,DE
@@ -158125,7 +160645,11 @@
3476111360,3476111615,CA
3476111616,3476418559,US
3476418560,3476419071,CA
-3476419072,3476447231,US
+3476419072,3476419583,US
+3476419584,3476420095,CA
+3476420096,3476420607,US
+3476420608,3476421631,CA
+3476421632,3476447231,US
3476447232,3476455423,CA
3476455424,3476881407,US
3476881408,3476946943,CA
@@ -158149,7 +160673,9 @@
3477384848,3477384855,SG
3477384856,3477384863,IE
3477384864,3477384871,SG
-3477384872,3477384951,US
+3477384872,3477384911,US
+3477384912,3477384927,HK
+3477384928,3477384951,US
3477384952,3477384959,IE
3477384960,3478114303,US
3478114304,3478118399,PE
@@ -158165,17 +160691,15 @@
3478277952,3478277983,GB
3478277984,3478278399,US
3478278400,3478278655,GB
-3478278656,3478282239,US
-3478282240,3478290431,GB
+3478278656,3478286335,US
+3478286336,3478290431,GB
3478290432,3478720767,US
3478720768,3478721023,AU
3478721024,3478721535,US
3478721536,3478721791,CN
3478721792,3478722047,US
3478722048,3478722303,AE
-3478722304,3478729983,US
-3478729984,3478730239,CA
-3478730240,3478732799,US
+3478722304,3478732799,US
3478732800,3478749183,DE
3478749184,3479207935,US
3479207936,3479240703,CA
@@ -158184,14 +160708,10 @@
3479296016,3479568383,US
3479568384,3479633919,CA
3479633920,3479896063,US
-3479896064,3479956479,CA
-3479956480,3479956735,US
-3479956736,3479961599,CA
+3479896064,3479961599,CA
3479961600,3479969345,US
3479969346,3479969346,DE
-3479969347,3479969409,US
-3479969410,3479969410,DE
-3479969411,3480223743,US
+3479969347,3480223743,US
3480223744,3480256511,CA
3480256512,3480444927,US
3480444928,3480449023,CA
@@ -158315,9 +160835,7 @@
3482021120,3482021631,CA
3482021632,3482021887,US
3482021888,3482022143,CA
-3482022144,3482023679,US
-3482023680,3482023935,CA
-3482023936,3482024191,US
+3482022144,3482024191,US
3482024192,3482024447,CA
3482024448,3482024959,US
3482024960,3482025215,CA
@@ -158355,13 +160873,7 @@
3482605568,3482612735,JP
3482612736,3482615807,SG
3482615808,3482632191,CA
-3482632192,3482755081,US
-3482755082,3482755091,MX
-3482755092,3482755101,US
-3482755102,3482755111,CN
-3482755112,3482755211,US
-3482755212,3482755221,CA
-3482755222,3482755377,US
+3482632192,3482755377,US
3482755378,3482755387,RU
3482755388,3482755623,US
3482755624,3482755633,AQ
@@ -158371,18 +160883,11 @@
3482755754,3482755763,FI
3482755764,3482756175,US
3482756176,3482756185,TR
-3482756186,3482756255,US
-3482756256,3482756265,ES
-3482756266,3482756285,US
-3482756286,3482756295,IL
-3482756296,3482756305,US
+3482756186,3482756305,US
3482756306,3482756335,IN
3482756336,3482756361,US
3482756362,3482756371,RU
-3482756372,3482756381,BR
-3482756382,3482756401,US
-3482756402,3482756411,ES
-3482756412,3482756421,US
+3482756372,3482756421,US
3482756422,3482756431,AZ
3482756432,3482756501,US
3482756502,3482756511,DM
@@ -158394,10 +160899,7 @@
3482756758,3482756767,TR
3482756768,3482756893,US
3482756894,3482756903,BR
-3482756904,3482756913,FR
-3482756914,3482757169,US
-3482757170,3482757179,SE
-3482757180,3482757269,US
+3482756904,3482757269,US
3482757270,3482757279,AR
3482757280,3482757309,US
3482757310,3482757319,JP
@@ -158411,19 +160913,13 @@
3482757556,3482757565,TR
3482757566,3482757575,US
3482757576,3482757585,CN
-3482757586,3482757741,US
-3482757742,3482757751,JO
-3482757752,3482758499,US
+3482757586,3482758499,US
3482758500,3482758527,VE
3482758528,3482759275,US
3482759276,3482759285,SG
-3482759286,3482759295,US
-3482759296,3482759305,SG
-3482759306,3482759823,US
+3482759286,3482759823,US
3482759824,3482759831,BR
-3482759832,3482760049,US
-3482760050,3482760062,NL
-3482760063,3482760319,US
+3482759832,3482760319,US
3482760320,3482760335,NL
3482760336,3482760385,US
3482760386,3482760423,EG
@@ -158470,14 +160966,10 @@
3483342592,3483344895,CA
3483344896,3483435007,US
3483435008,3483533311,CA
-3483533312,3483552290,US
-3483552291,3483552291,CA
-3483552292,3483631615,US
+3483533312,3483631615,US
3483631616,3483697151,CA
3483697152,3483791359,US
-3483791360,3483793919,PR
-3483793920,3483794431,US
-3483794432,3483795455,PR
+3483791360,3483795455,PR
3483795456,3483828223,US
3483828224,3483836415,CA
3483836416,3483844607,US
@@ -158530,9 +161022,7 @@
3484471808,3484472063,CA
3484472064,3484472319,US
3484472320,3484472575,CA
-3484472576,3484473343,US
-3484473344,3484473599,CA
-3484473600,3484473855,US
+3484472576,3484473855,US
3484473856,3484474111,CA
3484474112,3484475647,US
3484475648,3484476159,CA
@@ -158546,8 +161036,8 @@
3484481792,3484482047,CA
3484482048,3484482559,US
3484482560,3484482815,CA
-3484482816,3484483071,US
-3484483072,3484483583,CA
+3484482816,3484483327,US
+3484483328,3484483583,CA
3484483584,3484616392,US
3484616393,3484616393,DE
3484616394,3484647423,US
@@ -158602,10 +161092,8 @@
3485275648,3485277951,US
3485277952,3485278207,CA
3485278208,3485313023,US
-3485313024,3485313279,HK
-3485313280,3485313407,TH
-3485313408,3485313519,HK
-3485313520,3485313599,TH
+3485313024,3485313535,HK
+3485313536,3485313599,TH
3485313600,3485313663,MY
3485313664,3485313791,TH
3485313792,3485314007,MY
@@ -158644,7 +161132,8 @@
3485963008,3485965311,US
3485965312,3485965567,CA
3485965568,3485965568,US
-3485965569,3485966335,CA
+3485965569,3485965823,KR
+3485965824,3485966335,CA
3485966336,3485967615,US
3485967616,3485967616,GB
3485967617,3485967871,US
@@ -158656,16 +161145,18 @@
3485969665,3485970431,US
3485970432,3485970943,CA
3485970944,3485972991,US
-3485972992,3485973247,CA
-3485973248,3485973503,US
-3485973504,3485974527,CA
+3485972992,3485974527,CA
3485974528,3486023679,US
3486023680,3486031871,CA
3486031872,3486269439,US
3486269440,3486285823,JM
3486285824,3486302207,PR
3486302208,3486310399,CA
-3486310400,3486580991,US
+3486310400,3486492415,US
+3486492416,3486492671,CA
+3486492672,3486493183,US
+3486493184,3486493439,CA
+3486493440,3486580991,US
3486580992,3486581247,DE
3486581248,3486582527,US
3486582528,3486582783,AU
@@ -158797,15 +161288,17 @@
3487039488,3487105023,CA
3487105024,3487177983,US
3487177984,3487178111,NL
-3487178112,3487178175,MX
-3487178176,3487178239,NL
+3487178112,3487178115,MX
+3487178116,3487178239,NL
3487178240,3487216383,US
3487216384,3487216639,SE
3487216640,3487236095,US
3487236096,3487301631,CA
3487301632,3487706367,US
3487706368,3487706623,RU
-3487706624,3487750399,US
+3487706624,3487730687,US
+3487730688,3487731711,CN
+3487731712,3487750399,US
3487750400,3487750415,HK
3487750416,3487750527,US
3487750528,3487750543,HK
@@ -158815,13 +161308,11 @@
3487842304,3487847167,CA
3487847168,3487847231,US
3487847232,3487858687,CA
-3487858688,3487861759,BM
-3487861760,3487862015,KY
-3487862016,3487875071,BM
+3487858688,3487875071,BM
3487875072,3487891455,US
-3487891456,3487894386,CA
-3487894387,3487894387,GB
-3487894388,3487907839,CA
+3487891456,3487894271,CA
+3487894272,3487894527,GB
+3487894528,3487907839,CA
3487907840,3487913471,US
3487913472,3487913983,CA
3487913984,3487916543,US
@@ -158833,9 +161324,15 @@
3487921664,3487922431,NL
3487922432,3487922687,US
3487922688,3487924223,NL
-3487924224,3488014335,US
+3487924224,3487985663,US
+3487985664,3487985664,MY
+3487985665,3488014335,US
3488014336,3488022527,CA
-3488022528,3488071679,US
+3488022528,3488047871,US
+3488047872,3488048127,CA
+3488048128,3488048383,US
+3488048384,3488048639,CA
+3488048640,3488071679,US
3488071680,3488072703,CA
3488072704,3488079871,US
3488079872,3488083967,CA
@@ -158850,9 +161347,7 @@
3488911360,3488940031,US
3488940032,3488956415,CA
3488956416,3488989183,US
-3488989184,3488996351,CA
-3488996352,3488997375,US
-3488997376,3489005567,CA
+3488989184,3489005567,CA
3489005568,3489057023,US
3489057024,3489057535,VI
3489057536,3489058047,US
@@ -158962,23 +161457,15 @@
3491969024,3491970047,PR
3491970048,3492151295,US
3492151296,3492167679,CA
-3492167680,3492588132,US
-3492588133,3492588133,PR
-3492588134,3492729855,US
-3492729856,3492730367,AU
-3492730368,3492807155,US
+3492167680,3492588131,US
+3492588132,3492588133,PR
+3492588134,3492807155,US
3492807156,3492807159,SE
3492807160,3492811775,US
3492811776,3492812759,CA
3492812760,3492812763,JP
3492812764,3492812799,CA
-3492812800,3492845567,US
-3492845568,3492846591,CH
-3492846592,3492865023,US
-3492865024,3492865535,GB
-3492865536,3492866047,US
-3492866048,3492868095,GB
-3492868096,3492877954,US
+3492812800,3492877954,US
3492877955,3492877955,CA
3492877956,3492880745,US
3492880746,3492880746,ES
@@ -158986,20 +161473,18 @@
3492892672,3492893969,GB
3492893970,3492893971,US
3492893972,3492894719,GB
-3492894720,3492896767,US
-3492896768,3492897791,GB
-3492897792,3492904215,US
+3492894720,3492904215,US
3492904216,3492904219,AT
3492904220,3492909989,US
3492909990,3492909990,DE
-3492909991,3492921855,US
+3492909991,3492917247,US
+3492917248,3492917503,VI
+3492917504,3492921855,US
3492921856,3492922111,VI
-3492922112,3492929535,US
-3492929536,3492933119,CA
+3492922112,3492931583,US
+3492931584,3492933119,CA
3492933120,3492933375,US
-3492933376,3492933376,FR
-3492933377,3492933377,CH
-3492933378,3492933503,FR
+3492933376,3492933503,CH
3492933504,3492933631,CA
3492933632,3492939022,US
3492939023,3492939023,DE
@@ -159011,15 +161496,13 @@
3492969472,3492969727,VI
3492969728,3492993023,US
3492993024,3492995071,GB
-3492995072,3493039359,US
+3492995072,3493007359,US
+3493007360,3493008383,GB
+3493008384,3493039359,US
3493039360,3493039615,AR
3493039616,3493039695,US
3493039696,3493039703,RO
-3493039704,3493044223,US
-3493044224,3493050463,AR
-3493050464,3493050495,US
-3493050496,3493052415,AR
-3493052416,3493089023,US
+3493039704,3493089023,US
3493089024,3493089279,CM
3493089280,3493244927,US
3493244928,3493249023,PR
@@ -159043,7 +161526,9 @@
3493987328,3493990399,US
3493990400,3493991423,CA
3493991424,3493998591,US
-3493998592,3494000639,AI
+3493998592,3493999359,KN
+3493999360,3493999487,AI
+3493999488,3494000639,KN
3494000640,3494003711,US
3494003712,3494004735,CA
3494004736,3494009855,US
@@ -159062,7 +161547,9 @@
3494088704,3494090751,CA
3494090752,3494094847,US
3494094848,3494095359,CA
-3494095360,3494121471,US
+3494095360,3494095431,US
+3494095432,3494095439,CA
+3494095440,3494121471,US
3494121472,3494122495,CA
3494122496,3494125567,US
3494125568,3494126591,CA
@@ -159154,9 +161641,7 @@
3494624256,3494625279,CA
3494625280,3494627327,US
3494627328,3494628351,BM
-3494628352,3494642687,US
-3494642688,3494643199,CA
-3494643200,3494651903,US
+3494628352,3494651903,US
3494651904,3494652927,CA
3494652928,3494655743,US
3494655744,3494655759,GB
@@ -159181,14 +161666,18 @@
3494758400,3494776831,US
3494776832,3494777855,CA
3494777856,3494785023,US
-3494785024,3494787071,MF
+3494785024,3494785535,MF
+3494785536,3494785791,FR
+3494785792,3494787071,MF
3494787072,3494787327,CA
3494787328,3494787583,NG
3494787584,3494788095,CA
3494788096,3494788351,NG
3494788352,3494788607,LY
3494788608,3494789119,CA
-3494789120,3494813183,US
+3494789120,3494803455,US
+3494803456,3494805503,CA
+3494805504,3494813183,US
3494813184,3494813439,CA
3494813440,3494852607,US
3494852608,3494854655,CA
@@ -159197,15 +161686,16 @@
3494863104,3494863871,DM
3494863872,3494866943,US
3494866944,3494867967,CA
-3494867968,3494874111,US
+3494867968,3494871295,US
+3494871552,3494874111,US
3494874112,3494874367,ES
3494874368,3494874879,US
3494874880,3494874911,ES
3494874912,3494893567,US
3494893568,3494894591,CA
3494894592,3494917119,US
-3494917120,3494918143,CA
-3494918144,3494928383,US
+3494917120,3494917631,CA
+3494917632,3494928383,US
3494928384,3494930431,CA
3494930432,3494950655,US
3494950656,3494950911,PH
@@ -159255,9 +161745,7 @@
3495120896,3495122943,AG
3495122944,3495153663,US
3495153664,3495155711,CA
-3495155712,3495187455,US
-3495187456,3495188479,VE
-3495188480,3495192575,US
+3495155712,3495192575,US
3495192576,3495193599,CA
3495193600,3495197695,US
3495197696,3495198719,CA
@@ -159308,8 +161796,7 @@
3495475200,3495477247,CA
3495477248,3495478271,US
3495478272,3495479295,CA
-3495479296,3495481343,US
-3495483392,3495505919,US
+3495479296,3495505919,US
3495505920,3495507967,CA
3495507968,3495515135,US
3495515136,3495516159,CA
@@ -159348,9 +161835,7 @@
3495718912,3495723007,CA
3495723008,3495724031,US
3495724032,3495727103,CA
-3495727104,3495729151,US
-3495729664,3495730175,US
-3495731200,3495739391,US
+3495727104,3495739391,US
3495739392,3495740415,CA
3495740416,3495749631,US
3495749632,3495750655,CA
@@ -159362,7 +161847,9 @@
3495828480,3495829503,CA
3495829504,3495837695,US
3495837696,3495838463,CA
-3495838464,3495847935,US
+3495838464,3495838719,US
+3495838720,3495839743,IE
+3495839744,3495847935,US
3495847936,3495849983,CA
3495849984,3495862271,US
3495862272,3495864319,CA
@@ -159386,7 +161873,11 @@
3496034304,3496050687,CA
3496050688,3496132607,US
3496132608,3496148991,CA
-3496165376,3496181759,US
+3496165376,3496170495,US
+3496170496,3496170751,NL
+3496170752,3496172031,US
+3496172032,3496172287,NL
+3496172288,3496181759,US
3496181760,3496189951,CA
3496189952,3496296447,US
3496296448,3496312831,CA
@@ -159395,8 +161886,8 @@
3496449536,3496451583,US
3496451584,3496452095,CA
3496452096,3496454599,US
-3496454600,3496454615,GB
-3496454616,3496454911,US
+3496454600,3496454614,GB
+3496454615,3496454911,US
3496454912,3496455167,CA
3496455168,3496458239,US
3496458240,3496458495,CA
@@ -159426,7 +161917,9 @@
3497229616,3497229623,CA
3497229624,3497229767,US
3497229768,3497229775,CA
-3497229776,3497410559,US
+3497229776,3497352703,US
+3497352704,3497352711,CA
+3497352712,3497410559,US
3497410560,3497431039,CA
3497431040,3497447423,US
3497447424,3497451519,CA
@@ -159473,17 +161966,13 @@
3500126464,3500126719,GB
3500126720,3500351487,US
3500351488,3500359679,JM
-3500359680,3500554239,US
-3500554240,3500554751,DE
-3500554752,3500555775,US
+3500359680,3500555775,US
3500555776,3500556287,SE
3500556288,3500728319,US
3500728320,3500736511,KY
-3500736512,3500757247,US
-3500757248,3500757503,DM
-3500757504,3500758527,US
-3500758528,3500761087,KY
-3500761088,3500807019,US
+3500736512,3500759039,US
+3500759040,3500760063,KY
+3500760064,3500807019,US
3500807020,3500807023,GB
3500807024,3500807195,US
3500807196,3500807199,GB
@@ -159503,15 +161992,15 @@
3501378048,3501378303,DE
3501378304,3501522943,US
3501522944,3501588479,CA
-3501588480,3502470143,US
+3501588480,3501789847,US
+3501789848,3501789855,FR
+3501789856,3502470143,US
3502470144,3502471167,MX
3502471168,3502545663,US
3502545664,3502545919,BS
3502545920,3502683135,US
3502683136,3502683391,MC
-3502683392,3502993407,US
-3502993408,3502993919,NL
-3502993920,3503206399,US
+3502683392,3503206399,US
3503206400,3503206911,CR
3503206912,3503250431,US
3503250432,3503250943,PK
@@ -159529,9 +162018,7 @@
3503990784,3503992831,AE
3503992832,3504136191,US
3504136192,3504138239,AZ
-3504138240,3504207871,US
-3504207872,3504208127,CA
-3504208128,3504223743,US
+3504138240,3504223743,US
3504223744,3504223999,RO
3504224000,3504928687,US
3504928688,3504928695,IT
@@ -159543,9 +162030,7 @@
3505112576,3505112831,EC
3505112832,3505121023,US
3505121024,3505121279,PH
-3505121280,3505270527,US
-3505270528,3505270783,HT
-3505270784,3505416959,US
+3505121280,3505416959,US
3505416960,3505417215,MX
3505417216,3505474559,US
3505474560,3505474815,GU
@@ -159565,7 +162050,9 @@
3507037184,3507037439,DE
3507037440,3507055903,US
3507055904,3507055911,HK
-3507055912,3507290111,US
+3507055912,3507081471,US
+3507081472,3507081727,HK
+3507081728,3507290111,US
3507290112,3507355647,AR
3507355648,3507421183,US
3507421184,3507421439,CA
@@ -159598,8 +162085,8 @@
3507437056,3507437311,US
3507437312,3507445759,CA
3507445760,3507449855,US
-3507449856,3507453951,CA
-3507453952,3507454975,US
+3507449856,3507454207,CA
+3507454208,3507454975,US
3507454976,3507455999,CA
3507456000,3507456255,US
3507456256,3507456511,CA
@@ -159609,9 +162096,7 @@
3507465728,3507486719,CA
3507486720,3507585023,US
3507585024,3507601407,CA
-3507601408,3507646463,US
-3507646464,3507647487,CA
-3507647488,3507748863,US
+3507601408,3507748863,US
3507748864,3507749375,CA
3507749376,3507749631,US
3507749632,3507765247,CA
@@ -159821,15 +162306,15 @@
3509536256,3509536511,CA
3509536512,3509537535,US
3509537536,3509537791,CA
-3509537792,3509538047,US
-3509538048,3509538303,CA
-3509538304,3509538559,US
+3509537792,3509538559,US
3509538560,3509538815,CA
3509538816,3509539071,US
3509539072,3509539327,CA
3509539328,3509539967,US
3509539968,3509540031,CA
-3509540032,3509541119,US
+3509540032,3509540351,US
+3509540352,3509540863,CA
+3509540864,3509541119,US
3509541120,3509541375,CA
3509541376,3509543423,US
3509543424,3509543679,CA
@@ -159847,9 +162332,7 @@
3509552128,3509552639,CA
3509552640,3509554943,US
3509554944,3509554959,CA
-3509554960,3509555199,US
-3509555200,3509555455,CA
-3509555456,3509555711,US
+3509554960,3509555711,US
3509555712,3509556735,CA
3509556736,3509557759,US
3509557760,3509558015,CA
@@ -159869,10 +162352,8 @@
3509567488,3509567743,CA
3509567744,3509567999,US
3509568000,3509568255,CA
-3509568256,3509571327,US
-3509571328,3509571583,CA
-3509571584,3509572863,US
-3509572864,3509573375,CA
+3509568256,3509573119,US
+3509573120,3509573375,CA
3509573376,3509573439,US
3509573440,3509573455,CA
3509573456,3509573631,US
@@ -159932,22 +162413,22 @@
3510324224,3510325247,AI
3510325248,3510326271,AG
3510326272,3510327295,VG
-3510327296,3510328575,AG
+3510327296,3510328031,AG
+3510328032,3510328063,DM
+3510328064,3510328575,AG
3510328576,3510328831,MS
3510328832,3510329599,AG
3510329600,3510329855,MS
3510329856,3510331391,AG
3510331392,3510332415,DM
-3510332416,3510333951,KN
-3510333952,3510334975,AG
-3510334976,3510335487,KN
-3510335488,3510335999,AI
-3510336000,3510337279,AG
-3510337280,3510337535,LC
+3510332416,3510335487,KN
+3510335488,3510337535,AI
3510337536,3510363647,US
3510363648,3510363775,CA
3510363776,3510363903,JP
-3510363904,3510478015,US
+3510363904,3510368767,US
+3510368768,3510369279,CA
+3510369280,3510478015,US
3510478016,3510478023,CA
3510478024,3510479791,US
3510479792,3510479799,IE
@@ -159966,7 +162447,9 @@
3511258112,3511314215,US
3511314216,3511314223,CA
3511314224,3511812095,US
-3511812096,3511844863,CA
+3511812096,3511832575,CA
+3511832576,3511832831,US
+3511832832,3511844863,CA
3511844864,3512021503,US
3512021504,3512021759,GB
3512021760,3512043519,US
@@ -159984,7 +162467,9 @@
3512205824,3512206079,AW
3512206080,3512207359,US
3512207360,3512209407,CO
-3512209408,3512221695,US
+3512209408,3512210431,US
+3512210432,3512210943,NA
+3512210944,3512221695,US
3512221696,3512221951,AG
3512221952,3512222207,VG
3512222208,3512222271,AG
@@ -160009,8 +162494,8 @@
3512242176,3512242431,CL
3512242432,3512242687,US
3512242688,3512244991,EG
-3512244992,3512245247,US
-3512245248,3512245759,IL
+3512244992,3512245503,US
+3512245504,3512245759,IL
3512245760,3512246015,US
3512246016,3512246783,CL
3512246784,3512248319,US
@@ -160021,8 +162506,8 @@
3512256512,3512258559,CL
3512258560,3512260607,US
3512260608,3512261631,GU
-3512261632,3512262655,US
-3512262656,3512263679,GT
+3512261632,3512262911,US
+3512262912,3512263679,GT
3512263680,3512264191,VE
3512264192,3512267263,US
3512267264,3512268031,TG
@@ -160066,7 +162551,9 @@
3512836096,3512840191,SG
3512840192,3512844287,GB
3512844288,3512852479,CA
-3512852480,3512983551,US
+3512852480,3512959231,US
+3512959232,3512960767,CA
+3512960768,3512983551,US
3512983552,3512987647,AR
3512987648,3513188351,US
3513188352,3513204735,CA
@@ -160084,25 +162571,22 @@
3513495680,3513495743,PR
3513495744,3513495807,VI
3513495808,3513495871,UM
-3513495872,3513496067,CA
+3513495872,3513496063,US
+3513496064,3513496067,CA
3513496068,3513496071,MX
3513496072,3513496075,PR
3513496076,3513496079,VI
3513496080,3513496083,UM
-3513496084,3513497151,CA
+3513496084,3513497087,US
+3513497088,3513497151,CA
3513497152,3513497215,MX
3513497216,3513497279,PR
3513497280,3513497343,VI
3513497344,3513497407,UM
-3513497408,3513497599,CA
-3513497600,3513497855,US
-3513497856,3513498111,CA
-3513498112,3513500415,US
+3513497408,3513500415,US
3513500416,3513500671,AU
3513500672,3513778175,US
-3513778176,3513782271,CA
-3513782272,3513783295,US
-3513783296,3513794559,CA
+3513778176,3513794559,CA
3513794560,3514007551,US
3514007552,3514040319,CA
3514040320,3514367999,US
@@ -160156,26 +162640,28 @@
3514802984,3514808831,CA
3514808832,3514809855,US
3514809856,3514843135,CA
-3514843136,3514993983,US
+3514843136,3514993663,US
+3514993664,3514993983,GB
3514993984,3514993987,FR
3514993988,3514993991,DE
3514993992,3514994007,GB
3514994008,3514994015,DK
3514994016,3514994016,GB
3514994017,3514994023,DK
-3514994024,3514997759,US
+3514994024,3514994049,GB
+3514994050,3514994050,US
+3514994051,3514994175,GB
+3514994176,3514997759,US
3514997760,3514998783,CL
-3514998784,3515009023,US
-3515009024,3515009535,CA
-3515009536,3515056639,US
-3515056640,3515056895,GB
-3515056896,3515058175,US
+3514998784,3515056127,US
+3515056128,3515057407,GB
+3515057408,3515058175,US
3515058176,3515058431,SE
3515058432,3515059199,US
-3515059200,3515059455,DE
-3515059456,3515060735,US
-3515060736,3515060991,NL
-3515060992,3515114247,US
+3515059200,3515059967,DE
+3515059968,3515060735,US
+3515060736,3515061247,NL
+3515061248,3515114247,US
3515114248,3515114255,AU
3515114256,3515211775,US
3515211776,3515219967,CA
@@ -160206,7 +162692,9 @@
3516039168,3516071935,CA
3516071936,3516088831,US
3516088832,3516088832,GB
-3516088833,3516094207,US
+3516088833,3516092671,US
+3516092672,3516092927,CA
+3516092928,3516094207,US
3516094208,3516094208,GB
3516094209,3516095487,US
3516095488,3516095488,GB
@@ -160233,7 +162721,11 @@
3516900096,3516900351,ZA
3516900352,3516900607,US
3516900608,3516900863,ZA
-3516900864,3516903423,US
+3516900864,3516902399,US
+3516902400,3516902655,ZA
+3516902656,3516902911,US
+3516902912,3516903167,ZA
+3516903168,3516903423,US
3516903424,3516907519,CA
3516907520,3517019135,US
3517019136,3517019391,HN
@@ -160272,12 +162764,12 @@
3517389568,3517390079,US
3517390080,3517390335,CA
3517390336,3517390591,US
-3517390592,3517394943,CA
-3517394944,3517395199,US
-3517395200,3517395455,CA
-3517395456,3517395967,US
-3517395968,3517396479,CA
-3517396480,3517397247,US
+3517390592,3517392895,CA
+3517392896,3517393151,US
+3517393152,3517393407,CA
+3517393408,3517394431,US
+3517394432,3517396991,CA
+3517396992,3517397247,US
3517397248,3517397503,CA
3517397504,3517397759,US
3517397760,3517398015,CA
@@ -160300,12 +162792,8 @@
3517409280,3517409791,US
3517409792,3517410303,CA
3517410304,3517411327,US
-3517411328,3517411839,CA
-3517411840,3517412095,US
-3517412096,3517412351,CA
-3517412352,3517412607,US
-3517412608,3517412863,CA
-3517412864,3517416919,US
+3517411328,3517413375,CA
+3517413376,3517416919,US
3517416920,3517416927,CA
3517416928,3517416959,US
3517416960,3517417215,CA
@@ -160323,11 +162811,11 @@
3517425664,3517425919,CA
3517425920,3517426751,US
3517426752,3517426815,CA
-3517426816,3517426943,US
-3517426944,3517427455,CA
+3517426816,3517427199,US
+3517427200,3517427455,CA
3517427456,3517428991,US
-3517428992,3517429503,CA
-3517429504,3517430271,US
+3517428992,3517429247,CA
+3517429248,3517430271,US
3517430272,3517430527,CA
3517430528,3517432319,US
3517432320,3517432575,CA
@@ -160462,7 +162950,9 @@
3519875584,3519876095,CA
3519876096,3519878271,US
3519878272,3519878303,CA
-3519878304,3519881983,US
+3519878304,3519879727,US
+3519879728,3519879735,CA
+3519879736,3519881983,US
3519881984,3519882239,CA
3519882240,3519882751,US
3519882752,3519883007,CA
@@ -160597,7 +163087,9 @@
3521380352,3521837055,US
3521837056,3521837311,SG
3521837312,3521904639,US
-3521904640,3521921023,JM
+3521904640,3521915903,JM
+3521915904,3521916927,VC
+3521916928,3521921023,JM
3521921024,3521965055,US
3521965056,3521966079,DE
3521966080,3522101247,US
@@ -160612,9 +163104,15 @@
3522131845,3522131846,BZ
3522131847,3522131858,US
3522131859,3522131859,DE
-3522131860,3522131888,US
+3522131860,3522131866,US
+3522131867,3522131867,BZ
+3522131868,3522131876,US
+3522131877,3522131877,BZ
+3522131878,3522131888,US
3522131889,3522131889,BZ
-3522131890,3522131900,US
+3522131890,3522131897,US
+3522131898,3522131898,BZ
+3522131899,3522131900,US
3522131901,3522131901,BZ
3522131902,3522131923,US
3522131924,3522131924,BZ
@@ -160630,9 +163128,7 @@
3522174976,3522179071,BM
3522179072,3522195455,US
3522195456,3522199551,CA
-3522199552,3522816767,US
-3522816768,3522817023,CA
-3522817024,3522854911,US
+3522199552,3522854911,US
3522854912,3522871295,CA
3522871296,3522879487,US
3522879488,3522881535,GB
@@ -160645,8 +163141,8 @@
3522903040,3522903807,US
3522903808,3522904063,CA
3522904064,3522937599,US
-3522937600,3522938879,GB
-3522938880,3522940415,US
+3522937600,3522938367,GB
+3522938368,3522940415,US
3522940416,3522940671,HK
3522940672,3522950655,US
3522950656,3522951167,CA
@@ -160675,11 +163171,7 @@
3523493888,3523497983,BD
3523497984,3523500031,AU
3523500032,3523502079,KR
-3523502080,3523505407,PH
-3523505408,3523505441,JP
-3523505442,3523505442,PH
-3523505443,3523505663,JP
-3523505664,3523510271,PH
+3523502080,3523510271,PH
3523510272,3523518463,TH
3523518464,3523526655,JP
3523526656,3523530751,US
@@ -160972,8 +163464,7 @@
3526950912,3526951935,MY
3526951936,3526952959,JP
3526952960,3526953983,ID
-3526953984,3526954751,JP
-3526954752,3526955007,PH
+3526953984,3526955007,JP
3526955008,3526955263,US
3526955264,3526956287,JP
3526956288,3526956799,HK
@@ -160983,23 +163474,24 @@
3526958336,3526958336,SG
3526958337,3526958591,JP
3526958592,3526958592,SG
-3526958593,3526958847,JP
+3526958593,3526958612,JP
+3526958613,3526958613,HK
+3526958614,3526958847,JP
3526958848,3526959359,VN
3526959360,3526959871,JP
3526959872,3526960639,HK
-3526960640,3526961151,SG
+3526960640,3526961151,JP
3526961152,3526961407,MY
3526961408,3526961663,AU
3526961664,3526964735,JP
-3526964736,3526965503,AU
+3526964736,3526964992,AU
+3526964993,3526965247,JP
+3526965248,3526965503,AU
3526965504,3526966527,JP
3526966528,3526966783,HK
-3526966784,3526967295,SG
-3526967296,3526971439,JP
-3526971440,3526971443,HK
-3526971444,3526971531,JP
-3526971532,3526971535,HK
-3526971536,3526971647,JP
+3526966784,3526967039,JP
+3526967040,3526967295,SG
+3526967296,3526971647,JP
3526971648,3526972159,HK
3526972160,3527000319,JP
3527000320,3527000575,IN
@@ -161050,9 +163542,7 @@
3534749696,3534757887,HK
3534757888,3534758143,AU
3534758144,3534758147,JP
-3534758148,3534758155,AU
-3534758156,3534758159,JP
-3534758160,3534758399,AU
+3534758148,3534758399,AU
3534758400,3534758655,HK
3534758656,3534758911,AU
3534758912,3534758927,PH
@@ -161067,22 +163557,16 @@
3534760448,3534760959,NZ
3534760960,3534761727,AU
3534761728,3534761983,JP
-3534761984,3534783231,HK
-3534783232,3534783487,IN
-3534783488,3534784767,HK
+3534761984,3534784767,HK
3534784768,3534785023,TW
-3534785024,3534785043,HK
-3534785044,3534785047,SG
-3534785048,3534785119,HK
-3534785120,3534785123,SG
-3534785124,3534785327,HK
-3534785328,3534785335,SG
-3534785336,3534785343,HK
-3534785344,3534785375,SG
-3534785376,3534786815,HK
-3534786816,3534787327,MY
+3534785024,3534786559,HK
+3534786560,3534786575,MY
+3534786576,3534786576,HK
+3534786577,3534787327,MY
3534787328,3534787583,TH
-3534787584,3534863443,HK
+3534787584,3534788463,HK
+3534788464,3534788471,KR
+3534788472,3534863443,HK
3534863444,3534863444,CN
3534863445,3534880767,HK
3534880768,3535273983,KR
@@ -161141,7 +163625,7 @@
3537010688,3537027071,ID
3537027072,3537047551,KR
3537047552,3537049599,ID
-3537049600,3537051647,HK
+3537049600,3537051647,TW
3537051648,3537059839,JP
3537059840,3537068031,KR
3537068032,3537076223,VN
@@ -161199,9 +163683,7 @@
3556925440,3556933631,PL
3556933632,3556941823,UA
3556941824,3556950015,IE
-3556950016,3556955135,TR
-3556955136,3556955167,GB
-3556955168,3556958207,TR
+3556950016,3556958207,TR
3556958208,3556966399,KG
3556966400,3556974591,SE
3556974592,3556982783,ES
@@ -161209,12 +163691,13 @@
3556990976,3556999167,UA
3556999168,3557007359,RU
3557007360,3557015551,IT
-3557015552,3557016976,LV
-3557016977,3557016977,ES
-3557016978,3557023743,LV
-3557023744,3557026815,BE
-3557026816,3557027839,NL
-3557027840,3557031935,BE
+3557015552,3557023743,LV
+3557023744,3557024895,GB
+3557024896,3557025023,BE
+3557025024,3557025791,GB
+3557025792,3557027839,NL
+3557027840,3557029887,BE
+3557029888,3557031935,GB
3557031936,3557040127,IT
3557040128,3557048319,NO
3557048320,3557056511,CH
@@ -161242,11 +163725,12 @@
3557173760,3557174015,IR
3557174016,3557174527,IT
3557174528,3557174783,IR
-3557174784,3557175039,IT
+3557174784,3557175039,AE
3557175040,3557175295,IR
3557175296,3557175807,CH
-3557175808,3557176063,IR
-3557176064,3557176831,IT
+3557175808,3557176607,IT
+3557176608,3557176619,NE
+3557176620,3557176831,IT
3557176832,3557177023,IQ
3557177024,3557179391,IT
3557179392,3557228543,DE
@@ -161265,8 +163749,13 @@
3557302272,3557310463,UA
3557310464,3557326847,ES
3557326848,3557335039,DE
+3557335040,3557335807,GB
+3557336064,3557336271,GB
3557336272,3557336279,BE
+3557336280,3557338623,GB
+3557338880,3557339163,GB
3557339164,3557339164,BE
+3557339165,3557343231,GB
3557343232,3557351423,DE
3557351424,3557355519,RU
3557355520,3557355775,NL
@@ -161286,10 +163775,8 @@
3557363596,3557363631,JE
3557363632,3557363639,GB
3557363640,3557363703,JE
-3557363704,3557363707,GB
-3557363708,3557364703,JE
-3557364704,3557364711,GB
-3557364712,3557367807,JE
+3557363704,3557363711,GB
+3557363712,3557367807,JE
3557367808,3557375999,DE
3557376000,3557384191,ES
3557384192,3557392383,GB
@@ -161343,11 +163830,13 @@
3557834752,3557842943,IR
3557842944,3557851135,FI
3557851136,3557859327,HU
-3557859328,3557861983,SE
-3557861984,3557862015,FI
-3557862016,3557863295,SE
-3557863296,3557863327,FI
-3557863328,3557863887,SE
+3557859328,3557861375,SE
+3557861376,3557861887,FI
+3557861888,3557861919,SE
+3557861920,3557862081,FI
+3557862082,3557862082,SE
+3557862083,3557863423,FI
+3557863424,3557863887,SE
3557863888,3557863903,NO
3557863904,3557863919,FI
3557863920,3557864311,SE
@@ -161359,8 +163848,8 @@
3557892096,3557900287,IE
3557900288,3557916671,AT
3557916672,3557924863,NO
-3557924864,3557928959,AX
-3557928960,3557933055,FI
+3557924864,3557926911,AX
+3557926912,3557933055,FI
3557933056,3557941247,IT
3557941248,3557957631,DE
3557957632,3557965823,SI
@@ -161440,7 +163929,9 @@
3558276352,3558277119,GI
3558277120,3558285951,GB
3558285952,3558286079,DE
-3558286080,3558289975,GB
+3558286080,3558286335,GB
+3558286336,3558287359,FR
+3558287360,3558289975,GB
3558289976,3558289983,CZ
3558289984,3558290831,GB
3558290832,3558290847,ES
@@ -161476,7 +163967,7 @@
3558457472,3558457599,NL
3558457600,3558457727,FR
3558457728,3558465535,NL
-3558465536,3558473727,AU
+3558465536,3558473727,GB
3558473728,3558506495,SA
3558506496,3558514687,UA
3558514688,3558522879,SK
@@ -161485,7 +163976,9 @@
3558525184,3558525439,NL
3558525440,3558525695,FR
3558525696,3558525951,IE
-3558525952,3558531071,NL
+3558525952,3558526975,NL
+3558526976,3558527744,ES
+3558527745,3558531071,NL
3558531072,3558539263,RU
3558539264,3558547455,DK
3558547456,3558555647,FR
@@ -161493,7 +163986,9 @@
3558572032,3558580223,DE
3558580224,3558582783,CH
3558582784,3558583295,GB
-3558583296,3558586879,CH
+3558583296,3558584623,CH
+3558584624,3558584631,FR
+3558584632,3558586879,CH
3558586880,3558587391,GB
3558587392,3558588415,CH
3558588416,3558596607,CZ
@@ -161559,18 +164054,18 @@
3559055360,3559063551,AM
3559063552,3559079935,CH
3559079936,3559088127,JO
-3559088128,3559088639,BE
-3559088640,3559090239,GB
+3559088128,3559090175,BE
+3559090176,3559090239,GB
3559090240,3559090303,BE
-3559090304,3559090687,GB
-3559090688,3559090943,BE
-3559090944,3559091023,GB
+3559090304,3559091023,GB
3559091024,3559091031,BE
3559091032,3559091399,GB
3559091400,3559091407,BE
3559091408,3559092243,GB
3559092244,3559092244,BE
-3559092245,3559093503,GB
+3559092245,3559093311,GB
+3559093312,3559093319,BE
+3559093320,3559093503,GB
3559093504,3559093759,BE
3559093760,3559095455,GB
3559095456,3559095456,BE
@@ -161594,7 +164089,9 @@
3559164152,3559164159,IT
3559164160,3559167215,GB
3559167216,3559167231,DE
-3559167232,3559172607,GB
+3559167232,3559171583,GB
+3559171584,3559172095,DE
+3559172096,3559172607,GB
3559172608,3559172863,DE
3559172864,3559178239,GB
3559178240,3559186431,LB
@@ -161631,7 +164128,9 @@
3559306578,3559309311,GB
3559309312,3559317503,PL
3559317504,3559325695,FI
-3559325696,3559333887,IT
+3559325696,3559328767,IT
+3559328768,3559329279,GB
+3559329280,3559333887,IT
3559333888,3559336447,SE
3559336448,3559336703,US
3559336704,3559342079,SE
@@ -161722,7 +164221,9 @@
3559931904,3559938181,GB
3559938182,3559938182,DE
3559938183,3559940095,GB
-3559940096,3559948287,DE
+3559940096,3559945087,DE
+3559945088,3559945151,PL
+3559945152,3559948287,DE
3559948288,3559956479,RU
3559956480,3559964671,IT
3559964672,3559976959,RU
@@ -161740,9 +164241,7 @@
3560030208,3560046591,GB
3560046592,3560054783,BG
3560054784,3560062975,TR
-3560062976,3560069119,BG
-3560069120,3560069375,GB
-3560069376,3560071167,BG
+3560062976,3560071167,BG
3560071168,3560079359,CY
3560079360,3560087551,FI
3560087552,3560095743,GB
@@ -161818,6 +164317,16 @@
3560669184,3560685567,CH
3560685568,3560693759,ES
3560693760,3560701951,PL
+3560701952,3560702975,LT
+3560702976,3560703999,RU
+3560704000,3560704255,IE
+3560704256,3560704511,GB
+3560704512,3560704767,US
+3560704768,3560705023,IE
+3560705024,3560706047,NL
+3560706048,3560707071,GB
+3560707072,3560708095,RU
+3560708096,3560710143,LT
3560710144,3560718335,CH
3560718336,3560726527,GM
3560726528,3560734719,DK
@@ -163227,7 +165736,8 @@
3560945450,3560945450,SG
3560945451,3560945451,IN
3560945452,3560945453,DE
-3560945454,3560945458,SG
+3560945454,3560945457,SG
+3560945458,3560945458,DE
3560945459,3560945459,TW
3560945460,3560945460,SG
3560945461,3560945461,DE
@@ -163268,7 +165778,7 @@
3560945568,3560945575,DE
3560945576,3560945579,SG
3560945580,3560945583,MY
-3560945584,3560945587,SG
+3560945584,3560945587,DE
3560945588,3560945591,TW
3560945592,3560945595,SG
3560945596,3560945599,DE
@@ -163621,8 +166131,8 @@
3561022562,3561022562,DE
3561022563,3561022563,AT
3561022564,3561022564,DE
-3561022565,3561022719,AT
-3561022720,3561037823,DE
+3561022565,3561022975,AT
+3561022976,3561037823,DE
3561037824,3561046015,BE
3561046016,3561054207,RU
3561054208,3561062399,MT
@@ -163701,20 +166211,12 @@
3561578496,3561586687,RU
3561586688,3561594879,BG
3561594880,3561603071,SE
-3561603072,3561607167,FR
-3561607168,3561607391,GB
-3561607392,3561607423,FR
-3561607424,3561607679,GB
+3561603072,3561605119,FR
+3561605120,3561607679,GB
3561607680,3561608191,FR
3561608192,3561609215,GB
-3561609216,3561611263,FR
-3561611264,3561611519,GB
-3561611520,3561611775,FR
-3561611776,3561612543,GB
-3561612544,3561612799,FR
-3561612800,3561613199,GB
-3561613200,3561613215,ES
-3561613216,3561613311,GB
+3561609216,3561612799,FR
+3561612800,3561613311,ES
3561613312,3561613823,FR
3561613824,3561614207,GB
3561614208,3561614335,FR
@@ -163722,8 +166224,7 @@
3561614848,3561615103,FR
3561615104,3561615359,GB
3561615360,3561617407,FR
-3561617408,3561618431,IE
-3561618432,3561618877,ES
+3561617408,3561618877,ES
3561618878,3561618878,PL
3561618879,3561619071,ES
3561619072,3561619072,GB
@@ -163746,9 +166247,7 @@
3561775104,3561783295,IL
3561783296,3561799679,RU
3561799680,3561807871,DE
-3561807872,3561814015,BE
-3561814016,3561815039,LU
-3561815040,3561816063,BE
+3561807872,3561816063,BE
3561816064,3561824255,VA
3561824256,3561832447,LI
3561832448,3561840639,IT
@@ -163762,34 +166261,46 @@
3561897984,3561906175,GB
3561906176,3561914367,DE
3561914368,3561922559,ES
-3561922560,3561924607,NL
-3561924608,3561925043,GB
-3561925044,3561925044,NL
-3561925045,3561925343,GB
+3561922560,3561924607,GB
+3561924608,3561925119,NL
+3561925120,3561925343,GB
3561925344,3561925375,NL
-3561925376,3561928703,GB
-3561928704,3561938943,NL
+3561925376,3561926655,GB
+3561926656,3561927679,NL
+3561927680,3561929727,GB
+3561929728,3561930239,NL
+3561930240,3561930751,GB
+3561930752,3561938943,NL
3561938944,3561947135,IE
3561947136,3561963519,DE
3561963520,3561971711,BE
3561971712,3561975807,CZ
3561975808,3561979903,UA
3561979904,3561988095,ES
-3561988096,3562004479,DE
-3562004480,3562012671,NL
+3561988096,3562012671,DE
3562012672,3562020863,IR
3562020864,3562029055,UA
3562029056,3562037247,CZ
3562037248,3562045439,CH
-3562045440,3562056911,ES
-3562056912,3562056927,FR
-3562056928,3562057471,ES
-3562057472,3562057727,DE
-3562057728,3562059391,ES
+3562045440,3562059391,ES
3562059392,3562059519,CH
3562059520,3562061823,ES
+3562061824,3562062847,LT
+3562062848,3562063871,UA
+3562063872,3562064895,SE
+3562064896,3562065919,IL
+3562065920,3562066943,ES
+3562066944,3562068991,NL
+3562068992,3562070015,IE
3562070016,3562078207,DE
3562078208,3562086399,SK
+3562086400,3562088447,RU
+3562088448,3562089471,FR
+3562089472,3562090495,DE
+3562090496,3562091519,NO
+3562091520,3562092543,LB
+3562092544,3562093567,RO
+3562093568,3562094591,MD
3562094592,3562094879,GB
3562094880,3562094975,CH
3562094976,3562102256,GB
@@ -163820,7 +166331,7 @@
3562201088,3562209279,DE
3562209280,3562217471,RU
3562217472,3562225663,DE
-3562225664,3562233855,NL
+3562226688,3562233855,NL
3562233856,3562242047,FI
3562242048,3562253276,FR
3562253277,3562253277,NL
@@ -163869,6 +166380,14 @@
3562496000,3562504191,BE
3562504192,3562512383,DE
3562512384,3562520575,UA
+3562520576,3562521599,AU
+3562521600,3562522623,TR
+3562522624,3562523647,RO
+3562523648,3562525695,DE
+3562525696,3562526718,US
+3562526719,3562526719,DE
+3562526720,3562527743,RU
+3562527744,3562528767,DE
3562528768,3562536959,PL
3562536960,3562545151,AT
3562545152,3562553343,GB
@@ -163888,6 +166407,13 @@
3562668032,3562676223,IT
3562676224,3562684415,UA
3562684416,3562692607,FI
+3562692608,3562693631,RU
+3562693632,3562694655,GB
+3562695680,3562696703,UA
+3562696704,3562697727,GB
+3562697728,3562698751,MD
+3562698752,3562699775,DE
+3562699776,3562700799,UA
3562700800,3562708991,DE
3562708992,3562717183,UA
3562717184,3562725375,CH
@@ -163935,7 +166461,7 @@
3563011072,3563012095,DE
3563012096,3563020287,FR
3563020288,3563028479,DE
-3563028480,3563036671,HK
+3563028480,3563036671,US
3563036672,3563044863,BG
3563044864,3563053055,ES
3563053056,3563061247,GB
@@ -163970,8 +166496,8 @@
3563331584,3563339775,DE
3563339776,3563347967,NG
3563347968,3563348991,GB
-3563348992,3563352063,FI
-3563352064,3563356159,GB
+3563348992,3563353087,FI
+3563353088,3563356159,GB
3563356160,3563364351,RU
3563364352,3563372543,BE
3563372544,3563380735,SA
@@ -163993,6 +166519,16 @@
3563503616,3563511807,GB
3563511808,3563519999,DE
3563520000,3563528191,FR
+3563528192,3563529215,DE
+3563529216,3563530239,TR
+3563530240,3563531263,GB
+3563531264,3563532287,LV
+3563532288,3563532799,US
+3563532800,3563533055,DE
+3563533056,3563533311,RO
+3563533312,3563534335,NL
+3563534336,3563535359,TR
+3563535360,3563536383,DE
3563536384,3563544575,CH
3563544576,3563552767,RU
3563552768,3563560959,SI
@@ -164016,6 +166552,14 @@
3563741184,3563749375,GB
3563749376,3563765759,PL
3563765760,3563782143,ES
+3563782144,3563784191,TR
+3563784192,3563785215,DE
+3563785216,3563785727,RU
+3563785728,3563786239,GB
+3563786240,3563787263,DE
+3563787264,3563788287,SY
+3563788288,3563789311,RU
+3563789312,3563790335,DE
3563790336,3563798527,EE
3563798528,3563800607,FR
3563800608,3563800623,GB
@@ -164100,12 +166644,16 @@
3563804704,3563804719,FR
3563804720,3563804727,GB
3563804728,3563806719,FR
-3563806720,3563814911,SA
+3563806720,3563807743,SA
+3563807744,3563808255,GB
+3563808256,3563814911,SA
3563814912,3563823103,SE
3563823104,3563831295,DE
3563831296,3563847679,RU
3563847680,3563848447,NL
-3563848448,3563848703,GB
+3563848448,3563848639,GB
+3563848640,3563848655,NL
+3563848656,3563848703,GB
3563848704,3563848847,NL
3563848848,3563848848,GB
3563848849,3563848849,NL
@@ -164130,12 +166678,10 @@
3563995136,3564003327,MK
3564003328,3564011519,DE
3564011520,3564012543,UA
-3564012544,3564013567,RU
-3564013568,3564016639,UA
+3564012544,3564015615,RU
+3564015616,3564016639,UA
3564016640,3564016895,RU
-3564016896,3564018687,UA
-3564018688,3564019199,RU
-3564019200,3564019711,UA
+3564016896,3564019711,UA
3564019712,3564027903,GB
3564027904,3564044287,DE
3564044288,3564052479,CZ
@@ -164159,8 +166705,8 @@
3564176640,3564176671,PL
3564176672,3564183551,GB
3564183552,3564191743,UA
-3564191744,3564193279,BE
-3564197120,3564197375,BE
+3564191744,3564193791,BE
+3564196864,3564197375,BE
3564199936,3564208127,RU
3564208128,3564216319,GB
3564216320,3564224511,PT
@@ -164170,8 +166716,23 @@
3564265472,3564273663,NL
3564273664,3564306431,DE
3564306432,3564314623,TR
-3564322816,3564331007,IT
-3564339200,3564355583,GB
+3564314624,3564315647,DE
+3564315648,3564316671,NL
+3564316672,3564317695,DE
+3564317696,3564318719,ES
+3564318720,3564319487,RU
+3564319488,3564319743,GB
+3564319744,3564320767,DE
+3564320768,3564321791,RU
+3564321792,3564322815,RO
+3564322816,3564332031,IT
+3564332032,3564333055,TR
+3564333056,3564334079,NL
+3564334080,3564335103,DE
+3564335104,3564336127,UZ
+3564336128,3564337151,PL
+3564337152,3564338175,RS
+3564338176,3564355583,GB
3564355584,3564363775,NL
3564363776,3564371967,UA
3564371968,3564380159,DE
@@ -164204,6 +166765,12 @@
3564572532,3564574719,GB
3564574720,3564574975,NL
3564574976,3564576767,GB
+3564576768,3564577791,MD
+3564577792,3564578815,CZ
+3564578816,3564580863,RU
+3564580864,3564582911,ES
+3564582912,3564583935,GB
+3564583936,3564584959,SE
3564584960,3564593151,SA
3564593152,3564601343,RU
3564601344,3564609535,EE
@@ -164222,17 +166789,11 @@
3564733184,3564733215,DE
3564733216,3564733259,GB
3564733260,3564733263,DE
-3564733264,3564733343,GB
-3564733344,3564733351,DE
-3564733352,3564733393,GB
-3564733394,3564733394,DE
-3564733395,3564733416,GB
-3564733417,3564733420,DE
-3564733421,3564733421,GB
-3564733422,3564733422,DE
-3564733423,3564733439,GB
-3564733440,3564734207,DE
-3564734208,3564734457,GB
+3564733264,3564733311,GB
+3564733312,3564733439,DE
+3564733440,3564733807,GB
+3564733808,3564733823,DE
+3564733824,3564734457,GB
3564734458,3564734458,DE
3564734459,3564734741,GB
3564734742,3564734742,DE
@@ -164241,15 +166802,7 @@
3564734752,3564734775,GB
3564734776,3564734783,DE
3564734784,3564736511,GB
-3564736512,3564737023,DE
-3564737024,3564739327,GB
-3564739328,3564739343,DE
-3564739344,3564739345,GB
-3564739346,3564739346,DE
-3564739347,3564739521,GB
-3564739522,3564739522,DE
-3564739523,3564739583,GB
-3564739584,3564740607,DE
+3564736512,3564740607,DE
3564740608,3564748799,FR
3564748800,3564756991,GB
3564756992,3564765183,ES
@@ -164263,9 +166816,7 @@
3564806144,3564814335,BG
3564814336,3564822527,PL
3564822528,3564830719,EG
-3564830720,3564836863,BE
-3564836864,3564836991,GB
-3564836992,3564838911,BE
+3564830720,3564838911,BE
3564838912,3564847103,DE
3564847104,3564855295,IT
3564855296,3564863487,DE
@@ -164292,22 +166843,23 @@
3564883200,3564883455,NL
3564883456,3564883967,GB
3564883968,3564884479,NL
-3564884480,3564884543,GB
-3564884544,3564884551,DE
-3564884552,3564886015,GB
+3564884480,3564886015,GB
3564886016,3564886527,NL
-3564886528,3564886719,GB
-3564886720,3564886751,NL
-3564886752,3564888991,GB
+3564886528,3564886655,GB
+3564886656,3564886783,NL
+3564886784,3564888991,GB
3564888992,3564888993,ES
3564888994,3564888994,NL
3564888995,3564889007,ES
3564889008,3564889633,GB
3564889634,3564889634,NL
-3564889635,3564891647,GB
+3564889635,3564891135,GB
+3564891136,3564891647,DE
3564891648,3564892159,IT
-3564892160,3564895231,GB
-3564895232,3564895743,NL
+3564892160,3564894207,GB
+3564894208,3564894719,NL
+3564894720,3564894975,GB
+3564894976,3564895743,NL
3564895744,3564896255,GB
3564896256,3564904447,RU
3564904448,3564912639,DE
@@ -164343,8 +166895,8 @@
3565027328,3565035519,PL
3565035520,3565037567,IE
3565037568,3565038591,GB
-3565038592,3565038847,IE
-3565038848,3565039487,GB
+3565038592,3565039103,IE
+3565039104,3565039487,GB
3565039488,3565039495,IE
3565039496,3565039615,GB
3565039616,3565041663,IE
@@ -164367,7 +166919,8 @@
3565256704,3565289471,CN
3565289472,3565355007,DK
3565355008,3565420543,IT
-3565420544,3565486975,GB
+3565420544,3565486335,GB
+3565486336,3565486975,FR
3565486976,3565487615,NL
3565487616,3565495295,GB
3565495296,3565496319,FR
@@ -164375,91 +166928,13 @@
3565502464,3565503487,NL
3565503488,3565518847,GB
3565518848,3565551615,TR
-3565551616,3565684995,GB
+3565551616,3565682687,GB
+3565682688,3565684735,NL
+3565684736,3565684995,GB
3565684996,3565684996,NL
-3565684997,3565690879,GB
-3565690880,3565748223,NL
-3565748224,3565752319,GB
-3565752464,3565752479,GB
-3565752536,3565752559,GB
-3565752576,3565752839,GB
-3565752856,3565752879,GB
-3565752888,3565752983,GB
-3565752992,3565752999,GB
-3565753016,3565753031,GB
-3565753040,3565753071,GB
-3565753080,3565753183,GB
-3565753248,3565753279,GB
-3565753344,3565753791,GB
-3565753800,3565753815,GB
-3565753824,3565753831,GB
-3565753840,3565753847,GB
-3565753984,3565754367,GB
-3565754496,3565754511,GB
-3565754624,3565755183,GB
-3565755200,3565755263,GB
-3565755280,3565755359,GB
-3565755376,3565755583,GB
-3565755648,3565755695,GB
-3565755704,3565755727,GB
-3565755736,3565755831,GB
-3565755840,3565755847,GB
-3565755856,3565755871,GB
-3565755880,3565755903,GB
-3565756152,3565756159,GB
-3565756416,3565760783,GB
-3565760792,3565760799,GB
-3565760808,3565760823,GB
-3565760832,3565760855,GB
-3565760864,3565760935,GB
-3565760944,3565760967,GB
-3565760976,3565761007,GB
-3565761016,3565761279,GB
-3565761344,3565761535,GB
-3565761544,3565761599,GB
-3565761616,3565761631,GB
-3565761640,3565761647,GB
-3565761656,3565761687,GB
-3565761704,3565761727,GB
-3565761752,3565761783,GB
-3565761792,3565762047,GB
-3565762048,3565762303,ZA
-3565762560,3565762815,GB
-3565763072,3565763455,GB
-3565763488,3565763599,GB
-3565763616,3565763671,GB
-3565763680,3565763703,GB
-3565763720,3565763735,GB
-3565763744,3565763751,GB
-3565763760,3565763799,GB
-3565763808,3565763815,GB
-3565763832,3565763839,GB
-3565763884,3565763891,GB
-3565764096,3565764183,GB
-3565764192,3565764207,GB
-3565764256,3565764367,GB
-3565764376,3565764431,GB
-3565764448,3565764455,GB
-3565764464,3565764551,GB
-3565764576,3565766655,GB
-3565766912,3565767167,GB
-3565767176,3565767255,GB
-3565767272,3565767287,GB
-3565767296,3565767351,GB
-3565767360,3565767399,GB
-3565767408,3565767439,GB
-3565767456,3565767487,GB
-3565767504,3565767519,GB
-3565767536,3565767599,GB
-3565767616,3565767631,GB
-3565767680,3565767999,GB
-3565768208,3565768223,GB
-3565768240,3565768247,GB
-3565768448,3565768575,GB
-3565768704,3565768983,GB
-3565769472,3565769727,GB
-3565770752,3565771775,GB
-3565777920,3565813759,GB
+3565684997,3565686783,GB
+3565686784,3565748223,NL
+3565748224,3565813759,GB
3565813760,3565879295,SA
3565879296,3566010367,GB
3566010368,3566075903,IT
@@ -164486,75 +166961,20 @@
3566739456,3566747647,RU
3566747648,3566764031,GR
3566764032,3566796799,AT
-3566796800,3566862335,NL
+3566796800,3566799871,NL
+3566799872,3566800127,PL
+3566800128,3566862335,NL
3566862336,3566895103,TR
3566895104,3566927871,KZ
3566927872,3566993407,FR
3566993408,3567058943,TR
3567058944,3567124479,FR
-3567124992,3567125023,GB
-3567125248,3567125503,GB
-3567126688,3567126759,GB
-3567127552,3567127807,GB
-3567129856,3567129887,GB
-3567130016,3567130079,GB
-3567131384,3567131647,GB
-3567133216,3567133247,GB
-3567133368,3567133375,GB
-3567134208,3567134335,GB
-3567134848,3567134975,GB
-3567136512,3567136575,GB
-3567136640,3567136671,GB
-3567136768,3567136895,GB
-3567137024,3567137279,GB
-3567137600,3567137663,GB
-3567137988,3567137991,GB
-3567138000,3567138003,GB
-3567140096,3567140351,GB
-3567140864,3567140927,GB
-3567141632,3567141887,GB
-3567142272,3567142399,GB
-3567143520,3567143551,GB
-3567143680,3567143687,GB
-3567143872,3567143935,GB
-3567143952,3567143967,GB
-3567144172,3567144175,GB
-3567144320,3567144447,GB
-3567144768,3567144831,GB
-3567147528,3567147535,GB
-3567147552,3567147559,GB
-3567148520,3567148527,GB
-3567148800,3567149055,GB
-3567149088,3567149119,GB
-3567149904,3567149911,GB
-3567149920,3567149935,GB
-3567151136,3567151199,GB
-3567151232,3567151263,GB
-3567152000,3567152127,GB
-3567152160,3567152191,GB
-3567152256,3567152383,GB
-3567152400,3567152407,GB
-3567152640,3567152647,GB
-3567152744,3567152751,GB
-3567152832,3567152863,GB
-3567152960,3567152991,GB
-3567153024,3567153055,GB
-3567153600,3567153607,GB
-3567153616,3567153623,GB
-3567153648,3567153663,GB
-3567153688,3567153703,GB
-3567153720,3567153727,GB
-3567153824,3567153847,GB
-3567154304,3567154367,GB
-3567155200,3567155967,GB
-3567156416,3567156607,GB
+3567124480,3567157247,GB
3567157248,3567165439,CZ
3567165440,3567169535,RU
3567169536,3567173631,MK
3567173632,3567239167,GB
-3567239168,3567243263,NL
-3567243264,3567247359,IT
-3567247360,3567255551,NL
+3567239168,3567255551,NL
3567255552,3567263743,PL
3567263744,3567271935,ES
3567271936,3567321087,PL
@@ -164564,9 +166984,7 @@
3567338944,3567338951,DE
3567338952,3567340543,GB
3567340544,3567341567,IT
-3567341568,3567344389,GB
-3567344390,3567344390,ES
-3567344391,3567344455,GB
+3567341568,3567344455,GB
3567344456,3567344479,ES
3567344480,3567350271,GB
3567350272,3567350527,ES
@@ -164576,13 +166994,20 @@
3567388648,3567388655,DE
3567388656,3567389695,GB
3567389696,3567390719,DE
-3567390720,3567393801,PL
+3567390720,3567392767,PL
+3567392768,3567393801,GB
3567393802,3567393802,SI
-3567393803,3567394815,PL
-3567394816,3567399935,GB
+3567393803,3567399935,GB
3567399936,3567401471,DE
3567401472,3567403007,GB
3567403008,3567419391,IT
+3567419392,3567420415,GB
+3567420416,3567422463,RU
+3567422464,3567423487,HU
+3567423488,3567424511,NO
+3567424512,3567425535,US
+3567425536,3567426559,MD
+3567426560,3567427583,GB
3567427584,3567435775,SE
3567435776,3567453079,GB
3567453080,3567453087,ES
@@ -164619,18 +167044,21 @@
3567507288,3567516671,GB
3567516672,3567517695,ES
3567517696,3567583231,RU
-3567583232,3567583487,AT
-3567583744,3567583871,AT
-3567583936,3567583999,AT
-3567584256,3567584383,AT
-3567584392,3567584407,AT
-3567584512,3567584639,AT
+3567583232,3567584319,GB
+3567584320,3567584383,AT
+3567584384,3567584399,GB
+3567584400,3567584407,AT
+3567584408,3567585279,GB
3567585280,3567585311,TR
-3567585792,3567586303,GB
+3567585312,3567586303,GB
3567586304,3567586815,TR
-3567587328,3567591423,GB
+3567586816,3567591423,GB
3567591424,3567599615,IT
-3567599616,3567615999,NL
+3567599616,3567610879,NL
+3567610880,3567611051,NO
+3567611052,3567611055,NL
+3567611056,3567611135,NO
+3567611136,3567615999,NL
3567616000,3567616767,GB
3567616768,3567617023,US
3567617024,3567618047,GB
@@ -164668,12 +167096,9 @@
3568107520,3568173055,GB
3568173056,3568304127,TR
3568304128,3568369663,RU
-3568369664,3568370175,FR
-3568370176,3568435199,IT
+3568369664,3568435199,IT
3568435200,3568443391,UA
-3568443392,3568470015,NL
-3568470016,3568470271,GB
-3568470272,3568476159,NL
+3568443392,3568476159,NL
3568476160,3568484351,DK
3568484352,3568492543,NL
3568492544,3568500735,RS
@@ -164693,11 +167118,9 @@
3569002752,3569012991,AT
3569014272,3569025023,AT
3569025024,3569057791,NL
-3569057792,3569074687,GB
-3569074688,3569074943,IE
-3569074944,3569075455,GB
-3569075456,3569075711,IE
-3569075712,3569090559,GB
+3569057792,3569074175,GB
+3569074176,3569076223,IE
+3569076224,3569090559,GB
3569090560,3569123327,RU
3569123328,3569156095,GB
3569156096,3569188863,NL
@@ -164960,10 +167383,8 @@
3569745888,3569745903,FR
3569745904,3569745919,NL
3569745920,3569807871,FR
-3569807872,3569808383,GP
-3569808384,3569809407,FR
-3569809408,3569810431,GP
-3569810432,3569810943,FR
+3569807872,3569809407,GP
+3569809408,3569810943,FR
3569810944,3569811455,GP
3569811456,3569876991,IL
3569876992,3569942527,RS
@@ -165010,7 +167431,11 @@
3571321056,3571321071,DE
3571321072,3571321823,GB
3571321824,3571321855,DE
-3571321856,3571384319,GB
+3571321856,3571337930,GB
+3571337931,3571337931,DE
+3571337932,3571338519,GB
+3571338520,3571338527,FR
+3571338528,3571384319,GB
3571384320,3571482623,DE
3571482624,3571515391,BE
3571515392,3571548159,GB
@@ -165018,7 +167443,9 @@
3571580928,3571646463,FI
3571646464,3571688383,DE
3571688384,3571689215,ES
-3571689216,3571711999,DE
+3571689216,3571699711,DE
+3571699712,3571700735,GB
+3571700736,3571711999,DE
3571712000,3571843071,GB
3571843072,3571974143,ES
3571974144,3571978239,RU
@@ -165027,7 +167454,9 @@
3571982336,3572006911,RU
3572006912,3572039679,CH
3572039680,3572047871,BE
-3572047872,3572056063,LU
+3572047872,3572050943,LU
+3572050944,3572051071,FR
+3572051072,3572056063,LU
3572056064,3572072447,RU
3572072448,3572105215,BG
3572105216,3572170751,FR
@@ -165089,7 +167518,9 @@
3573284864,3573415935,TR
3573415936,3573481471,CH
3573481472,3573547007,DE
-3573547008,3573612543,ES
+3573547008,3573549002,ES
+3573549003,3573549003,IT
+3573549004,3573612543,ES
3573612544,3573743615,GB
3573743616,3573809151,CH
3573809152,3573874687,ES
@@ -165139,14 +167570,15 @@
3574186804,3574186804,ES
3574186805,3574187007,GB
3574187008,3574188031,ES
-3574188032,3574198271,GB
+3574188032,3574195199,GB
+3574195200,3574196223,ES
+3574196224,3574198271,GB
3574198272,3574199295,ES
3574199296,3574200831,GB
3574200832,3574202367,ES
3574202368,3574267903,NL
3574267904,3574333439,FR
-3574333440,3574341631,GB
-3574348288,3574348543,GB
+3574333440,3574398975,GB
3574398976,3574464511,PT
3574464512,3574530047,TR
3574530048,3574530207,SE
@@ -165167,9 +167599,9 @@
3574841631,3574857727,GB
3574857728,3574923263,DE
3574923264,3574939647,RU
-3574939648,3574941183,SE
-3574941184,3574941567,NO
-3574941568,3574949743,SE
+3574939648,3574941375,SE
+3574941376,3574941439,NO
+3574941440,3574949743,SE
3574949744,3574949759,NO
3574949760,3574956031,SE
3574956032,3574972415,IT
@@ -165323,7 +167755,9 @@
3575697408,3575701503,IT
3575701504,3575702591,GB
3575702592,3575702655,DK
-3575702656,3575703551,GB
+3575702656,3575703039,GB
+3575703040,3575703295,SE
+3575703296,3575703551,GB
3575703552,3575705599,SE
3575705600,3575707647,DK
3575707648,3575708671,LU
@@ -165337,145 +167771,7 @@
3575873536,3575906303,EE
3575906304,3575971839,FR
3575971840,3576037375,ES
-3576038208,3576038271,GB
-3576038336,3576038463,GB
-3576038528,3576038591,GB
-3576038912,3576038975,GB
-3576039168,3576039199,GB
-3576039360,3576039383,GB
-3576039392,3576039455,GB
-3576039520,3576039551,GB
-3576039584,3576039647,GB
-3576039808,3576039839,GB
-3576039904,3576039935,GB
-3576040064,3576040127,GB
-3576040216,3576040223,GB
-3576040272,3576040287,GB
-3576040352,3576040383,GB
-3576040832,3576040959,GB
-3576041472,3576041535,GB
-3576041728,3576041775,GB
-3576041784,3576041791,GB
-3576041832,3576041847,GB
-3576041864,3576041871,GB
-3576041880,3576041887,GB
-3576041904,3576041919,GB
-3576041936,3576041943,GB
-3576041952,3576041967,GB
-3576042112,3576042239,GB
-3576042560,3576042623,GB
-3576042688,3576042695,GB
-3576042752,3576042815,GB
-3576045584,3576045599,GB
-3576045664,3576045679,GB
-3576045712,3576045735,GB
-3576045800,3576045807,GB
-3576045816,3576045823,GB
-3576048640,3576048767,GB
-3576048960,3576049023,GB
-3576049152,3576050047,GB
-3576053760,3576054911,GB
-3576055104,3576055111,GB
-3576055120,3576055127,GB
-3576055152,3576055167,GB
-3576055184,3576055199,GB
-3576055208,3576055215,GB
-3576055280,3576055551,GB
-3576055808,3576055871,GB
-3576055936,3576055999,GB
-3576056192,3576056255,GB
-3576056320,3576056447,GB
-3576056704,3576056767,GB
-3576056856,3576056871,GB
-3576056880,3576056887,GB
-3576056920,3576056927,GB
-3576056936,3576056943,GB
-3576056952,3576056975,GB
-3576056992,3576056999,GB
-3576057040,3576057047,GB
-3576057632,3576057639,GB
-3576057712,3576057743,GB
-3576057824,3576057839,GB
-3576058880,3576059007,GB
-3576059648,3576059679,GB
-3576059712,3576059743,GB
-3576059776,3576059807,GB
-3576060288,3576060351,GB
-3576061040,3576061055,GB
-3576061120,3576061135,GB
-3576061184,3576061247,GB
-3576061312,3576061439,GB
-3576061584,3576061591,GB
-3576061620,3576061631,GB
-3576061640,3576061647,GB
-3576064320,3576064448,GB
-3576064544,3576064559,GB
-3576065856,3576065887,GB
-3576066304,3576066431,GB
-3576068352,3576068479,GB
-3576068864,3576068927,GB
-3576069056,3576069119,GB
-3576069248,3576069279,GB
-3576069312,3576069343,GB
-3576070696,3576070703,GB
-3576070712,3576070719,GB
-3576070728,3576070735,GB
-3576070776,3576070783,GB
-3576071296,3576071423,GB
-3576071552,3576071679,GB
-3576071936,3576071951,GB
-3576072064,3576072079,GB
-3576072288,3576072319,GB
-3576072416,3576072447,GB
-3576073216,3576073279,GB
-3576074752,3576074879,GB
-3576075264,3576075327,GB
-3576075776,3576075903,GB
-3576076272,3576076351,GB
-3576076568,3576076575,GB
-3576076784,3576076791,GB
-3576077440,3576077471,GB
-3576077568,3576077695,GB
-3576077936,3576077967,GB
-3576078144,3576078175,GB
-3576078464,3576078591,GB
-3576080000,3576080127,GB
-3576080224,3576080255,GB
-3576080776,3576080783,GB
-3576080792,3576080799,GB
-3576080808,3576080815,GB
-3576080824,3576080831,GB
-3576082080,3576082095,GB
-3576082208,3576082223,GB
-3576082688,3576082943,GB
-3576084480,3576084543,GB
-3576084608,3576084671,GB
-3576084704,3576084735,GB
-3576084864,3576084927,GB
-3576086016,3576086143,GB
-3576086368,3576086399,GB
-3576086568,3576086571,GB
-3576086600,3576086603,GB
-3576087808,3576087823,GB
-3576087952,3576087967,GB
-3576088032,3576088047,GB
-3576088224,3576088231,GB
-3576088376,3576088383,GB
-3576088480,3576088511,GB
-3576088960,3576088967,GB
-3576089032,3576089039,GB
-3576089440,3576089471,GB
-3576089776,3576089791,GB
-3576091408,3576091423,GB
-3576091456,3576091479,GB
-3576092128,3576092159,GB
-3576092864,3576092895,GB
-3576093064,3576093071,GB
-3576093184,3576093247,GB
-3576095232,3576096767,GB
-3576099072,3576099327,GB
-3576099840,3576100863,GB
-3576101376,3576103491,GB
+3576037376,3576103491,GB
3576103492,3576103495,HU
3576103496,3576104911,GB
3576104912,3576104927,ES
@@ -165488,12 +167784,14 @@
3576110016,3576110939,GB
3576110940,3576110943,NL
3576110944,3576111103,GB
-3576111104,3576114463,FR
+3576111104,3576113151,FR
+3576113152,3576114255,GB
+3576114256,3576114271,FR
+3576114272,3576114463,GB
3576114464,3576114471,US
-3576114472,3576116127,FR
+3576114472,3576116127,GB
3576116128,3576116135,DE
-3576116136,3576119295,FR
-3576119296,3576120315,GB
+3576116136,3576120315,GB
3576120316,3576120319,SG
3576120320,3576122261,GB
3576122262,3576122262,CH
@@ -165505,60 +167803,64 @@
3576126780,3576126783,ES
3576126784,3576130207,GB
3576130208,3576130211,NL
-3576130212,3576131583,GB
-3576131584,3576133199,CH
+3576130212,3576133199,GB
3576133200,3576133215,FR
-3576133216,3576134655,CH
+3576133216,3576133631,GB
+3576133632,3576134655,CH
3576134656,3576135679,GB
3576135680,3576168447,DE
3576168448,3576233983,GB
3576233984,3576236543,FR
-3576236544,3576238079,GB
-3576238080,3576239103,FR
+3576236544,3576237055,GB
+3576237056,3576238079,FR
+3576238080,3576238463,GB
+3576238464,3576238464,FR
+3576238465,3576239103,GB
3576239104,3576239359,ES
-3576239360,3576240127,FR
-3576240128,3576241991,GB
+3576239360,3576241991,GB
3576241992,3576241999,FR
3576242000,3576244223,GB
-3576244224,3576248575,FR
+3576244224,3576248319,FR
+3576248320,3576248575,GB
3576248576,3576248625,AT
3576248626,3576248626,SK
3576248627,3576248831,AT
-3576248832,3576250367,FR
-3576250368,3576251711,GB
+3576248832,3576249343,GB
+3576249344,3576251391,FR
+3576251392,3576251711,GB
3576251712,3576251775,FR
3576251776,3576252415,GB
-3576252416,3576253439,FR
-3576253440,3576254511,GB
+3576252416,3576254463,FR
+3576254464,3576254511,GB
3576254512,3576254527,FR
3576254528,3576254775,GB
3576254776,3576254783,FR
-3576254784,3576255303,GB
+3576254784,3576254975,GB
+3576254976,3576255303,FR
3576255304,3576255311,ES
-3576255312,3576255457,GB
-3576255458,3576255458,FR
-3576255459,3576255487,GB
-3576255488,3576255999,FR
-3576256000,3576257999,GB
+3576255312,3576256511,FR
+3576256512,3576257999,GB
3576258000,3576258007,DE
3576258008,3576258047,GB
3576258048,3576258559,FR
3576258560,3576258927,GB
3576258928,3576258935,FR
-3576258936,3576261631,GB
+3576258936,3576259583,GB
+3576259584,3576260623,FR
+3576260624,3576261631,GB
3576261632,3576263679,FR
-3576263680,3576263849,GB
-3576263850,3576263850,FR
-3576263851,3576263919,GB
-3576263920,3576263935,FR
+3576263680,3576263807,GB
+3576263808,3576263935,FR
3576263936,3576263975,GB
3576263976,3576263983,FR
-3576263984,3576264703,GB
+3576263984,3576264255,GB
+3576264256,3576264263,FR
+3576264264,3576264703,GB
3576264704,3576265215,FR
3576265216,3576265359,GB
3576265360,3576265367,FR
-3576265368,3576265727,GB
-3576265728,3576299519,FR
+3576265368,3576266751,GB
+3576266752,3576299519,FR
3576299520,3576365055,AE
3576365056,3576430591,TR
3576430592,3576496127,FR
@@ -165574,50 +167876,44 @@
3576823808,3576889343,SE
3576889344,3576954879,NL
3576954880,3576987647,NO
-3576987648,3577020415,GB
+3576987648,3576999935,GB
+3576999936,3577000191,NL
+3577000192,3577020415,GB
3577020416,3577085951,NL
3577085952,3577151487,DE
-3577151488,3577162495,RE
-3577162496,3577163263,FR
-3577163264,3577167871,RE
+3577151488,3577151999,RE
+3577152000,3577152255,FR
+3577152256,3577161215,RE
+3577161216,3577161471,FR
+3577161472,3577165055,RE
+3577165056,3577165183,FR
+3577165184,3577167871,RE
3577167872,3577184255,ET
3577184256,3577217023,CH
-3577217024,3577238015,FR
-3577238016,3577238271,RE
-3577238272,3577268223,FR
+3577217024,3577238112,FR
+3577238113,3577238113,RE
+3577238114,3577268223,FR
3577268224,3577268479,RE
3577268480,3577282559,FR
3577282560,3577348095,IL
3577348096,3577413631,PT
-3577413632,3577444351,RU
-3577444352,3577446399,NL
+3577413632,3577442303,RU
+3577442304,3577446399,US
3577446400,3577479167,RU
3577479168,3577544703,ES
-3577544704,3577558015,DE
-3577558016,3577558271,BE
-3577558272,3577596527,DE
-3577596528,3577596543,IT
-3577596544,3577596623,DE
-3577596624,3577596639,IT
-3577596640,3577596671,DE
-3577596672,3577596735,IT
+3577544704,3577596527,DE
+3577596528,3577596735,IT
3577596736,3577596743,DE
3577596744,3577596751,IT
-3577596752,3577596927,DE
-3577596928,3577597439,IT
-3577597440,3577597695,DE
-3577597696,3577597823,NL
-3577597824,3577597887,DE
-3577597888,3577597951,NL
-3577597952,3577610239,DE
+3577596752,3577596879,DE
+3577596880,3577596895,IT
+3577596896,3577610239,DE
3577626176,3577626239,GB
3577628672,3577629695,CH
3577635840,3577636863,DE
3577636864,3577637887,GB
3577639744,3577639775,FR
-3577639818,3577639818,FR
-3577639896,3577639899,FR
-3577639920,3577639927,FR
+3577639808,3577639935,FR
3577641200,3577641215,FR
3577641472,3577641983,FR
3577642496,3577642751,FR
@@ -165632,11 +167928,7 @@
3578339328,3578347519,ES
3578347520,3578363903,DE
3578363904,3578396671,NL
-3578396672,3578425855,TR
-3578425856,3578426367,SA
-3578426368,3578446431,TR
-3578446432,3578446591,RU
-3578446592,3578462207,TR
+3578396672,3578462207,TR
3578462208,3578527743,NL
3578527744,3578576895,PL
3578576896,3578593279,ES
@@ -165658,20 +167950,25 @@
3579019264,3579052031,DK
3579052032,3579117567,NL
3579117568,3579183103,RU
-3579183104,3579193607,GB
-3579193608,3579193615,NL
-3579193616,3579193791,GB
-3579193792,3579193799,NL
-3579193800,3579209727,GB
+3579183104,3579193343,GB
+3579193344,3579193855,NL
+3579193856,3579194367,GB
+3579194368,3579195391,NL
+3579195392,3579207359,GB
+3579207360,3579207367,DE
+3579207368,3579209727,GB
3579209728,3579210751,DE
3579210752,3579216033,GB
3579216034,3579216034,DE
3579216035,3579219967,GB
3579219968,3579220223,DE
-3579220224,3579244543,GB
-3579244544,3579244831,PL
-3579244832,3579244879,AT
-3579244880,3579245055,PL
+3579220224,3579220479,BE
+3579220480,3579220991,GB
+3579220992,3579221503,ES
+3579221504,3579221935,GB
+3579221936,3579221943,DE
+3579221944,3579244799,GB
+3579244800,3579245055,AT
3579245056,3579248639,GB
3579248640,3579346943,RU
3579346944,3579362055,SE
@@ -165798,10 +168095,7 @@
3579740160,3579772927,IE
3579772928,3579838463,DE
3579838464,3580039167,ES
-3580039168,3580039199,NL
-3580039200,3580039231,AT
-3580039232,3580039247,ES
-3580039248,3580039423,IT
+3580039168,3580039423,IT
3580039424,3580039519,ES
3580039520,3580039551,NL
3580039552,3580100607,ES
@@ -165819,17 +168113,15 @@
3580136192,3580136447,EE
3580136448,3580141567,HR
3580141568,3580148735,LV
-3580148736,3580149759,SE
-3580149760,3580162047,EE
+3580148736,3580157951,SE
+3580157952,3580162047,EE
3580162048,3580164095,SE
3580164096,3580166143,EE
3580166144,3580198911,SE
3580198912,3580199935,LV
3580199936,3580200447,SE
3580200448,3580201983,LT
-3580201984,3580203647,SE
-3580203648,3580203775,AT
-3580203776,3580204031,SE
+3580201984,3580204031,SE
3580204032,3580204544,LT
3580204545,3580204799,SE
3580204800,3580204800,LT
@@ -165851,7 +168143,9 @@
3580244992,3580246015,LT
3580246016,3580248063,LV
3580248064,3580255231,SE
-3580255232,3580259327,LV
+3580255232,3580255487,LV
+3580255488,3580255743,SE
+3580255744,3580259327,LV
3580259328,3580260351,SE
3580260352,3580265471,AT
3580265472,3580265727,SE
@@ -165861,8 +168155,7 @@
3580272640,3580280831,SE
3580280832,3580297215,HR
3580297216,3580329983,LT
-3580329984,3580338175,EE
-3580338176,3580339199,SE
+3580329984,3580339199,SE
3580339200,3580339711,EE
3580339712,3580346367,SE
3580346368,3580354559,LT
@@ -165901,19 +168194,29 @@
3580675072,3580682239,RU
3580682240,3580684287,PL
3580684288,3580686335,FR
-3580686336,3580687359,IR
+3580686336,3580686847,IR
+3580686848,3580687103,AE
+3580687104,3580687359,IR
3580687360,3580688383,GB
3580688384,3580698623,RU
3580698624,3580702719,PL
3580702720,3580706815,RU
3580706816,3580708863,KG
-3580708864,3580710911,RU
+3580708864,3580709119,RU
+3580709120,3580709375,NL
+3580709376,3580710911,RU
3580710912,3580715007,UA
3580715008,3580719103,RU
3580719104,3580723199,NL
3580723200,3580727295,UA
3580727296,3580731391,RU
-3580739584,3580743679,RU
+3580731392,3580732415,DE
+3580732416,3580733439,CZ
+3580733440,3580734463,GB
+3580734464,3580735487,CZ
+3580735488,3580737535,GB
+3580737536,3580738559,IT
+3580738560,3580743679,RU
3580743680,3580747775,KZ
3580747776,3580751871,UA
3580751872,3580755967,IR
@@ -165951,7 +168254,9 @@
3582050304,3582058495,NL
3582058496,3582066687,AT
3582066688,3582074879,UA
-3582074880,3582078719,GB
+3582074880,3582076431,GB
+3582076432,3582076447,DE
+3582076448,3582078719,GB
3582078720,3582078735,DE
3582078736,3582083071,GB
3582083072,3582084095,BG
@@ -165974,7 +168279,9 @@
3582107648,3582115839,NL
3582115840,3582116095,SE
3582116096,3582116351,EE
-3582116352,3582119935,SE
+3582116352,3582116863,SE
+3582116864,3582117887,EE
+3582117888,3582119935,SE
3582119936,3582120959,LT
3582120960,3582121983,EE
3582121984,3582124031,SE
@@ -166041,17 +168348,21 @@
3582559744,3582559815,BE
3582559824,3582559999,CH
3582561280,3582565887,BE
+3582566400,3582569023,GB
3582569024,3582569031,AT
+3582569032,3582570471,GB
3582570472,3582570479,FR
+3582570480,3582570911,GB
3582570912,3582570943,FR
-3582572416,3582572423,CH
+3582570944,3582574591,GB
3582574592,3582582783,DE
3582582784,3582590975,RU
3582590976,3582599167,FR
3582599168,3582607359,DE
3582607360,3582615551,RU
3582615552,3582623743,GB
-3582623744,3582631935,FI
+3582623744,3582623999,NO
+3582624000,3582631935,FI
3582631936,3582640127,NO
3582640128,3582646271,RU
3582646272,3582647295,IT
@@ -166123,11 +168434,7 @@
3583131648,3583131709,DE
3583131710,3583131710,DK
3583131711,3583148031,DE
-3583148032,3583157247,GB
-3583157248,3583157471,IE
-3583157472,3583157487,GB
-3583157488,3583158271,IE
-3583158272,3583164415,GB
+3583148032,3583164415,GB
3583164416,3583172607,PT
3583172608,3583188991,DE
3583188992,3583197183,RU
@@ -166157,18 +168464,16 @@
3583361024,3583369215,IT
3583369216,3583377407,ES
3583377408,3583385599,AT
-3583385600,3583393791,DK
+3583385600,3583388671,DK
+3583388672,3583389439,SE
+3583389440,3583393791,DK
3583393792,3583401983,RU
3583401984,3583410175,KE
3583410176,3583418367,SE
3583418368,3583426559,TN
3583426560,3583428607,CV
3583428608,3583434751,ZA
-3583434752,3583436799,AT
-3583436800,3583436927,DE
-3583436928,3583436959,AT
-3583436960,3583437055,DE
-3583437056,3583442943,AT
+3583434752,3583442943,AT
3583442944,3583451135,RU
3583451136,3583459327,IL
3583459328,3583467519,CZ
@@ -166178,7 +168483,9 @@
3583475712,3583483903,NO
3583483904,3583492095,FR
3583492096,3583508479,SK
-3583508480,3583516671,FR
+3583508480,3583513407,FR
+3583513408,3583513439,US
+3583513440,3583516671,FR
3583516672,3583524863,GB
3583524864,3583533055,EG
3583533056,3583541247,DE
@@ -166207,7 +168514,7 @@
3583739077,3583739077,GB
3583742824,3583742831,DE
3583743616,3583743743,GB
-3583744112,3583744127,SE
+3583744000,3583744127,SE
3583744128,3583744255,PL
3583744320,3583744383,GB
3583744512,3583744767,GB
@@ -166258,11 +168565,7 @@
3584001024,3584004095,US
3584004096,3584008191,CH
3584008192,3584016383,SE
-3584016384,3584018431,RU
-3584018432,3584018943,CN
-3584018944,3584019455,RU
-3584019456,3584020479,CN
-3584020480,3584024575,RU
+3584016384,3584024575,RU
3584024576,3584032767,UA
3584032768,3584040959,DE
3584040960,3584049151,CH
@@ -166276,8 +168579,8 @@
3584098304,3584106495,SI
3584106496,3584114687,FI
3584114688,3584116991,GB
-3584116992,3584117247,NL
-3584117248,3584122879,GB
+3584116992,3584118783,NL
+3584118784,3584122879,GB
3584122880,3584131071,PL
3584131072,3584139263,TR
3584139264,3584147455,NO
@@ -166312,10 +168615,22 @@
3584401408,3584409599,MT
3584409600,3584417791,RU
3584417792,3584434175,GB
-3584434176,3584434303,DE
-3584434304,3584442367,LU
+3584434176,3584442367,LU
+3584442368,3584443391,RU
+3584443392,3584444415,NL
+3584444416,3584445439,RU
+3584445440,3584446463,US
+3584446464,3584446719,RU
+3584446720,3584446975,KZ
+3584446976,3584447487,RU
+3584447488,3584448511,NL
+3584448512,3584450047,RU
+3584450048,3584450303,US
+3584450304,3584450559,RU
3584458752,3584466943,SA
-3584466944,3584475135,NO
+3584466944,3584467967,NO
+3584467968,3584468223,SE
+3584468224,3584475135,NO
3584475136,3584483327,FR
3584483328,3584491519,DE
3584491520,3584499711,BG
@@ -166359,6 +168674,13 @@
3584704512,3584720895,RU
3584720896,3584729087,GB
3584729088,3584737279,DE
+3584737280,3584738303,RU
+3584738304,3584739327,DE
+3584739328,3584740351,GB
+3584740352,3584741375,RS
+3584741376,3584742399,RO
+3584743424,3584744447,DE
+3584744448,3584745471,BR
3584745472,3584753663,ES
3584753664,3584770047,RU
3584770048,3584778239,NL
@@ -166377,6 +168699,13 @@
3584868352,3584876543,NO
3584876544,3584884735,SI
3584884736,3584892927,DE
+3584892928,3584893951,GB
+3584893952,3584894975,BG
+3584894976,3584897023,CH
+3584897024,3584898047,FR
+3584898048,3584899071,SY
+3584899072,3584900095,NL
+3584900096,3584901119,FR
3584901120,3584909311,AT
3584909312,3584917503,IT
3584917504,3584925695,FI
@@ -166389,7 +168718,9 @@
3584974848,3584983039,FR
3584983040,3584991231,US
3584991232,3584999423,IT
-3584999424,3585007615,GB
+3584999424,3585005062,GB
+3585005063,3585005063,NL
+3585005064,3585007615,GB
3585007616,3585015807,AT
3585015808,3585023999,IT
3585024000,3585032191,CZ
@@ -166397,10 +168728,7 @@
3585048576,3585056767,GB
3585056768,3585064959,LB
3585064960,3585081343,GB
-3585081344,3585085439,IR
-3585085440,3585087487,DE
-3585087488,3585089023,IR
-3585089024,3585089535,GB
+3585081344,3585089535,IR
3585089536,3585090559,FI
3585090560,3585091583,IR
3585091584,3585092607,FI
@@ -166408,8 +168736,9 @@
3585093632,3585094655,FI
3585094656,3585095679,IR
3585095680,3585096703,FI
-3585096704,3585113599,IR
-3585113600,3585114111,GB
+3585096704,3585111039,IR
+3585111040,3585112063,BG
+3585112064,3585114111,IR
3585114112,3585122303,IS
3585122304,3585130495,ES
3585130496,3585138687,FR
@@ -166467,7 +168796,29 @@
3585490944,3585499135,IT
3585499136,3585515519,DE
3585515520,3585523711,RU
-3585523712,3585531903,LV
+3585523712,3585524223,LV
+3585524224,3585524479,AZ
+3585524480,3585524735,SL
+3585524736,3585524991,TN
+3585524992,3585525247,JO
+3585525248,3585525503,CR
+3585525504,3585525759,HR
+3585525760,3585526015,CY
+3585526016,3585526271,EG
+3585526272,3585526527,GR
+3585526528,3585526783,GT
+3585526784,3585527039,HU
+3585527040,3585527295,IS
+3585527296,3585527551,IM
+3585527552,3585527807,OM
+3585527808,3585528063,HU
+3585528064,3585528319,MK
+3585528320,3585528575,RS
+3585528576,3585528831,KE
+3585528832,3585529087,NG
+3585529088,3585529343,SG
+3585529344,3585529855,BR
+3585529856,3585531903,CN
3585531904,3585540095,AT
3585540096,3585548287,DE
3585548288,3585548543,NL
@@ -166496,6 +168847,14 @@
3585597440,3585605631,RU
3585605632,3585613823,PL
3585613824,3585622015,EE
+3585622016,3585623039,KZ
+3585623040,3585624063,FR
+3585624064,3585625087,ES
+3585625088,3585626111,IT
+3585626112,3585627135,RO
+3585627136,3585628159,NL
+3585628160,3585629183,CH
+3585629184,3585630207,CZ
3585630208,3585632255,IL
3585632256,3585632511,GB
3585632512,3585632639,NL
@@ -166530,7 +168889,9 @@
3585720320,3585728511,GB
3585728512,3585736703,SE
3585736704,3585744895,HR
-3585744896,3585747839,FR
+3585744896,3585747743,FR
+3585747744,3585747759,PL
+3585747760,3585747839,FR
3585747840,3585747903,GB
3585747904,3585749295,FR
3585749296,3585749311,ES
@@ -166543,7 +168904,9 @@
3585750352,3585750367,DE
3585750368,3585750383,ES
3585750384,3585750399,PT
-3585750400,3585753087,FR
+3585750400,3585752831,FR
+3585752832,3585752895,PL
+3585752896,3585753087,FR
3585753088,3585761279,PL
3585761280,3585765375,UA
3585765376,3585765631,RU
@@ -166585,7 +168948,8 @@
3585900544,3585906687,NO
3585906688,3585907711,CZ
3585907712,3585908735,NO
-3585908736,3585916927,GP
+3585908736,3585910783,GF
+3585910784,3585916927,GP
3585916928,3585925119,IT
3585925120,3585933311,CH
3585933312,3585941503,NL
@@ -166595,6 +168959,15 @@
3585966080,3585974271,CH
3585974272,3585982463,BE
3585982464,3585998847,RU
+3585998848,3585999871,CH
+3585999872,3586000895,DE
+3586000896,3586001919,ES
+3586001920,3586002943,FR
+3586002944,3586004479,GB
+3586004480,3586004735,NL
+3586004736,3586004991,GB
+3586004992,3586006015,HR
+3586006016,3586007039,DE
3586007040,3586015231,LT
3586015232,3586022687,FR
3586022688,3586022688,GB
@@ -166621,9 +168994,10 @@
3586179072,3586195455,ES
3586195456,3586203647,RU
3586203648,3586205695,ZA
-3586205696,3586207999,BW
-3586208000,3586208255,ZA
-3586208256,3586211839,BW
+3586205696,3586207743,BW
+3586207744,3586211071,ZA
+3586211072,3586211327,BW
+3586211328,3586211839,ZA
3586211840,3586228223,CH
3586228224,3586244607,BE
3586244608,3586246655,NL
@@ -166634,8 +169008,8 @@
3586258944,3586259455,BE
3586259456,3586260991,NL
3586260992,3586261031,GB
-3586261032,3586261047,LU
-3586261048,3586271807,GB
+3586261032,3586261055,LU
+3586261056,3586271807,GB
3586271808,3586271823,IT
3586271824,3586272799,GB
3586272800,3586272807,IT
@@ -166734,7 +169108,8 @@
3586682240,3586682367,US
3586682368,3586682415,RO
3586682416,3586682423,DE
-3586682424,3586682495,RO
+3586682424,3586682431,CZ
+3586682432,3586682495,RO
3586682496,3586682879,FR
3586682880,3586686975,DE
3586686976,3586703359,SE
@@ -166754,11 +169129,7 @@
3586910720,3586911231,BE
3586911232,3586916351,DE
3586916352,3586924543,IT
-3586924544,3586925823,FI
-3586925824,3586926049,AX
-3586926050,3586926050,FI
-3586926051,3586926079,AX
-3586926080,3586927615,FI
+3586924544,3586927615,FI
3586927616,3586928127,AX
3586928128,3586928639,FI
3586928640,3586929663,AX
@@ -166817,33 +169188,31 @@
3587219456,3587222271,RU
3587222272,3587222527,RO
3587222528,3587227647,RU
-3587227648,3587233791,NL
+3587227648,3587231743,NL
+3587231744,3587233087,GB
+3587233088,3587233095,NL
+3587233096,3587233279,GB
+3587233280,3587233791,NL
3587233792,3587234815,GB
3587234816,3587235071,DE
3587235072,3587235839,GB
-3587235840,3587239423,NL
-3587239424,3587239551,GB
+3587235840,3587237887,NL
+3587237888,3587239551,GB
3587239552,3587239552,NL
3587239553,3587239791,GB
3587239792,3587239799,NL
-3587239800,3587239827,GB
-3587239828,3587239828,NL
-3587239829,3587239935,GB
-3587239936,3587240447,NL
-3587240448,3587241983,GB
-3587241984,3587242495,NL
+3587239800,3587239807,GB
+3587239808,3587240959,NL
+3587240960,3587241215,GB
+3587241216,3587242495,NL
3587242496,3587242671,GB
3587242672,3587242679,NL
3587242680,3587244031,GB
3587244032,3587260415,IT
-3587260416,3587277567,DE
-3587277568,3587277823,PT
-3587277824,3587284991,DE
-3587284992,3587285247,FR
+3587260416,3587281151,DE
+3587281152,3587284991,RU
3587285248,3587285503,IT
-3587285504,3587286527,FR
-3587286784,3587289599,FR
-3587290112,3587293183,FR
+3587291136,3587293183,FR
3587293184,3587309567,IT
3587309568,3587325951,GB
3587325952,3587342335,RU
@@ -166854,7 +169223,9 @@
3587391488,3587407871,KZ
3587407872,3587408127,BE
3587408128,3587408383,NL
-3587408384,3587415039,BE
+3587408384,3587410499,BE
+3587410500,3587410501,NL
+3587410502,3587415039,BE
3587415040,3587415295,NL
3587415296,3587415551,BE
3587415552,3587415807,NL
@@ -166874,13 +169245,11 @@
3587448832,3587449169,DK
3587449170,3587449170,SE
3587449171,3587450879,DK
-3587450880,3587453351,SE
-3587453352,3587453355,NO
-3587453356,3587454975,SE
-3587454976,3587455177,NO
-3587455178,3587455178,SE
-3587455179,3587455231,NO
-3587455232,3587457023,SE
+3587450880,3587453183,SE
+3587453184,3587453951,NO
+3587453952,3587454975,SE
+3587454976,3587455103,NO
+3587455104,3587457023,SE
3587457024,3587473407,GB
3587473408,3587489791,IT
3587489792,3587506175,EG
@@ -166889,12 +169258,7 @@
3587547136,3587555327,CH
3587555328,3587571711,BE
3587571712,3587579903,DE
-3587579904,3587583999,BE
-3587584000,3587584255,FR
-3587584256,3587584511,BE
-3587584512,3587587071,FR
-3587587072,3587587327,BE
-3587587328,3587588095,FR
+3587579904,3587588095,BE
3587588096,3587596287,BG
3587596288,3587604479,NL
3587604480,3587620863,FI
@@ -166909,6 +169273,14 @@
3587719168,3587735551,PL
3587735552,3587751935,GB
3587751936,3587768319,FI
+3587768320,3587769343,RU
+3587769344,3587770367,IT
+3587770368,3587771391,DE
+3587771392,3587772415,UA
+3587772416,3587773439,GE
+3587773440,3587774463,SA
+3587774464,3587775487,ES
+3587775488,3587776511,RU
3587776512,3587784703,IR
3587784704,3587801087,DE
3587801088,3587817471,IT
@@ -166934,12 +169306,14 @@
3588079616,3588095999,CH
3588096000,3588104191,NL
3588104192,3588112383,BG
-3588112384,3588128767,RE
+3588112384,3588112639,RE
+3588112640,3588112895,YT
+3588112896,3588128767,RE
3588128768,3588145151,HU
3588145152,3588153343,PL
3588153344,3588161535,RU
-3588161536,3588172799,FR
-3588172800,3588173567,RE
+3588161536,3588173055,FR
+3588173056,3588173567,RE
3588173568,3588173823,YT
3588173824,3588227071,FR
3588227072,3588292607,BE
@@ -166969,12 +169343,16 @@
3588489216,3588505599,FR
3588505600,3588521983,RU
3588521984,3588538367,PT
-3588538368,3588554751,GB
+3588538368,3588553983,GB
+3588553984,3588554239,IE
+3588554240,3588554751,GB
3588554752,3588571135,AT
3588571136,3588587519,GB
3588587520,3588590591,ES
3588590592,3588590847,FR
-3588590848,3588595199,ES
+3588590848,3588592543,ES
+3588592544,3588592551,IE
+3588592552,3588595199,ES
3588595200,3588595455,FR
3588595456,3588603903,ES
3588603904,3588620287,SI
@@ -166982,9 +169360,10 @@
3588628480,3588636671,CH
3588636672,3588653055,UZ
3588653056,3588661247,IT
-3588661248,3588667391,NO
+3588661248,3588666367,NO
+3588666368,3588667391,DE
3588667392,3588668415,SG
-3588668416,3588669439,NO
+3588668416,3588669439,HK
3588669440,3588685823,GB
3588685824,3588702207,UA
3588702208,3588718591,ES
@@ -167026,10 +169405,16 @@
3589031057,3589043455,GB
3589043456,3589043711,NL
3589043712,3589046271,GB
-3589046272,3589079039,NO
+3589046272,3589055743,NO
+3589055744,3589055855,PL
+3589055856,3589055859,NO
+3589055860,3589055973,PL
+3589055974,3589055974,NO
+3589055975,3589055999,PL
+3589056000,3589079039,NO
3589079040,3589128191,DK
3589128192,3589144575,GB
-3589144576,3589152767,UA
+3589144576,3589152767,CH
3589152768,3589160959,DE
3589160960,3589177343,PL
3589177344,3589193727,TR
@@ -167056,12 +169441,13 @@
3589431328,3589431343,GB
3589431344,3589431359,ES
3589431360,3589432831,GB
-3589432832,3589433087,CH
+3589432832,3589433087,FR
3589433088,3589433343,GB
3589433344,3589435391,ES
-3589435392,3589435759,FR
+3589435392,3589435759,GB
3589435760,3589435763,ES
-3589435764,3589439487,FR
+3589435764,3589437439,GB
+3589437440,3589439487,FR
3589439488,3589455871,SE
3589455872,3589472255,RU
3589472256,3589488639,TR
@@ -167076,8 +169462,8 @@
3589571840,3589572735,GB
3589572736,3589572863,NL
3589572864,3589580799,GB
-3589580800,3589581823,NL
-3589581824,3589582719,GB
+3589580800,3589581311,NL
+3589581312,3589582719,GB
3589582720,3589582847,NL
3589582848,3589582975,GB
3589582976,3589583103,NL
@@ -167116,6 +169502,7 @@
3589826717,3589826718,AT
3589827584,3589827647,DE
3589827696,3589827711,IE
+3589828096,3589828607,IE
3589828736,3589828863,NL
3589828992,3589829119,ES
3589829504,3589829631,DE
@@ -167132,7 +169519,9 @@
3589980160,3589996543,CZ
3589996544,3589996733,GB
3589996734,3589996734,SK
-3589996735,3589998591,GB
+3589996735,3589998543,GB
+3589998544,3589998551,CH
+3589998552,3589998591,GB
3589998592,3589998607,ES
3589998608,3589998639,GB
3589998640,3589998655,DE
@@ -167144,7 +169533,9 @@
3590000192,3590000207,DE
3590000208,3590001967,GB
3590001968,3590001983,IT
-3590001984,3590005055,GB
+3590001984,3590004055,GB
+3590004056,3590004063,NL
+3590004064,3590005055,GB
3590005056,3590005071,DE
3590005072,3590005119,GB
3590005120,3590005135,IT
@@ -167153,7 +169544,9 @@
3590009120,3590009263,GB
3590009264,3590009279,DE
3590009280,3590012927,GB
-3590012928,3590029311,BE
+3590012928,3590013183,BE
+3590013184,3590013311,GB
+3590013312,3590029311,BE
3590029312,3590032159,FR
3590032160,3590032175,ES
3590032176,3590032191,GB
@@ -167187,19 +169580,19 @@
3590209536,3590225919,ES
3590225920,3590234111,TR
3590234112,3590242303,GB
-3590242304,3590245255,IE
+3590242304,3590243327,DE
+3590243328,3590245255,IE
3590245256,3590245271,GB
3590245272,3590245279,DE
3590245280,3590245311,IE
3590245312,3590245375,US
3590245376,3590245631,IE
3590245632,3590245759,SE
-3590245760,3590246911,IE
-3590246912,3590247048,CA
+3590245760,3590247048,IE
3590247049,3590247049,IT
-3590247050,3590247103,CA
+3590247050,3590247103,IE
3590247104,3590247119,GB
-3590247120,3590247167,CA
+3590247120,3590247167,IE
3590247168,3590247231,US
3590247232,3590247295,IE
3590247296,3590247423,US
@@ -167229,13 +169622,7 @@
3590307840,3590309615,GB
3590309616,3590309623,BF
3590309624,3590324223,GB
-3590324224,3592108544,US
-3592108545,3592108545,DE
-3592108546,3592108579,US
-3592108580,3592108580,DE
-3592108581,3607182079,US
-3607182080,3607182335,KR
-3607182336,3623891455,US
+3590324224,3623891455,US
3623891456,3623891711,ZA
3623891712,3624054783,US
3624054784,3624056831,ZA
@@ -167255,18 +169642,13 @@
3624295177,3624295177,SG
3624295178,3624297471,US
3624297472,3624298495,CO
-3624298496,3624299519,US
-3624299520,3624300543,AU
+3624298496,3624300543,AU
3624300544,3624302335,US
3624302336,3624302591,CA
3624302592,3624321023,US
3624321024,3624325119,CA
3624325120,3624359935,US
-3624359936,3624360960,CA
-3624360961,3624361087,US
-3624361088,3624361728,CA
-3624361729,3624361982,US
-3624361983,3624361983,CA
+3624359936,3624361983,CA
3624361984,3624386559,US
3624386560,3624394751,CA
3624394752,3624402943,US
@@ -167290,22 +169672,18 @@
3624599552,3624714239,US
3624714240,3624722431,SG
3624722432,3624730623,US
-3624730624,3624781311,CA
-3624781312,3624781567,US
-3624781568,3624796159,CA
+3624730624,3624796159,CA
3624796160,3624828927,US
3624828928,3624833023,CA
3624833024,3624845311,US
3624845312,3624849407,AU
3624849408,3624984575,US
3624984576,3624992767,CA
-3624992768,3625016831,US
-3625016832,3625016995,CA
-3625016996,3625016999,US
-3625017000,3625017087,CA
-3625017088,3625058303,US
+3624992768,3625058303,US
3625058304,3625091071,CA
-3625091072,3625116927,US
+3625091072,3625102847,US
+3625102848,3625103103,NL
+3625103104,3625116927,US
3625116928,3625117183,SE
3625117184,3625140223,US
3625140224,3625148415,CA
@@ -167318,7 +169696,11 @@
3625295872,3625346047,US
3625346048,3625346303,AR
3625346304,3625418751,US
-3625418752,3625426943,CA
+3625418752,3625420031,CA
+3625420032,3625420543,US
+3625420544,3625422847,CA
+3625422848,3625423103,US
+3625423104,3625426943,CA
3625426944,3625508863,US
3625508864,3625512959,CA
3625512960,3625517055,US
@@ -167373,17 +169755,21 @@
3625578496,3625582591,CA
3625582592,3625631743,US
3625631744,3625639935,CA
-3625639936,3625959423,US
-3625959424,3625963519,GB
+3625639936,3625961471,US
+3625961472,3625963519,GB
3625963520,3626091519,US
3626091520,3626092031,AR
3626092032,3626232831,US
3626232832,3626233855,GB
-3626233856,3626270719,US
+3626233856,3626234111,US
+3626234112,3626234367,GB
+3626234368,3626270719,US
3626270720,3626287103,CA
3626287104,3626332159,US
3626332160,3626336255,CA
-3626336256,3626508287,US
+3626336256,3626399743,US
+3626399744,3626400767,GB
+3626400768,3626508287,US
3626508288,3626512383,CA
3626512384,3626515967,US
3626515968,3626516223,GB
@@ -167410,8 +169796,8 @@
3627219968,3627220223,US
3627220224,3627220991,CA
3627220992,3627291655,US
-3627291656,3627291657,CA
-3627291658,3627299071,US
+3627291656,3627291663,CA
+3627291664,3627299071,US
3627299072,3627299084,IN
3627299085,3627299085,US
3627299086,3627299327,IN
@@ -167502,7 +169888,9 @@
3628227168,3628227175,ZA
3628227176,3628227199,PL
3628227200,3628227263,LU
-3628227264,3628228463,US
+3628227264,3628228391,US
+3628228392,3628228398,AE
+3628228399,3628228463,US
3628228464,3628228471,KE
3628228472,3628236799,US
3628236800,3628257279,CA
@@ -167528,7 +169916,8 @@
3628618752,3628619775,HN
3628619776,3628622847,US
3628622848,3628623871,PR
-3628623872,3628626943,US
+3628623872,3628625919,NG
+3628625920,3628626943,US
3628626944,3628627199,CO
3628627200,3628627455,US
3628627456,3628627711,HN
@@ -167563,7 +169952,8 @@
3628755968,3628756991,AR
3628756992,3628757503,AE
3628757504,3628758015,US
-3628758016,3628758527,HK
+3628758016,3628758271,HK
+3628758272,3628758527,US
3628758528,3628759039,DE
3628759040,3628761087,CN
3628761088,3628834815,US
@@ -167588,7 +169978,9 @@
3629371392,3629371903,SG
3629371904,3629539327,US
3629539328,3629547519,CA
-3629547520,3629613055,US
+3629547520,3629582335,US
+3629582336,3629588479,CA
+3629588480,3629613055,US
3629613056,3629613311,SE
3629613312,3629614591,US
3629614592,3629614847,DE
@@ -167596,17 +169988,13 @@
3629615104,3629615359,US
3629615360,3629615615,GB
3629615616,3629615871,JP
-3629615872,3629616383,US
-3629616384,3629616639,FR
-3629616640,3629616895,US
-3629616896,3629617151,HK
-3629617152,3629662207,US
+3629615872,3629616127,US
+3629616128,3629616639,FR
+3629616640,3629662207,US
3629662208,3629662463,GB
3629662464,3629737215,US
3629737216,3629737471,CA
-3629737472,3629767935,US
-3629767936,3629768191,CA
-3629768192,3629789439,US
+3629737472,3629789439,US
3629789440,3629789695,CA
3629789696,3629789951,US
3629789952,3629790207,CA
@@ -167672,11 +170060,9 @@
3630082816,3630083071,CA
3630083072,3630085631,US
3630085632,3630085887,CA
-3630085888,3630087679,US
-3630087680,3630087935,CA
-3630087936,3630088447,US
-3630088448,3630088959,CA
-3630088960,3630091519,US
+3630085888,3630088447,US
+3630088448,3630088703,CA
+3630088704,3630091519,US
3630091520,3630091775,CA
3630091776,3630096127,US
3630096128,3630096383,CA
@@ -167743,9 +170129,7 @@
3630850048,3630854143,CA
3630854144,3630895615,US
3630895616,3630895871,CA
-3630895872,3630900735,US
-3630900736,3630900991,CA
-3630900992,3630905599,US
+3630895872,3630905599,US
3630905600,3630905855,CA
3630905856,3630956543,US
3630956544,3631005695,CA
@@ -167898,16 +170282,18 @@
3633569280,3633569535,CA
3633569536,3633709055,US
3633709056,3633717247,CA
-3633717248,3633757439,US
+3633717248,3633756671,US
+3633756672,3633756677,BG
+3633756678,3633756678,US
+3633756679,3633757183,BG
+3633757184,3633757439,US
3633757440,3633757695,IN
3633757696,3633757951,US
3633757952,3633758207,PH
3633758208,3633783039,US
3633783296,3633783551,US
3633783552,3633783807,CA
-3633783808,3633818623,US
-3633818624,3633818879,CA
-3633818880,3633821695,US
+3633783808,3633821695,US
3633821696,3633821951,CA
3633821952,3633823743,US
3633823744,3633827839,HK
@@ -167970,15 +170356,17 @@
3634552832,3634556927,CA
3634556928,3634741247,US
3634741248,3634749439,CA
-3634749440,3634880511,US
+3634749440,3634759679,US
+3634759680,3634759935,CA
+3634759936,3634880511,US
3634880512,3634888703,CA
3634888704,3634905087,US
3634905088,3634905185,CA
3634905186,3634905186,US
3634905187,3634905343,CA
3634905344,3634905599,US
-3634905600,3634909183,CA
-3634909184,3634913279,US
+3634905600,3634907135,CA
+3634907136,3634913279,US
3634913280,3634921471,CA
3634921472,3634925567,US
3634925568,3634929663,CA
@@ -167995,7 +170383,8 @@
3635159040,3635163135,CA
3635163136,3635167231,US
3635167232,3635167487,GB
-3635167488,3635171071,NL
+3635167488,3635167743,ES
+3635167744,3635171071,NL
3635171072,3635171327,CA
3635171328,3635187967,US
3635187968,3635188223,CN
@@ -168009,9 +170398,7 @@
3635529984,3635530239,PR
3635530240,3635531007,US
3635531008,3635531263,PR
-3635531264,3635534207,US
-3635534208,3635534335,PR
-3635534336,3635643391,US
+3635531264,3635643391,US
3635643392,3635644415,JP
3635644416,3635644927,US
3635644928,3635645183,TH
@@ -168030,10 +170417,14 @@
3635659264,3635660287,ID
3635660288,3635670527,US
3635670528,3635671039,TL
-3635671040,3635740671,US
+3635671040,3635701759,US
+3635701760,3635702015,DE
+3635702016,3635740671,US
3635740672,3635740927,CA
3635740928,3635741439,US
-3635741440,3635745535,CA
+3635741440,3635741695,CA
+3635741696,3635741951,US
+3635741952,3635745535,CA
3635745536,3635746047,US
3635746048,3635748223,CA
3635748224,3635748351,US
@@ -168104,7 +170495,9 @@
3636396032,3636430335,CA
3636430336,3636430591,KY
3636430592,3636461567,CA
-3636461568,3636609023,US
+3636461568,3636596735,US
+3636596736,3636597119,CA
+3636597120,3636609023,US
3636609024,3636621311,CA
3636621312,3636625407,US
3636625408,3636626431,AR
@@ -168176,15 +170569,9 @@
3637870592,3637886975,GB
3637886976,3638165503,US
3638165504,3638181887,CA
-3638181888,3638199305,US
-3638199306,3638199306,JP
-3638199307,3638222273,US
-3638222274,3638222274,JP
-3638222275,3638222293,US
-3638222294,3638222294,JP
-3638222295,3638228005,US
-3638228006,3638228006,JP
-3638228007,3638248191,US
+3638181888,3638226687,US
+3638226688,3638226943,NL
+3638226944,3638248191,US
3638248192,3638248447,GB
3638248448,3638249215,US
3638249216,3638249471,GB
@@ -168206,9 +170593,7 @@
3638753280,3638754303,GA
3638754304,3638874111,US
3638874112,3638878207,CA
-3638878208,3638880511,US
-3638880512,3638880767,CA
-3638880768,3638898943,US
+3638878208,3638898943,US
3638898944,3638899199,MX
3638899200,3638954495,US
3638954496,3638955007,CA
@@ -168291,9 +170676,10 @@
3639672832,3639681023,CL
3639681024,3639692031,US
3639692032,3639692287,GB
-3639692288,3639704573,US
+3639692288,3639701503,US
+3639701504,3639704573,CA
3639704574,3639704574,GB
-3639704575,3639705599,US
+3639704575,3639705599,CA
3639705600,3639713791,CY
3639713792,3639730175,US
3639730176,3639734271,CA
@@ -168351,11 +170737,7 @@
3639890312,3639890327,CA
3639890328,3639890399,US
3639890400,3639890415,CA
-3639890416,3639890447,US
-3639890448,3639890455,CA
-3639890456,3639890535,US
-3639890536,3639890559,CA
-3639890560,3639890607,US
+3639890416,3639890607,US
3639890608,3639890623,CA
3639890624,3639890799,US
3639890800,3639890815,CA
@@ -168461,7 +170843,9 @@
3640316928,3640317183,MX
3640317184,3640318207,US
3640318208,3640318719,NC
-3640318720,3640360959,US
+3640318720,3640336383,US
+3640336384,3640338431,CA
+3640338432,3640360959,US
3640360960,3640369151,CA
3640369152,3640410111,US
3640410112,3640418303,CA
@@ -168588,7 +170972,9 @@
3641618432,3641622527,GB
3641622528,3641626623,RU
3641626624,3641630719,HR
-3641630720,3641634815,AT
+3641630720,3641631487,AT
+3641631488,3641631743,DE
+3641631744,3641634815,AT
3641634816,3641638911,RU
3641638912,3641643007,AT
3641643008,3641647103,RU
@@ -168684,8 +171070,7 @@
3641978880,3641982975,DK
3641982976,3641991167,RU
3641991168,3641995263,SE
-3641995264,3641998335,DE
-3641998848,3641999359,DE
+3641995264,3641999359,DE
3641999360,3642003455,HU
3642003456,3642007551,RU
3642007552,3642015743,UA
@@ -168759,7 +171144,8 @@
3642187776,3642191871,DK
3642191872,3642195967,BY
3642195968,3642204159,RU
-3642204160,3642208255,IM
+3642204160,3642206207,IM
+3642206208,3642208255,GB
3642208256,3642212351,RU
3642212352,3642216447,BA
3642216448,3642220543,HU
@@ -168801,7 +171187,7 @@
3642376192,3642380287,RS
3642380288,3642384383,IT
3642384384,3642392575,NL
-3642392576,3642394623,AT
+3642392576,3642394623,SA
3642394624,3642396671,FR
3642396672,3642404863,MD
3642404864,3642406911,IT
@@ -168847,7 +171233,9 @@
3642519552,3642523647,IT
3642523648,3642527743,GB
3642527744,3642531839,PL
-3642531840,3642535935,DK
+3642531840,3642532863,DK
+3642532864,3642532991,US
+3642532992,3642535935,DK
3642535936,3642540031,IS
3642540032,3642544127,SE
3642544128,3642552319,RU
@@ -168884,7 +171272,7 @@
3642601472,3642605567,RU
3642605568,3642609663,GB
3642609664,3642613759,ZA
-3642613760,3642617855,AX
+3642613760,3642617855,FI
3642617856,3642621951,JO
3642621952,3642622975,IT
3642622976,3642623999,PL
@@ -168950,7 +171338,9 @@
3644718336,3644718591,NL
3644718592,3644718847,IT
3644718848,3644719103,DE
-3644719104,3644809215,NL
+3644719104,3644801279,NL
+3644801280,3644801535,DE
+3644801536,3644809215,NL
3644809216,3644809216,FR
3644809217,3644816639,DK
3644817408,3644850175,NL
@@ -169062,7 +171452,9 @@
3645288896,3645288959,LU
3645288960,3645292543,FR
3645292544,3645296639,DE
-3645296640,3645300735,NL
+3645296640,3645297151,NL
+3645297152,3645297407,GB
+3645297408,3645300735,NL
3645300736,3645302011,IE
3645302012,3645302012,BE
3645302013,3645304831,IE
@@ -169074,7 +171466,7 @@
3645325312,3645329407,IT
3645329408,3645333503,CH
3645334272,3645335039,DE
-3645335552,3645337599,DE
+3645335688,3645335691,DE
3645337600,3645341695,FR
3645341696,3645345791,RU
3645345792,3645349887,FI
@@ -169098,9 +171490,12 @@
3645423616,3645431807,DE
3645431808,3645435903,BE
3645435904,3645439999,GB
-3645440000,3645444095,SE
+3645440000,3645442047,SE
+3645442048,3645444095,GB
3645444096,3645448191,SK
-3645448192,3645454335,DE
+3645448192,3645450239,DE
+3645450240,3645452287,GB
+3645452288,3645454335,DE
3645454336,3645456383,RU
3645456384,3645460479,GB
3645460480,3645464575,UA
@@ -169272,9 +171667,7 @@
3645763685,3645763687,DE
3645763688,3645763690,NL
3645763691,3645763691,CH
-3645763692,3645763692,DE
-3645763693,3645763693,NL
-3645763694,3645763696,DE
+3645763692,3645763696,DE
3645763697,3645763697,NL
3645763698,3645763698,DE
3645763699,3645763699,BE
@@ -169790,9 +172183,7 @@
3645764421,3645764421,DE
3645764422,3645764422,IT
3645764423,3645764423,HU
-3645764424,3645764424,DE
-3645764425,3645764425,GB
-3645764426,3645764433,DE
+3645764424,3645764433,DE
3645764434,3645764434,NL
3645764435,3645764435,AT
3645764436,3645764436,DE
@@ -170031,7 +172422,9 @@
3645849600,3645857791,BG
3645857792,3645865983,GB
3645865984,3645870079,HU
-3645870080,3645874175,PL
+3645870080,3645872234,PL
+3645872235,3645872235,DE
+3645872236,3645874175,PL
3645874176,3645878271,GB
3645878272,3645882367,DE
3645882368,3645886463,CH
@@ -170041,19 +172434,13 @@
3645898752,3646243420,DE
3646243421,3646243421,US
3646243422,3646947327,DE
-3646947328,3647047023,PL
-3647047024,3647047031,FR
-3647047032,3647048319,PL
-3647048320,3647048447,FR
-3647048448,3647209471,PL
+3646947328,3647209471,PL
3647209472,3647602687,NL
3647602688,3647733759,RU
3647733760,3647864831,FR
3647864832,3647916799,DE
3647916800,3647917055,SE
-3647917056,3647936511,DE
-3647936512,3647937023,US
-3647937024,3647947727,DE
+3647917056,3647947727,DE
3647947728,3647947735,GB
3647947736,3647964159,DE
3647964160,3647964287,ES
@@ -170062,8 +172449,7 @@
3647964600,3647965255,DE
3647965256,3647965263,ES
3647965264,3647965695,DE
-3647965696,3647965951,CH
-3647965952,3647966207,DE
+3647965696,3647966207,CH
3647966208,3647967231,GB
3647967232,3647967759,DE
3647967760,3647967775,BE
@@ -170075,40 +172461,31 @@
3647969792,3647970303,BE
3647970304,3647971327,DE
3647971328,3647973375,GB
-3647973376,3647973599,DE
-3647973600,3647973607,IT
-3647973608,3647973615,DE
+3647973376,3647973615,DE
3647973616,3647973623,IT
-3647973624,3647973711,DE
-3647973712,3647973719,IT
-3647973720,3647973751,DE
+3647973624,3647973751,DE
3647973752,3647973759,IT
-3647973760,3647973810,DE
-3647973811,3647973811,IT
-3647973812,3647973887,DE
+3647973760,3647973887,DE
3647973888,3647974143,IT
3647974144,3647975255,DE
3647975256,3647975263,ES
-3647975264,3647975423,DE
-3647975424,3647976447,ES
-3647976448,3647976703,BE
-3647976704,3647976959,DE
-3647976960,3647977471,BE
+3647975264,3647975295,DE
+3647975296,3647976447,ES
+3647976448,3647977471,BE
3647977472,3647978495,GB
3647978496,3647978511,NL
3647978512,3647978515,DE
3647978516,3647979007,NL
3647979008,3647979071,IT
-3647979072,3647980383,DE
+3647979072,3647979519,DE
+3647979520,3647980031,FR
+3647980032,3647980383,DE
3647980384,3647980415,FR
3647980416,3647980543,DE
3647980544,3647982079,GB
3647982080,3647982591,BE
-3647982592,3647983871,DE
-3647983872,3647983879,NL
-3647983880,3647984033,DE
-3647984034,3647984034,NL
-3647984035,3647984639,DE
+3647982592,3647983615,IT
+3647983616,3647984639,NL
3647984640,3647985663,BE
3647985664,3647986431,DE
3647986432,3647986687,ES
@@ -170118,7 +172495,8 @@
3647987712,3647988735,IT
3647988736,3647989759,DE
3647989760,3647991807,ES
-3647991808,3647995903,BE
+3647991808,3647993855,DE
+3647993856,3647995903,BE
3647995904,3648004095,RU
3648004096,3648004837,GB
3648004838,3648004838,RU
@@ -170167,11 +172545,10 @@
3648155648,3648159743,CH
3648159744,3648163839,ES
3648163840,3648167935,RU
-3648167936,3648168191,GB
-3648168192,3648168447,IE
-3648168448,3648169983,GB
-3648169984,3648171007,IE
-3648171008,3648172031,GB
+3648167936,3648169983,IE
+3648169984,3648170239,GB
+3648170240,3648170495,IE
+3648170496,3648172031,GB
3648172032,3648176127,RU
3648176128,3648178175,DE
3648178176,3648180223,FR
@@ -170224,9 +172601,7 @@
3648405504,3648413695,RU
3648413696,3648417791,SK
3648417792,3648418303,ES
-3648418304,3648420095,GB
-3648420096,3648420351,NL
-3648420352,3648425983,GB
+3648418304,3648425983,GB
3648425984,3648430079,IT
3648430080,3648434175,NL
3648434176,3648438271,RU
@@ -170284,7 +172659,8 @@
3649843200,3649847295,NL
3649847296,3649855487,DE
3649855488,3649856511,GB
-3649856512,3649857791,US
+3649856512,3649857535,US
+3649857536,3649857791,GB
3649857792,3649858047,IN
3649858048,3649858559,GB
3649858560,3649859583,US
@@ -170318,10 +172694,12 @@
3650203648,3650207743,ES
3650207744,3650211839,SK
3650211840,3650215935,LV
-3650215936,3650216959,RU
+3650215936,3650216959,BR
3650216960,3650217983,IQ
3650217984,3650219007,NO
-3650219008,3650220031,SE
+3650219008,3650219263,SE
+3650219264,3650219519,NL
+3650219520,3650220031,SE
3650220032,3650224127,SA
3650224128,3650224383,TH
3650224384,3650224639,ES
@@ -170452,8 +172830,9 @@
3650682880,3650748415,PL
3650748416,3650879487,GB
3650879488,3650912255,RO
-3650912256,3650912767,FR
-3650912768,3650916393,GB
+3650912256,3650914311,GB
+3650914312,3650914319,IT
+3650914320,3650916393,GB
3650916394,3650916394,FR
3650916395,3650919807,GB
3650919808,3650919823,BG
@@ -170481,24 +172860,16 @@
3650929896,3650929903,ES
3650929904,3650929911,SE
3650929912,3650929919,CH
-3650929920,3650932881,GB
+3650929920,3650932863,GB
+3650932864,3650932881,US
3650932882,3650932882,DE
-3650932883,3650932943,GB
+3650932883,3650932943,US
3650932944,3650932975,IT
-3650932976,3650932983,GB
+3650932976,3650932983,US
3650932984,3650932991,BE
3650932992,3650939607,GB
3650939608,3650939615,TR
-3650939616,3650940927,GB
-3650940928,3650941177,NL
-3650941178,3650941178,GB
-3650941179,3650941183,NL
-3650941184,3650943999,GB
-3650944000,3650944530,FR
-3650944531,3650944531,GB
-3650944532,3650944708,FR
-3650944709,3650944709,GB
-3650944710,3650945023,FR
+3650939616,3650945023,GB
3650945024,3651010559,DK
3651010560,3651076095,GB
3651076096,3651108863,DE
@@ -170512,23 +172883,15 @@
3651190016,3651192319,DE
3651192320,3651193343,GB
3651193344,3651207167,DE
-3651207168,3651207199,GB
-3651207224,3651207295,GB
-3651207424,3651207615,GB
-3651207648,3651208959,GB
+3651207168,3651209215,GB
3651209216,3651209231,US
-3651209232,3651209239,GB
-3651209240,3651209243,DE
-3651209472,3651210751,GB
+3651209232,3651211263,GB
3651211264,3651211519,IR
-3651213824,3651214207,US
-3651215360,3651215395,GB
-3651215616,3651215871,GB
-3651217408,3651217535,GI
+3651211520,3651213823,GB
+3651213824,3651214079,US
+3651214080,3651219455,GB
3651219456,3651219967,US
-3651220432,3651220447,GB
-3651221504,3651221695,GB
-3651223552,3651223567,GB
+3651219968,3651223567,GB
3651223584,3651223607,GB
3651223648,3651223663,ES
3651227136,3651227391,GB
@@ -170537,20 +172900,18 @@
3651232320,3651232383,GB
3651237376,3651237631,SC
3651239936,3651272703,GB
-3651272704,3651338239,CH
-3651338240,3651342847,GB
-3651342848,3651343359,US
-3651343360,3651344127,GB
+3651272704,3651297023,CH
+3651297024,3651297151,DE
+3651297152,3651338239,CH
+3651338240,3651344127,GB
3651344128,3651344383,DE
3651344384,3651345407,GB
3651345408,3651346175,DE
3651346176,3651352575,GB
3651352576,3651353599,FR
-3651353600,3651354623,GB
-3651354624,3651361279,FR
+3651353600,3651361279,GB
3651361280,3651361535,IE
-3651361536,3651362815,FR
-3651362816,3651403775,GB
+3651361536,3651403775,GB
3651403776,3651534847,AE
3651534848,3651600383,NL
3651600384,3651665919,FR
@@ -170602,10 +172963,7 @@
3651870720,3651874815,IT
3651874816,3651878911,PL
3651878912,3651883007,IT
-3651883008,3651884543,CD
-3651884544,3651884799,BE
-3651884800,3651885311,CD
-3651885312,3651887103,BE
+3651883008,3651887103,CD
3651887104,3651891199,GB
3651891200,3651895295,DE
3651895296,3651899391,GB
@@ -170638,12 +172996,16 @@
3652005888,3652009983,GB
3652009984,3652014079,RU
3652014080,3652018175,SA
-3652018176,3652020991,IE
+3652018176,3652018687,IE
+3652018688,3652018943,PL
+3652018944,3652020991,IE
3652020992,3652021247,AT
3652021248,3652022015,IE
3652022016,3652022271,DE
3652022272,3652026367,ES
-3652026368,3652034559,DE
+3652026368,3652032767,DE
+3652032768,3652033791,NL
+3652033792,3652034559,DE
3652034560,3652046847,PL
3652046848,3652050943,IE
3652050944,3652055039,LI
@@ -170668,16 +173030,16 @@
3652149248,3652153343,DE
3652153344,3652157439,SE
3652157440,3652165631,RU
-3652165632,3652165887,MQ
-3652165888,3652168703,FR
-3652168704,3652169215,MQ
-3652169216,3652169727,FR
+3652165632,3652165759,MQ
+3652165760,3652167679,FR
+3652167680,3652168703,GP
+3652168704,3652169727,FR
3652169728,3652173823,MQ
3652173824,3652177919,AT
3652177920,3652182015,CY
3652182016,3652186111,DE
-3652186112,3652186623,TH
-3652186624,3652190207,DE
+3652186112,3652187135,TH
+3652187136,3652190207,DE
3652190208,3652321279,GB
3652321280,3652386815,JP
3652386816,3652583423,GB
@@ -170784,7 +173146,9 @@
3652599616,3652599623,DE
3652599624,3652599679,FR
3652599680,3652599743,IT
-3652599744,3652601855,FR
+3652599744,3652599791,FR
+3652599792,3652599807,BE
+3652599808,3652601855,FR
3652601856,3652603903,PL
3652603904,3652608087,FR
3652608088,3652608091,ES
@@ -170833,7 +173197,9 @@
3652613680,3652613695,LT
3652613696,3652614015,FR
3652614016,3652614079,BE
-3652614080,3652615871,FR
+3652614080,3652614339,FR
+3652614340,3652614343,LT
+3652614344,3652615871,FR
3652615872,3652615935,DE
3652615936,3652620639,FR
3652620640,3652620671,CZ
@@ -170866,7 +173232,11 @@
3652628608,3652628639,PL
3652628640,3652628855,FR
3652628856,3652628863,ES
-3652628864,3652629743,FR
+3652628864,3652629095,FR
+3652629096,3652629103,GB
+3652629104,3652629167,FR
+3652629168,3652629183,PL
+3652629184,3652629743,FR
3652629744,3652629759,ES
3652629760,3652630015,FR
3652630016,3652630031,ES
@@ -171062,8 +173432,8 @@
3653763072,3654025215,IT
3654025216,3654287359,GB
3654287360,3654467071,SE
-3654467072,3654467199,DK
-3654467200,3654606975,SE
+3654467072,3654467327,DK
+3654467328,3654606975,SE
3654607104,3654608404,SE
3654608405,3654608405,NO
3654608406,3654608895,SE
@@ -171167,7 +173537,9 @@
3669620736,3669622783,IN
3669622784,3669688319,SG
3669688320,3669753855,TW
-3669753856,3670015999,HK
+3669753856,3669825535,HK
+3669825536,3669826559,PH
+3669826560,3670015999,HK
3670016000,3671064575,CN
3671064576,3671130111,MY
3671130112,3671195647,KR
@@ -171182,9 +173554,9 @@
3673751552,3673817087,CN
3673817088,3673882623,HK
3673882624,3673948159,JP
-3673948160,3674180351,HK
-3674180352,3674180607,AU
-3674180608,3674210303,HK
+3673948160,3674062847,HK
+3674062848,3674064895,AU
+3674064896,3674210303,HK
3674210304,3678404607,JP
3678404608,3678535679,IN
3678535680,3678666751,JP
@@ -171238,7 +173610,10 @@
3699376128,3700424703,TW
3700424704,3700752383,JP
3700752384,3700817919,KR
-3700817920,3700981759,JP
+3700817920,3700977663,JP
+3700977664,3700978687,BD
+3700978688,3700979711,TH
+3700979712,3700981759,JP
3700981760,3701014527,CN
3701014528,3701080063,JP
3701080064,3701211135,CN
@@ -171307,7 +173682,56 @@
3706322944,3706388479,CN
3706388480,3706781695,AU
3706781696,3706847231,HK
-3706847232,3706978303,CN
+3706847232,3706847743,CN
+3706847744,3706847999,HK
+3706848000,3706849791,CN
+3706849792,3706850047,SG
+3706850048,3706851071,CN
+3706851072,3706851327,US
+3706851328,3706880767,CN
+3706880768,3706881023,US
+3706881024,3706881535,CN
+3706881536,3706881791,JP
+3706881792,3706882303,CN
+3706882304,3706882559,JP
+3706882560,3706883071,CN
+3706883072,3706883327,FR
+3706883328,3706883839,US
+3706883840,3706885119,CN
+3706885120,3706885375,SG
+3706885376,3706885887,CN
+3706885888,3706886143,US
+3706886144,3706962431,CN
+3706962432,3706962687,US
+3706962688,3706963199,CN
+3706963200,3706963455,US
+3706963456,3706964479,CN
+3706964480,3706964735,SE
+3706964736,3706965759,CN
+3706965760,3706966015,TH
+3706966016,3706967039,IN
+3706967040,3706967295,US
+3706967296,3706969599,CN
+3706969600,3706969855,HK
+3706969856,3706970111,CN
+3706970112,3706970367,US
+3706970368,3706971903,CN
+3706971904,3706972159,US
+3706972160,3706973183,CN
+3706973184,3706973439,US
+3706973440,3706973951,CN
+3706973952,3706974207,PH
+3706974208,3706974463,TW
+3706974464,3706974719,CN
+3706974720,3706974975,US
+3706974976,3706976511,CN
+3706976512,3706976512,JP
+3706976513,3706977023,CN
+3706977024,3706977279,OM
+3706977280,3706977535,CN
+3706977536,3706977791,HK
+3706977792,3706978047,TH
+3706978048,3706978303,CN
3706978304,3707109375,AU
3707109376,3707174911,HK
3707174912,3707207679,JP
@@ -171449,7 +173873,7 @@
3743019008,3743022079,MY
3743022080,3743023103,BD
3743023104,3743027199,TW
-3743027200,3743028223,IN
+3743027200,3743028223,US
3743028224,3743029247,AF
3743029248,3743030271,NZ
3743030272,3743035391,IN
@@ -171479,9 +173903,7 @@
3743134720,3743135743,JP
3743135744,3743136767,CN
3743136768,3743137791,MY
-3743137792,3743146495,TH
-3743146496,3743146751,DK
-3743146752,3743154175,TH
+3743137792,3743154175,TH
3743154176,3743186943,MY
3743186944,3743219711,KR
3743219712,3743252479,JP
@@ -171560,7 +173982,9 @@
3757862912,3757867007,JP
3757867008,3757875519,CN
3757875520,3757875583,HK
-3757875584,3757899775,CN
+3757875584,3757878271,CN
+3757878272,3757878527,JP
+3757878528,3757899775,CN
3757899776,3757965311,KR
3757965312,3758063615,CN
3758063616,3758079999,HK
diff --git a/src/config/geoip6 b/src/config/geoip6
index fd247799ce..abe71e560b 100644
--- a/src/config/geoip6
+++ b/src/config/geoip6
@@ -1,4 +1,4 @@
-# Last updated based on October 9 2018 Maxmind GeoLite2 Country
+# Last updated based on December 5 2018 Maxmind GeoLite2 Country
# wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz
# gunzip GeoLite2-Country.mmdb.gz
# python mmdb-convert.py GeoLite2-Country.mmdb
@@ -70,8 +70,8 @@
2001:420:4000::,2001:420:447f:ffff:ffff:ffff:ffff:ffff,NL
2001:420:4480::,2001:420:4487:ffff:ffff:ffff:ffff:ffff,IL
2001:420:4488::,2001:420:4fff:ffff:ffff:ffff:ffff:ffff,NL
-2001:420:5000::,2001:420:53ff:ffff:ffff:ffff:ffff:ffff,AU
-2001:420:5400::,2001:420:57ff:ffff:ffff:ffff:ffff:ffff,IN
+2001:420:5000::,2001:420:51ff:ffff:ffff:ffff:ffff:ffff,AU
+2001:420:5200::,2001:420:57ff:ffff:ffff:ffff:ffff:ffff,IN
2001:420:5800::,2001:420:5bff:ffff:ffff:ffff:ffff:ffff,HK
2001:420:5c00::,2001:420:5dff:ffff:ffff:ffff:ffff:ffff,SG
2001:420:5e00::,2001:420:5fff:ffff:ffff:ffff:ffff:ffff,JP
@@ -83,7 +83,9 @@
2001:420:c0d8::,2001:420:c0db:ffff:ffff:ffff:ffff:ffff,HK
2001:420:c0dc::,2001:420:c0df:ffff:ffff:ffff:ffff:ffff,JP
2001:420:c0e0::,2001:420:c0e3:ffff:ffff:ffff:ffff:ffff,IN
-2001:420:c0e4::,2001:420:ffff:ffff:ffff:ffff:ffff:ffff,US
+2001:420:c0e4::,2001:420:c0e7:ffff:ffff:ffff:ffff:ffff,US
+2001:420:c0e8::,2001:420:c0ff:ffff:ffff:ffff:ffff:ffff,IN
+2001:420:c100::,2001:420:ffff:ffff:ffff:ffff:ffff:ffff,US
2001:428::,2001:428:ffff:ffff:ffff:ffff:ffff:ffff,US
2001:430::,2001:430:ffff:ffff:ffff:ffff:ffff:ffff,US
2001:438::,2001:438:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -105,27 +107,32 @@
2001:470:5:319::,2001:470:d:11b:ffff:ffff:ffff:ffff,US
2001:470:d:11c::,2001:470:d:11c:ffff:ffff:ffff:ffff,NZ
2001:470:d:11d::,2001:470:d:1ff:ffff:ffff:ffff:ffff,US
-2001:470:d:200::,2001:470:d:ffff:ffff:ffff:ffff:ffff,CN
-2001:470:e::,2001:470:17:ffff:ffff:ffff:ffff:ffff,US
-2001:470:18::,2001:470:19:e7f:ffff:ffff:ffff:ffff,CN
+2001:470:d:200::,2001:470:d:267:ffff:ffff:ffff:ffff,CN
+2001:470:d:268::,2001:470:d:268:ffff:ffff:ffff:ffff,US
+2001:470:d:269::,2001:470:d:2a3:ffff:ffff:ffff:ffff,CN
+2001:470:d:2a4::,2001:470:d:2a4:ffff:ffff:ffff:ffff,US
+2001:470:d:2a5::,2001:470:d:7ff:ffff:ffff:ffff:ffff,CN
+2001:470:d:800::,2001:470:d:17ff:ffff:ffff:ffff:ffff,US
+2001:470:d:1800::,2001:470:d:ffff:ffff:ffff:ffff:ffff,CN
+2001:470:e::,2001:470:18:ffff:ffff:ffff:ffff:ffff,US
+2001:470:19::,2001:470:19:e7f:ffff:ffff:ffff:ffff,CN
2001:470:19:e80::,2001:470:19:e80:ffff:ffff:ffff:ffff,HK
2001:470:19:e81::,2001:470:19:1180:ffff:ffff:ffff:ffff,CN
2001:470:19:1181::,2001:470:19:1181:ffff:ffff:ffff:ffff,HK
2001:470:19:1182::,2001:470:19:ffff:ffff:ffff:ffff:ffff,CN
-2001:470:1a::,2001:470:1c:ffff:ffff:ffff:ffff:ffff,US
-2001:470:1d::,2001:470:1d:7ff:ffff:ffff:ffff:ffff,CA
-2001:470:1d:800::,2001:470:1d:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:1e::,2001:470:1f:ffff:ffff:ffff:ffff:ffff,US
-2001:470:20::,2001:470:23:429:ffff:ffff:ffff:ffff,JP
+2001:470:1a::,2001:470:1d:56f:ffff:ffff:ffff:ffff,US
+2001:470:1d:570::,2001:470:1d:570:ffff:ffff:ffff:ffff,CA
+2001:470:1d:571::,2001:470:1d:7ff:ffff:ffff:ffff:ffff,US
+2001:470:1d:800::,2001:470:1d:fff:ffff:ffff:ffff:ffff,RU
+2001:470:1d:1000::,2001:470:23:429:ffff:ffff:ffff:ffff,US
2001:470:23:42a::,2001:470:23:42a:ffff:ffff:ffff:ffff,RU
-2001:470:23:42b::,2001:470:23:ffff:ffff:ffff:ffff:ffff,JP
+2001:470:23:42b::,2001:470:23:ffff:ffff:ffff:ffff:ffff,US
2001:470:24::,2001:470:24:3ff:ffff:ffff:ffff:ffff,KR
-2001:470:24:400::,2001:470:24:7ff:ffff:ffff:ffff:ffff,CN
-2001:470:24:800::,2001:470:24:fff:ffff:ffff:ffff:ffff,KR
+2001:470:24:400::,2001:470:24:5ff:ffff:ffff:ffff:ffff,CN
+2001:470:24:600::,2001:470:24:fff:ffff:ffff:ffff:ffff,KR
2001:470:24:1000::,2001:470:24:1fff:ffff:ffff:ffff:ffff,CN
2001:470:24:2000::,2001:470:24:ffff:ffff:ffff:ffff:ffff,KR
-2001:470:25::,2001:470:25:ffff:ffff:ffff:ffff:ffff,US
-2001:470:26::,2001:470:26:65b:ffff:ffff:ffff:ffff,RU
+2001:470:25::,2001:470:26:65b:ffff:ffff:ffff:ffff,RU
2001:470:26:65c::,2001:470:26:65c:ffff:ffff:ffff:ffff,CH
2001:470:26:65d::,2001:470:26:825:ffff:ffff:ffff:ffff,RU
2001:470:26:826::,2001:470:26:826:ffff:ffff:ffff:ffff,CH
@@ -147,24 +154,26 @@
2001:470:28:817::,2001:470:28:817:ffff:ffff:ffff:ffff,DK
2001:470:28:818::,2001:470:28:9c1:ffff:ffff:ffff:ffff,RU
2001:470:28:9c2::,2001:470:28:9c2:ffff:ffff:ffff:ffff,SE
-2001:470:28:9c3::,2001:470:28:a2b:ffff:ffff:ffff:ffff,RU
+2001:470:28:9c3::,2001:470:28:9ff:ffff:ffff:ffff:ffff,RU
+2001:470:28:a00::,2001:470:28:a2b:ffff:ffff:ffff:ffff,FI
2001:470:28:a2c::,2001:470:28:a2c:ffff:ffff:ffff:ffff,SE
-2001:470:28:a2d::,2001:470:28:efc:ffff:ffff:ffff:ffff,RU
+2001:470:28:a2d::,2001:470:28:bff:ffff:ffff:ffff:ffff,FI
+2001:470:28:c00::,2001:470:28:efc:ffff:ffff:ffff:ffff,RU
2001:470:28:efd::,2001:470:28:efd:ffff:ffff:ffff:ffff,SE
-2001:470:28:efe::,2001:470:2e:1::2f,RU
-2001:470:2e:1::30,2001:470:2e:1::30,US
-2001:470:2e:1::31,2001:470:2f:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:30::,2001:470:36:6c:ffff:ffff:ffff:ffff,US
+2001:470:28:efe::,2001:470:28:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:29::,2001:470:36:6c:ffff:ffff:ffff:ffff,US
2001:470:36:6d::,2001:470:36:6d:ffff:ffff:ffff:ffff,IN
-2001:470:36:6e::,2001:470:6b:ffff:ffff:ffff:ffff:ffff,US
-2001:470:6c::,2001:470:6c:39d:ffff:ffff:ffff:ffff,DE
+2001:470:36:6e::,2001:470:6c:39d:ffff:ffff:ffff:ffff,US
2001:470:6c:39e::,2001:470:6c:39e:ffff:ffff:ffff:ffff,DK
-2001:470:6c:39f::,2001:470:6d:39d:ffff:ffff:ffff:ffff,DE
+2001:470:6c:39f::,2001:470:6c:ffff:ffff:ffff:ffff:ffff,US
+2001:470:6d::,2001:470:6d:39d:ffff:ffff:ffff:ffff,DE
2001:470:6d:39e::,2001:470:6d:39e:ffff:ffff:ffff:ffff,DK
2001:470:6d:39f::,2001:470:6d:6b1:ffff:ffff:ffff:ffff,DE
2001:470:6d:6b2::,2001:470:6d:6b2:ffff:ffff:ffff:ffff,ES
-2001:470:6d:6b3::,2001:470:6d:ffff:ffff:ffff:ffff:ffff,DE
-2001:470:6e::,2001:470:6f:49e:ffff:ffff:ffff:ffff,US
+2001:470:6d:6b3::,2001:470:6d:7ff:ffff:ffff:ffff:ffff,DE
+2001:470:6d:800::,2001:470:6d:e8d:ffff:ffff:ffff:ffff,US
+2001:470:6d:e8e::,2001:470:6d:e8e:ffff:ffff:ffff:ffff,DE
+2001:470:6d:e8f::,2001:470:6f:49e:ffff:ffff:ffff:ffff,US
2001:470:6f:49f::,2001:470:6f:49f:ffff:ffff:ffff:ffff,SK
2001:470:6f:4a0::,2001:470:6f:7ff:ffff:ffff:ffff:ffff,US
2001:470:6f:800::,2001:470:6f:fff:ffff:ffff:ffff:ffff,CZ
@@ -185,14 +194,8 @@
2001:470:1c00::,2001:470:1f04:ffff:ffff:ffff:ffff:ffff,US
2001:470:1f05::,2001:470:1f05:83:ffff:ffff:ffff:ffff,CN
2001:470:1f05:84::,2001:470:1f05:84:ffff:ffff:ffff:ffff,US
-2001:470:1f05:85::,2001:470:1f05:3ff:ffff:ffff:ffff:ffff,CN
-2001:470:1f05:400::,2001:470:1f05:fff:ffff:ffff:ffff:ffff,US
-2001:470:1f05:1000::,2001:470:1f05:ffff:ffff:ffff:ffff:ffff,CN
-2001:470:1f06::,2001:470:1f07:7ff:ffff:ffff:ffff:ffff,US
-2001:470:1f07:800::,2001:470:1f07:8ff:ffff:ffff:ffff:ffff,CN
-2001:470:1f07:900::,2001:470:1f07:9ff:ffff:ffff:ffff:ffff,US
-2001:470:1f07:a00::,2001:470:1f07:bff:ffff:ffff:ffff:ffff,CN
-2001:470:1f07:c00::,2001:470:1f08:136:ffff:ffff:ffff:ffff,US
+2001:470:1f05:85::,2001:470:1f05:1ff:ffff:ffff:ffff:ffff,CN
+2001:470:1f05:200::,2001:470:1f08:136:ffff:ffff:ffff:ffff,US
2001:470:1f08:137::,2001:470:1f08:137:ffff:ffff:ffff:ffff,GB
2001:470:1f08:138::,2001:470:1f08:415::1,US
2001:470:1f08:415::2,2001:470:1f08:415::2,GB
@@ -200,75 +203,65 @@
2001:470:1f08:121a::,2001:470:1f08:121a:ffff:ffff:ffff:ffff,GB
2001:470:1f08:121b::,2001:470:1f08:1367:ffff:ffff:ffff:ffff,US
2001:470:1f08:1368::,2001:470:1f08:1368:ffff:ffff:ffff:ffff,GB
-2001:470:1f08:1369::,2001:470:1f09:114:ffff:ffff:ffff:ffff,US
-2001:470:1f09:115::,2001:470:1f09:115:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:116::,2001:470:1f09:2b5:ffff:ffff:ffff:ffff,US
-2001:470:1f09:2b6::,2001:470:1f09:2b6:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:2b7::,2001:470:1f09:414:ffff:ffff:ffff:ffff,US
-2001:470:1f09:415::,2001:470:1f09:415:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:416::,2001:470:1f09:7ff:ffff:ffff:ffff:ffff,US
-2001:470:1f09:800::,2001:470:1f09:fff:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:1000::,2001:470:1f09:1219:ffff:ffff:ffff:ffff,US
-2001:470:1f09:121a::,2001:470:1f09:121a:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:121b::,2001:470:1f09:1367:ffff:ffff:ffff:ffff,US
-2001:470:1f09:1368::,2001:470:1f09:1368:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:1369::,2001:470:1f09:ffff:ffff:ffff:ffff:ffff,US
-2001:470:1f0a::,2001:470:1f0a:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:1f0b::,2001:470:1f0b:30e:ffff:ffff:ffff:ffff,UA
+2001:470:1f08:1369::,2001:470:1f08:ffff:ffff:ffff:ffff:ffff,US
+2001:470:1f09::,2001:470:1f09:ffff:ffff:ffff:ffff:ffff,GB
+2001:470:1f0a::,2001:470:1f0a:ffff:ffff:ffff:ffff:ffff,US
+2001:470:1f0b::,2001:470:1f0b:30e:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:30f::,2001:470:1f0b:30f:ffff:ffff:ffff:ffff,DE
-2001:470:1f0b:310::,2001:470:1f0b:59f:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:310::,2001:470:1f0b:4b0:ffff:ffff:ffff:ffff,RU
+2001:470:1f0b:4b1::,2001:470:1f0b:4b1:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:4b2::,2001:470:1f0b:59f:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:5a0::,2001:470:1f0b:5a0:ffff:ffff:ffff:ffff,AT
-2001:470:1f0b:5a1::,2001:470:1f0b:779:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:5a1::,2001:470:1f0b:779:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:77a::,2001:470:1f0b:77a:ffff:ffff:ffff:ffff,DE
-2001:470:1f0b:77b::,2001:470:1f0b:784:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:77b::,2001:470:1f0b:784:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:785::,2001:470:1f0b:785:ffff:ffff:ffff:ffff,PL
-2001:470:1f0b:786::,2001:470:1f0b:9c7:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:786::,2001:470:1f0b:9c7:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:9c8::,2001:470:1f0b:9c8:ffff:ffff:ffff:ffff,AT
-2001:470:1f0b:9c9::,2001:470:1f0b:be6:ffff:ffff:ffff:ffff,UA
-2001:470:1f0b:be7::,2001:470:1f0b:be7:ffff:ffff:ffff:ffff,RU
-2001:470:1f0b:be8::,2001:470:1f0b:fff:ffff:ffff:ffff:ffff,UA
-2001:470:1f0b:1000::,2001:470:1f0b:118a:ffff:ffff:ffff:ffff,RU
+2001:470:1f0b:9c9::,2001:470:1f0b:118a:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:118b::,2001:470:1f0b:118b:ffff:ffff:ffff:ffff,DE
2001:470:1f0b:118c::,2001:470:1f0b:11d1:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:11d2::,2001:470:1f0b:11d2:ffff:ffff:ffff:ffff,DE
2001:470:1f0b:11d3::,2001:470:1f0b:1211:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:1212::,2001:470:1f0b:1212:ffff:ffff:ffff:ffff,DE
-2001:470:1f0b:1213::,2001:470:1f0b:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:1f0c::,2001:470:1f13:ffff:ffff:ffff:ffff:ffff,US
-2001:470:1f14::,2001:470:1f15:b3:ffff:ffff:ffff:ffff,RU
+2001:470:1f0b:1213::,2001:470:1f0b:16ff:ffff:ffff:ffff:ffff,RU
+2001:470:1f0b:1700::,2001:470:1f0b:17ff:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:1800::,2001:470:1f0b:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:1f0c::,2001:470:1f11:ffff:ffff:ffff:ffff:ffff,US
+2001:470:1f12::,2001:470:1f13:ffff:ffff:ffff:ffff:ffff,FR
+2001:470:1f14::,2001:470:1f15:b3:ffff:ffff:ffff:ffff,US
2001:470:1f15:b4::,2001:470:1f15:b4:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:b5::,2001:470:1f15:16b:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:b5::,2001:470:1f15:16b:ffff:ffff:ffff:ffff,US
2001:470:1f15:16c::,2001:470:1f15:16c:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:16d::,2001:470:1f15:20f:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:16d::,2001:470:1f15:20f:ffff:ffff:ffff:ffff,US
2001:470:1f15:210::,2001:470:1f15:210:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:211::,2001:470:1f15:44f:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:211::,2001:470:1f15:44f:ffff:ffff:ffff:ffff,US
2001:470:1f15:450::,2001:470:1f15:450:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:451::,2001:470:1f15:500:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:451::,2001:470:1f15:500:ffff:ffff:ffff:ffff,US
2001:470:1f15:501::,2001:470:1f15:501:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:502::,2001:470:1f15:582:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:502::,2001:470:1f15:582:ffff:ffff:ffff:ffff,US
2001:470:1f15:583::,2001:470:1f15:583:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:584::,2001:470:1f15:5ab:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:584::,2001:470:1f15:5ab:ffff:ffff:ffff:ffff,US
2001:470:1f15:5ac::,2001:470:1f15:5ac:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:5ad::,2001:470:1f15:9c5:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:5ad::,2001:470:1f15:73b:ffff:ffff:ffff:ffff,US
+2001:470:1f15:73c::,2001:470:1f15:73c:ffff:ffff:ffff:ffff,NL
+2001:470:1f15:73d::,2001:470:1f15:9c5:ffff:ffff:ffff:ffff,US
2001:470:1f15:9c6::,2001:470:1f15:9c6:ffff:ffff:ffff:ffff,AT
-2001:470:1f15:9c7::,2001:470:1f15:a5e:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:9c7::,2001:470:1f15:a5e:ffff:ffff:ffff:ffff,US
2001:470:1f15:a5f::,2001:470:1f15:a60:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:a61::,2001:470:1f15:b25:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:a61::,2001:470:1f15:b25:ffff:ffff:ffff:ffff,US
2001:470:1f15:b26::,2001:470:1f15:b26:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:b27::,2001:470:1f15:10db:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:b27::,2001:470:1f15:10db:ffff:ffff:ffff:ffff,US
2001:470:1f15:10dc::,2001:470:1f15:10dc:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:10dd::,2001:470:1f15:110b:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:10dd::,2001:470:1f15:110b:ffff:ffff:ffff:ffff,US
2001:470:1f15:110c::,2001:470:1f15:110c:ffff:ffff:ffff:ffff,BE
-2001:470:1f15:110d::,2001:470:1f17:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:1f18::,2001:470:1f1c:ffff:ffff:ffff:ffff:ffff,US
-2001:470:1f1d::,2001:470:1f1d:195:ffff:ffff:ffff:ffff,IE
+2001:470:1f15:110d::,2001:470:1f1d:195:ffff:ffff:ffff:ffff,US
2001:470:1f1d:196::,2001:470:1f1d:196:ffff:ffff:ffff:ffff,GB
-2001:470:1f1d:197::,2001:470:1f1d:929:ffff:ffff:ffff:ffff,IE
+2001:470:1f1d:197::,2001:470:1f1d:929:ffff:ffff:ffff:ffff,US
2001:470:1f1d:92a::,2001:470:1f1d:92a:ffff:ffff:ffff:ffff,GB
-2001:470:1f1d:92b::,2001:470:1f1d:a59:ffff:ffff:ffff:ffff,IE
+2001:470:1f1d:92b::,2001:470:1f1d:a59:ffff:ffff:ffff:ffff,US
2001:470:1f1d:a5a::,2001:470:1f1d:a5a:ffff:ffff:ffff:ffff,GB
-2001:470:1f1d:a5b::,2001:470:1f1d:ffff:ffff:ffff:ffff:ffff,IE
-2001:470:1f1e::,2001:470:1f21:37:ffff:ffff:ffff:ffff,US
+2001:470:1f1d:a5b::,2001:470:1f21:37:ffff:ffff:ffff:ffff,US
2001:470:1f21:38::,2001:470:1f21:38:ffff:ffff:ffff:ffff,PT
2001:470:1f21:39::,2001:470:1fff:ffff:ffff:ffff:ffff:ffff,US
2001:470:2000::,2001:470:21fb:ffff:ffff:ffff:ffff:ffff,HU
@@ -276,35 +269,29 @@
2001:470:21fd::,2001:470:27ff:ffff:ffff:ffff:ffff:ffff,HU
2001:470:2800::,2001:470:4a63:ffff:ffff:ffff:ffff:ffff,US
2001:470:4a64::,2001:470:4a64:ffff:ffff:ffff:ffff:ffff,NZ
-2001:470:4a65::,2001:470:581f:ffff:ffff:ffff:ffff:ffff,US
-2001:470:5820::,2001:470:5820:ffff:ffff:ffff:ffff:ffff,CZ
-2001:470:5821::,2001:470:5a34:ffff:ffff:ffff:ffff:ffff,US
-2001:470:5a35::,2001:470:5a35:ffff:ffff:ffff:ffff:ffff,CZ
-2001:470:5a36::,2001:470:5a39:ffff:ffff:ffff:ffff:ffff,US
-2001:470:5a3a::,2001:470:5a3a:ffff:ffff:ffff:ffff:ffff,CZ
-2001:470:5a3b::,2001:470:5a80:ffff:ffff:ffff:ffff:ffff,US
-2001:470:5a81::,2001:470:5a81:ffff:ffff:ffff:ffff:ffff,CZ
-2001:470:5a82::,2001:470:6304:ffff:ffff:ffff:ffff:ffff,US
+2001:470:4a65::,2001:470:57ff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:5800::,2001:470:5bff:ffff:ffff:ffff:ffff:ffff,CZ
+2001:470:5c00::,2001:470:6304:ffff:ffff:ffff:ffff:ffff,US
2001:470:6305::,2001:470:6305:ffff:ffff:ffff:ffff:ffff,UA
2001:470:6306::,2001:470:647b:ffff:ffff:ffff:ffff:ffff,US
2001:470:647c::,2001:470:647c:ffff:ffff:ffff:ffff:ffff,UA
-2001:470:647d::,2001:470:67ff:ffff:ffff:ffff:ffff:ffff,US
-2001:470:6800::,2001:470:6fff:ffff:ffff:ffff:ffff:ffff,GB
-2001:470:7000::,2001:470:7170:ffff:ffff:ffff:ffff:ffff,US
-2001:470:7171::,2001:470:7171:ffff:ffff:ffff:ffff:ffff,DE
-2001:470:7172::,2001:470:7271:ffff:ffff:ffff:ffff:ffff,US
-2001:470:7272::,2001:470:7272:ffff:ffff:ffff:ffff:ffff,DE
-2001:470:7273::,2001:470:7286:ffff:ffff:ffff:ffff:ffff,US
+2001:470:647d::,2001:470:6bff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:6c00::,2001:470:6dff:ffff:ffff:ffff:ffff:ffff,GB
+2001:470:6e00::,2001:470:6f5b:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:6f5c::,2001:470:6f5c:ffff:ffff:ffff:ffff:ffff,GB
+2001:470:6f5d::,2001:470:6fff:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:7000::,2001:470:7286:ffff:ffff:ffff:ffff:ffff,DE
2001:470:7287::,2001:470:7287:ffff:ffff:ffff:ffff:ffff,PL
-2001:470:7288::,2001:470:73ff:ffff:ffff:ffff:ffff:ffff,US
-2001:470:7400::,2001:470:7421:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:7288::,2001:470:73ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:470:7400::,2001:470:7421:ffff:ffff:ffff:ffff:ffff,US
2001:470:7422::,2001:470:7422:ffff:ffff:ffff:ffff:ffff,DE
-2001:470:7423::,2001:470:747a:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:7423::,2001:470:747a:ffff:ffff:ffff:ffff:ffff,US
2001:470:747b::,2001:470:747b:ffff:ffff:ffff:ffff:ffff,AT
-2001:470:747c::,2001:470:74fd:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:747c::,2001:470:74fd:ffff:ffff:ffff:ffff:ffff,US
2001:470:74fe::,2001:470:74fe:ffff:ffff:ffff:ffff:ffff,AT
-2001:470:74ff::,2001:470:77ff:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:7800::,2001:470:7837:ffff:ffff:ffff:ffff:ffff,US
+2001:470:74ff::,2001:470:75e5:ffff:ffff:ffff:ffff:ffff,US
+2001:470:75e6::,2001:470:75e6:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:75e7::,2001:470:7837:ffff:ffff:ffff:ffff:ffff,US
2001:470:7838::,2001:470:7838:ffff:ffff:ffff:ffff:ffff,NL
2001:470:7839::,2001:470:783c:ffff:ffff:ffff:ffff:ffff,US
2001:470:783d::,2001:470:783d:ffff:ffff:ffff:ffff:ffff,NL
@@ -324,33 +311,51 @@
2001:470:7ea6::,2001:470:7ea6:ffff:ffff:ffff:ffff:ffff,NL
2001:470:7ea7::,2001:470:9794:ffff:ffff:ffff:ffff:ffff,US
2001:470:9795::,2001:470:9795:ffff:ffff:ffff:ffff:ffff,GB
-2001:470:9796::,2001:470:999c:ffff:ffff:ffff:ffff:ffff,US
+2001:470:9796::,2001:470:97ff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:9800::,2001:470:999c:ffff:ffff:ffff:ffff:ffff,RU
2001:470:999d::,2001:470:999d:ffff:ffff:ffff:ffff:ffff,DE
-2001:470:999e::,2001:470:9aa3:ffff:ffff:ffff:ffff:ffff,US
-2001:470:9aa4::,2001:470:9aa7:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:9aa8::,2001:470:b0e1:ffff:ffff:ffff:ffff:ffff,US
+2001:470:999e::,2001:470:9bff:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:9c00::,2001:470:b0e1:ffff:ffff:ffff:ffff:ffff,US
2001:470:b0e2::,2001:470:b0e2:ffff:ffff:ffff:ffff:ffff,CA
-2001:470:b0e3::,2001:470:b1ff:ffff:ffff:ffff:ffff:ffff,US
-2001:470:b200::,2001:470:b2ff:ffff:ffff:ffff:ffff:ffff,CA
-2001:470:b300::,2001:470:b4e9:ffff:ffff:ffff:ffff:ffff,US
+2001:470:b0e3::,2001:470:b4e9:ffff:ffff:ffff:ffff:ffff,US
2001:470:b4ea::,2001:470:b4ea:ffff:ffff:ffff:ffff:ffff,AT
2001:470:b4eb::,2001:470:b625:ffff:ffff:ffff:ffff:ffff,US
2001:470:b626::,2001:470:b626:ff:ffff:ffff:ffff:ffff,DE
-2001:470:b626:100::,2001:470:d6ee:ffff:ffff:ffff:ffff:ffff,US
+2001:470:b626:100::,2001:470:c3ff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:c400::,2001:470:c4b1:ffff:ffff:ffff:ffff:ffff,CA
+2001:470:c4b2::,2001:470:c4b2:ffff:ffff:ffff:ffff:ffff,US
+2001:470:c4b3::,2001:470:c4d2:ffff:ffff:ffff:ffff:ffff,CA
+2001:470:c4d3::,2001:470:c4d3:ffff:ffff:ffff:ffff:ffff,US
+2001:470:c4d4::,2001:470:c7ff:ffff:ffff:ffff:ffff:ffff,CA
+2001:470:c800::,2001:470:d6ee:ffff:ffff:ffff:ffff:ffff,US
2001:470:d6ef::,2001:470:d6ef:ffff:ffff:ffff:ffff:ffff,FR
-2001:470:d6f0::,2001:470:dbff:ffff:ffff:ffff:ffff:ffff,US
-2001:470:dc00::,2001:470:dd67:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:d6f0::,2001:470:d7ff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:d800::,2001:470:dbff:ffff:ffff:ffff:ffff:ffff,BR
+2001:470:dc00::,2001:470:dc1b:ffff:ffff:ffff:ffff:ffff,US
+2001:470:dc1c::,2001:470:dc1c:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:dc1d::,2001:470:dd3a:ffff:ffff:ffff:ffff:ffff,US
+2001:470:dd3b::,2001:470:dd3b:ffff:ffff:ffff:ffff:ffff,FI
+2001:470:dd3c::,2001:470:dd67:ffff:ffff:ffff:ffff:ffff,US
2001:470:dd68::,2001:470:dd68:ffff:ffff:ffff:ffff:ffff,DK
-2001:470:dd69::,2001:470:dec3:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:dd69::,2001:470:ddff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:de00::,2001:470:de7f:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:de80::,2001:470:dec3:ffff:ffff:ffff:ffff:ffff,US
2001:470:dec4::,2001:470:dec4:ffff:ffff:ffff:ffff:ffff,SE
-2001:470:dec5::,2001:470:dee2:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:dec5::,2001:470:dee2:ffff:ffff:ffff:ffff:ffff,US
2001:470:dee3::,2001:470:dee3:ffff:ffff:ffff:ffff:ffff,NO
-2001:470:dee4::,2001:470:df26:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:dee4::,2001:470:df26:ffff:ffff:ffff:ffff:ffff,US
2001:470:df27::,2001:470:df27:ffff:ffff:ffff:ffff:ffff,SE
-2001:470:df28::,2001:470:df40:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:df28::,2001:470:df40:ffff:ffff:ffff:ffff:ffff,US
2001:470:df41::,2001:470:df41:ffff:ffff:ffff:ffff:ffff,SE
-2001:470:df42::,2001:470:dfff:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:e000::,2001:470:ffff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:df42::,2001:470:dfc9:ffff:ffff:ffff:ffff:ffff,US
+2001:470:dfca::,2001:470:dfca:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:dfcb::,2001:470:ebff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:ec00::,2001:470:efff:ffff:ffff:ffff:ffff:ffff,SG
+2001:470:f000::,2001:470:f07f:ffff:ffff:ffff:ffff:ffff,US
+2001:470:f080::,2001:470:f08a:ffff:ffff:ffff:ffff:ffff,CN
+2001:470:f08b::,2001:470:f08b:ffff:ffff:ffff:ffff:ffff,US
+2001:470:f08c::,2001:470:f0bf:ffff:ffff:ffff:ffff:ffff,CN
+2001:470:f0c0::,2001:470:ffff:ffff:ffff:ffff:ffff:ffff,US
2001:478::,2001:478:ffff:ffff:ffff:ffff:ffff:ffff,KN
2001:480::,2001:480:ffff:ffff:ffff:ffff:ffff:ffff,US
2001:490::,2001:490:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -509,11 +514,13 @@
2001:504:70::,2001:504:72:ffff:ffff:ffff:ffff:ffff,US
2001:504:73::,2001:504:73:ffff:ffff:ffff:ffff:ffff,CA
2001:504:74::,2001:504:79:ffff:ffff:ffff:ffff:ffff,US
-2001:504:80::,2001:504:91:ffff:ffff:ffff:ffff:ffff,US
+2001:504:80::,2001:504:92:ffff:ffff:ffff:ffff:ffff,US
+2001:504:93::,2001:504:93:ffff:ffff:ffff:ffff:ffff,VG
2001:506::,2001:506:1:ffff:ffff:ffff:ffff:ffff,US
2001:506:8::,2001:506:8:ffff:ffff:ffff:ffff:ffff,US
2001:506:20::,2001:506:20:ffff:ffff:ffff:ffff:ffff,CA
2001:506:28::,2001:506:28:ffff:ffff:ffff:ffff:ffff,US
+2001:506:30::,2001:506:30:ffff:ffff:ffff:ffff:ffff,US
2001:506:100::,2001:506:100:ffff:ffff:ffff:ffff:ffff,US
2001:506:200::,2001:506:2ff:ffff:ffff:ffff:ffff:ffff,US
2001:506:1000::,2001:506:2fff:ffff:ffff:ffff:ffff:ffff,US
@@ -584,14 +591,110 @@
2001:668:e401:1::,2001:668:e401:2:ffff:ffff:ffff:ffff,CZ
2001:668:e401:3::,2001:66f:ffff:ffff:ffff:ffff:ffff:ffff,IE
2001:670::,2001:673:ffff:ffff:ffff:ffff:ffff:ffff,FI
-2001:678::,2001:678:3ff:ffff:ffff:ffff:ffff:ffff,UA
-2001:678:400::,2001:678:431:baff:ffff:ffff:ffff:ffff,GB
+2001:678::,2001:678:273:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:274::,2001:678:274:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:275::,2001:678:2ff:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:300::,2001:678:303:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:310::,2001:678:310:ffff:ffff:ffff:ffff:ffff,CH
+2001:678:314::,2001:678:314:ffff:ffff:ffff:ffff:ffff,RO
+2001:678:318::,2001:678:318:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:31c::,2001:678:31c:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:320::,2001:678:320:ffff:ffff:ffff:ffff:ffff,CZ
+2001:678:324::,2001:678:324:ffff:ffff:ffff:ffff:ffff,LV
+2001:678:328::,2001:678:328:ffff:ffff:ffff:ffff:ffff,CH
+2001:678:32c::,2001:678:32c:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:330::,2001:678:330:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:334::,2001:678:334:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:338::,2001:678:338:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:33c::,2001:678:33c:ffff:ffff:ffff:ffff:ffff,DK
+2001:678:340::,2001:678:340:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:344::,2001:678:344:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:348::,2001:678:348:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:34c::,2001:678:34c:ffff:ffff:ffff:ffff:ffff,US
+2001:678:350::,2001:678:350:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:354::,2001:678:354:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:358::,2001:678:358:ffff:ffff:ffff:ffff:ffff,IE
+2001:678:35c::,2001:678:35c:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:360::,2001:678:360:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:364::,2001:678:364:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:368::,2001:678:368:ffff:ffff:ffff:ffff:ffff,CZ
+2001:678:36c::,2001:678:36c:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:370::,2001:678:370:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:374::,2001:678:374:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:378::,2001:678:378:ffff:ffff:ffff:ffff:ffff,CZ
+2001:678:37c::,2001:678:37c:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:380::,2001:678:380:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:384::,2001:678:384:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:388::,2001:678:388:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:38c::,2001:678:38c:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:390::,2001:678:390:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:394::,2001:678:394:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:398::,2001:678:398:ffff:ffff:ffff:ffff:ffff,CZ
+2001:678:39c::,2001:678:39c:ffff:ffff:ffff:ffff:ffff,SA
+2001:678:3a0::,2001:678:3a0:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3a4::,2001:678:3a4:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:3a8::,2001:678:3a8:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3ac::,2001:678:3ac:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:3b0::,2001:678:3b0:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:3b4::,2001:678:3b4:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3b8::,2001:678:3b8:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3bc::,2001:678:3bc:ffff:ffff:ffff:ffff:ffff,FR
+2001:678:3c0::,2001:678:3c0:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:3c4::,2001:678:3c4:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3c8::,2001:678:3c8:ffff:ffff:ffff:ffff:ffff,GR
+2001:678:3cc::,2001:678:3cc:ffff:ffff:ffff:ffff:ffff,FR
+2001:678:3d0::,2001:678:3d0:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:3d4::,2001:678:3d4:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:3d8::,2001:678:3d8:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:3dc::,2001:678:3dc:ffff:ffff:ffff:ffff:ffff,AT
+2001:678:3e0::,2001:678:3e0:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:3e4::,2001:678:3e4:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3e8::,2001:678:3e8:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:3ec::,2001:678:3ec:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:3f0::,2001:678:3f0:ffff:ffff:ffff:ffff:ffff,NO
+2001:678:3f4::,2001:678:3f4:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3f8::,2001:678:3f8:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:3fc::,2001:678:3fc:ffff:ffff:ffff:ffff:ffff,FR
+2001:678:400::,2001:678:431:baff:ffff:ffff:ffff:ffff,DE
2001:678:431:bb00::,2001:678:431:bbff:ffff:ffff:ffff:ffff,FR
-2001:678:431:bc00::,2001:678:47f:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:431:bc00::,2001:678:47f:ffff:ffff:ffff:ffff:ffff,DE
2001:678:480::,2001:678:480:ffff:ffff:ffff:ffff:ffff,AT
-2001:678:481::,2001:678:4fb:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:481::,2001:678:4fb:ffff:ffff:ffff:ffff:ffff,DE
2001:678:4fc::,2001:678:4fc:ffff:ffff:ffff:ffff:ffff,RO
-2001:678:4fd::,2001:678:58b:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:4fd::,2001:678:4ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:500::,2001:678:500:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:504::,2001:678:504:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:508::,2001:678:508:ffff:ffff:ffff:ffff:ffff,ES
+2001:678:50c::,2001:678:50c:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:510::,2001:678:510:ffff:ffff:ffff:ffff:ffff,AT
+2001:678:514::,2001:678:514:ffff:ffff:ffff:ffff:ffff,PT
+2001:678:518::,2001:678:518:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:51c::,2001:678:51c:ffff:ffff:ffff:ffff:ffff,DK
+2001:678:520::,2001:678:520:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:524::,2001:678:524:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:528::,2001:678:528:ffff:ffff:ffff:ffff:ffff,AT
+2001:678:52c::,2001:678:52c:ffff:ffff:ffff:ffff:ffff,FI
+2001:678:530::,2001:678:530:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:534::,2001:678:534:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:538::,2001:678:538:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:53c::,2001:678:53c:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:540::,2001:678:540:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:544::,2001:678:544:ffff:ffff:ffff:ffff:ffff,IE
+2001:678:548::,2001:678:548:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:54c::,2001:678:54c:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:550::,2001:678:550:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:554::,2001:678:554:ffff:ffff:ffff:ffff:ffff,DK
+2001:678:558::,2001:678:558:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:55c::,2001:678:55c:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:560::,2001:678:560:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:564::,2001:678:564:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:568::,2001:678:568:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:56c::,2001:678:56c:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:570::,2001:678:570:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:574::,2001:678:574:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:578::,2001:678:578:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:57c::,2001:678:57c:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:580::,2001:678:58b:ffff:ffff:ffff:ffff:ffff,GB
2001:678:58c::,2001:678:58c:ffff:ffff:ffff:ffff:ffff,IS
2001:678:58d::,2001:678:5df:ffff:ffff:ffff:ffff:ffff,GB
2001:678:5e0::,2001:678:5e0:ffff:ffff:ffff:ffff:ffff,RU
@@ -602,7 +705,9 @@
2001:678:61c::,2001:678:61c:ffff:ffff:ffff:ffff:ffff,PL
2001:678:61d::,2001:678:63b:ffff:ffff:ffff:ffff:ffff,RU
2001:678:63c::,2001:678:63c:ffff:ffff:ffff:ffff:ffff,PL
-2001:678:63d::,2001:678:7b7:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:63d::,2001:678:6b7:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:6b8::,2001:678:6b8:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:6b9::,2001:678:7b7:ffff:ffff:ffff:ffff:ffff,RU
2001:678:7b8::,2001:678:7b8:ffff:ffff:ffff:ffff:ffff,PL
2001:678:7b9::,2001:678:7bb:ffff:ffff:ffff:ffff:ffff,RU
2001:678:7bc::,2001:678:7bc:ffff:ffff:ffff:ffff:ffff,PL
@@ -620,6 +725,32 @@
2001:678:828::,2001:678:828:ffff:ffff:ffff:ffff:ffff,DE
2001:678:82c::,2001:678:82c:ffff:ffff:ffff:ffff:ffff,DE
2001:678:830::,2001:678:833:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:840::,2001:678:840:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:844::,2001:678:844:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:848::,2001:678:848:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:84c::,2001:678:84c:ffff:ffff:ffff:ffff:ffff,CZ
+2001:678:850::,2001:678:850:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:854::,2001:678:854:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:858::,2001:678:858:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:85c::,2001:678:85c:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:860::,2001:678:860:ffff:ffff:ffff:ffff:ffff,UZ
+2001:678:864::,2001:678:864:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:868::,2001:678:868:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:86c::,2001:678:86c:ffff:ffff:ffff:ffff:ffff,SK
+2001:678:870::,2001:678:870:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:874::,2001:678:874:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:878::,2001:678:878:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:87c::,2001:678:87c:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:880::,2001:678:880:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:884::,2001:678:884:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:888::,2001:678:888:ffff:ffff:ffff:ffff:ffff,IS
+2001:678:88c::,2001:678:88c:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:890::,2001:678:890:ffff:ffff:ffff:ffff:ffff,CH
+2001:678:894::,2001:678:894:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:898::,2001:678:898:ffff:ffff:ffff:ffff:ffff,RO
+2001:678:89c::,2001:678:89c:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:8a0::,2001:678:8a0:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:8a4::,2001:678:8a4:ffff:ffff:ffff:ffff:ffff,PL
2001:67c::,2001:67c:5b:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:5c::,2001:67c:5c:ffff:ffff:ffff:ffff:ffff,BE
2001:67c:5d::,2001:67c:63:ffff:ffff:ffff:ffff:ffff,GB
@@ -629,80 +760,76 @@
2001:67c:89::,2001:67c:eb:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:ec::,2001:67c:ec:ffff:ffff:ffff:ffff:ffff,FR
2001:67c:ed::,2001:67c:ff:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:100::,2001:67c:100:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:104::,2001:67c:104:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:108::,2001:67c:108:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:10c::,2001:67c:10c:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:110::,2001:67c:110:ffff:ffff:ffff:ffff:ffff,FI
-2001:67c:114::,2001:67c:114:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:118::,2001:67c:118:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:11c::,2001:67c:11c:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:120::,2001:67c:120:ffff:ffff:ffff:ffff:ffff,BE
-2001:67c:124::,2001:67c:124:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:128::,2001:67c:128:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:12c::,2001:67c:12c:ffff:ffff:ffff:ffff:ffff,FI
-2001:67c:130::,2001:67c:130:ffff:ffff:ffff:ffff:ffff,SA
-2001:67c:134::,2001:67c:134:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:138::,2001:67c:138:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:13c::,2001:67c:13c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:140::,2001:67c:140:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:144::,2001:67c:144:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:148::,2001:67c:148:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:14c::,2001:67c:14d:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:150::,2001:67c:150:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:154::,2001:67c:154:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:158::,2001:67c:158:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:15c::,2001:67c:15c:ffff:ffff:ffff:ffff:ffff,FI
-2001:67c:160::,2001:67c:160:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:164::,2001:67c:164:ffff:ffff:ffff:ffff:ffff,FI
-2001:67c:168::,2001:67c:168:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:16c::,2001:67c:16c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:170::,2001:67c:170:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:174::,2001:67c:174:ffff:ffff:ffff:ffff:ffff,SM
-2001:67c:178::,2001:67c:178:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:17c::,2001:67c:17c:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:180::,2001:67c:180:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:184::,2001:67c:184:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:188::,2001:67c:188:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:18c::,2001:67c:18c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:190::,2001:67c:190:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:194::,2001:67c:194:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:198::,2001:67c:198:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:19c::,2001:67c:19c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1a0::,2001:67c:1a0:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:1a4::,2001:67c:1a4:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1a8::,2001:67c:1a8:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1ac::,2001:67c:1ac:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1b0::,2001:67c:1b0:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:1b4::,2001:67c:1b4:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:1b8::,2001:67c:1b8:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1bc::,2001:67c:1bc:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:1c0::,2001:67c:1c0:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1c4::,2001:67c:1c4:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1c8::,2001:67c:1c8:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:1cc::,2001:67c:1cc:ffff:ffff:ffff:ffff:ffff,BE
-2001:67c:1d0::,2001:67c:1d0:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:1d4::,2001:67c:1d4:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1d8::,2001:67c:1d8:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1dc::,2001:67c:1dc:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1e0::,2001:67c:1e0:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:1e4::,2001:67c:1e4:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1e8::,2001:67c:1e8:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1ec::,2001:67c:1ec:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:1f0::,2001:67c:1f0:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1f4::,2001:67c:1f4:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:1f8::,2001:67c:1f8:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1fc::,2001:67c:1fc:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:100::,2001:67c:17f:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:180::,2001:67c:1ff:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:200::,2001:67c:24b:ffff:ffff:ffff:ffff:ffff,CZ
2001:67c:24c::,2001:67c:24c:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:24d::,2001:67c:2ef:ffff:ffff:ffff:ffff:ffff,CZ
2001:67c:2f0::,2001:67c:2f0:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2f1::,2001:67c:2ff:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:300::,2001:67c:36f:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:300::,2001:67c:300:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:304::,2001:67c:304:ffff:ffff:ffff:ffff:ffff,BE
+2001:67c:308::,2001:67c:308:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:30c::,2001:67c:30c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:310::,2001:67c:310:ffff:ffff:ffff:ffff:ffff,CY
+2001:67c:314::,2001:67c:314:ffff:ffff:ffff:ffff:ffff,BE
+2001:67c:318::,2001:67c:318:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:31c::,2001:67c:31c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:320::,2001:67c:320:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:324::,2001:67c:324:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:328::,2001:67c:328:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:32c::,2001:67c:32c:ffff:ffff:ffff:ffff:ffff,EE
+2001:67c:330::,2001:67c:330:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:334::,2001:67c:334:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:338::,2001:67c:338:ffff:ffff:ffff:ffff:ffff,IE
+2001:67c:33c::,2001:67c:33c:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:340::,2001:67c:340:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:344::,2001:67c:344:ffff:ffff:ffff:ffff:ffff,BE
+2001:67c:348::,2001:67c:348:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:34c::,2001:67c:34c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:350::,2001:67c:350:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:354::,2001:67c:354:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:358::,2001:67c:358:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:35c::,2001:67c:35c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:360::,2001:67c:360:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:364::,2001:67c:364:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:368::,2001:67c:368:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:36c::,2001:67c:36c:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:370::,2001:67c:370:ffff:ffff:ffff:ffff:ffff,TH
-2001:67c:371::,2001:67c:3df:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:374::,2001:67c:374:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:378::,2001:67c:378:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:37c::,2001:67c:37c:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:380::,2001:67c:380:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:384::,2001:67c:384:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:388::,2001:67c:388:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:38c::,2001:67c:38c:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:390::,2001:67c:390:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:394::,2001:67c:394:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:398::,2001:67c:398:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:39c::,2001:67c:39c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:3a0::,2001:67c:3a0:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:3a4::,2001:67c:3a4:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:3a8::,2001:67c:3a8:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:3ac::,2001:67c:3ac:ffff:ffff:ffff:ffff:ffff,RS
+2001:67c:3b0::,2001:67c:3b0:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:3b4::,2001:67c:3b4:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:3b8::,2001:67c:3b8:ffff:ffff:ffff:ffff:ffff,IE
+2001:67c:3bc::,2001:67c:3bc:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:3c0::,2001:67c:3c0:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:3c4::,2001:67c:3c4:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:3c8::,2001:67c:3c8:ffff:ffff:ffff:ffff:ffff,EE
+2001:67c:3cc::,2001:67c:3cc:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:3d0::,2001:67c:3d0:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:3d4::,2001:67c:3d4:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:3d8::,2001:67c:3d8:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:3dc::,2001:67c:3dc:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:3e0::,2001:67c:3e0:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:3e1::,2001:67c:3ff:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:3e4::,2001:67c:3e4:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:3e8::,2001:67c:3e9:ffff:ffff:ffff:ffff:ffff,SA
+2001:67c:3f0::,2001:67c:3f0:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:3f4::,2001:67c:3f4:ffff:ffff:ffff:ffff:ffff,HR
+2001:67c:3f8::,2001:67c:3f8:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:3fc::,2001:67c:3fc:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:400::,2001:67c:400:ffff:ffff:ffff:ffff:ffff,ES
2001:67c:404::,2001:67c:404:ffff:ffff:ffff:ffff:ffff,AT
2001:67c:408::,2001:67c:408:ffff:ffff:ffff:ffff:ffff,FR
@@ -817,198 +944,128 @@
2001:67c:5f4::,2001:67c:5f4:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:5f8::,2001:67c:5f8:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:5fc::,2001:67c:5fc:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:600::,2001:67c:600:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:604::,2001:67c:604:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:608::,2001:67c:608:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:60c::,2001:67c:60c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:610::,2001:67c:610:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:614::,2001:67c:614:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:618::,2001:67c:618:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:61c::,2001:67c:61c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:620::,2001:67c:620:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:624::,2001:67c:624:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:628::,2001:67c:628:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:62c::,2001:67c:62c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:630::,2001:67c:630:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:634::,2001:67c:634:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:638::,2001:67c:638:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:63c::,2001:67c:63c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:640::,2001:67c:640:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:644::,2001:67c:644:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:648::,2001:67c:648:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:650::,2001:67c:650:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:654::,2001:67c:654:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:658::,2001:67c:658:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:65c::,2001:67c:65c:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:660::,2001:67c:660:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:664::,2001:67c:664:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:668::,2001:67c:668:ffff:ffff:ffff:ffff:ffff,MD
-2001:67c:66c::,2001:67c:66c:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:670::,2001:67c:670:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:674::,2001:67c:674:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:678::,2001:67c:678:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:67c::,2001:67c:67c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:680::,2001:67c:680:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:684::,2001:67c:684:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:688::,2001:67c:688:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:68c::,2001:67c:68c:ffff:ffff:ffff:ffff:ffff,TR
-2001:67c:690::,2001:67c:690:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:694::,2001:67c:694:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:698::,2001:67c:698:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:69c::,2001:67c:69c:ffff:ffff:ffff:ffff:ffff,RS
-2001:67c:6a0::,2001:67c:6a0:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:6a4::,2001:67c:6a4:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:6a8::,2001:67c:6a8:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:6ac::,2001:67c:6ac:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:6b0::,2001:67c:6b0:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:6b4::,2001:67c:6b4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:6b8::,2001:67c:6b8:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:6bc::,2001:67c:6bc:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:6c0::,2001:67c:6c0:ffff:ffff:ffff:ffff:ffff,TR
-2001:67c:6c4::,2001:67c:6c4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:6c8::,2001:67c:6c8:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:6cc::,2001:67c:6cc:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:6d4::,2001:67c:6d4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:6d8::,2001:67c:6d8:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:6dc::,2001:67c:6dc:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:6e0::,2001:67c:6e0:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:6e4::,2001:67c:6e4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:6e8::,2001:67c:6e8:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:6ec::,2001:67c:6ec:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:6f0::,2001:67c:6f0:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:6f4::,2001:67c:6f4:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:6f8::,2001:67c:6f8:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:6fc::,2001:67c:6fc:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:700::,2001:67c:700:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:704::,2001:67c:704:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:708::,2001:67c:708:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:70c::,2001:67c:70c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:710::,2001:67c:710:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:714::,2001:67c:714:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:718::,2001:67c:718:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:71c::,2001:67c:71c:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:720::,2001:67c:720:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:724::,2001:67c:724:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:728::,2001:67c:728:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:72c::,2001:67c:72c:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:734::,2001:67c:734:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:738::,2001:67c:738:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:73c::,2001:67c:73c:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:740::,2001:67c:740:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:744::,2001:67c:744:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:748::,2001:67c:748:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:74c::,2001:67c:74c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:750::,2001:67c:750:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:754::,2001:67c:754:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:758::,2001:67c:758:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:75c::,2001:67c:75c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:760::,2001:67c:760:ffff:ffff:ffff:ffff:ffff,LV
-2001:67c:764::,2001:67c:764:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:76c::,2001:67c:76c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:770::,2001:67c:770:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:774::,2001:67c:774:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:778::,2001:67c:778:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:77c::,2001:67c:77c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:780::,2001:67c:780:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:784::,2001:67c:784:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:788::,2001:67c:788:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:78c::,2001:67c:78c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:790::,2001:67c:790:ffff:ffff:ffff:ffff:ffff,IT
-2001:67c:794::,2001:67c:794:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:798::,2001:67c:798:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:79c::,2001:67c:79c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:7a0::,2001:67c:7a0:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:7a4::,2001:67c:7a4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:7a8::,2001:67c:7a8:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:7ac::,2001:67c:7ac:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:7b0::,2001:67c:7b0:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:7b4::,2001:67c:7b4:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:7b8::,2001:67c:7b8:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:7bc::,2001:67c:7bc:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:7c0::,2001:67c:7c3:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:7d0::,2001:67c:7d0:ffff:ffff:ffff:ffff:ffff,LV
-2001:67c:7d4::,2001:67c:7d4:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:7d8::,2001:67c:7d8:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:7dc::,2001:67c:7dc:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:7e0::,2001:67c:7e0:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:7e4::,2001:67c:7e4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:7e8::,2001:67c:7e8:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:7ec::,2001:67c:7ec:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:7f0::,2001:67c:7f0:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:7f4::,2001:67c:7f4:ffff:ffff:ffff:ffff:ffff,KW
-2001:67c:7f8::,2001:67c:7f8:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:7fc::,2001:67c:7fc:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:600::,2001:67c:6ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:700::,2001:67c:7ff:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:1000::,2001:67c:1093:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:1094::,2001:67c:1094:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1095::,2001:67c:10ff:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:1100::,2001:67c:1100:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:1104::,2001:67c:1104:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:1108::,2001:67c:1109:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:1110::,2001:67c:1111:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:1118::,2001:67c:1118:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:111c::,2001:67c:111c:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:1120::,2001:67c:1120:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:1124::,2001:67c:1124:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:1128::,2001:67c:1128:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:112c::,2001:67c:112c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1130::,2001:67c:1130:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1134::,2001:67c:1134:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1138::,2001:67c:1138:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:113c::,2001:67c:113c:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:1140::,2001:67c:1140:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1148::,2001:67c:1148:ffff:ffff:ffff:ffff:ffff,ES
-2001:67c:114c::,2001:67c:114c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:1150::,2001:67c:1150:ffff:ffff:ffff:ffff:ffff,IL
-2001:67c:1154::,2001:67c:1154:ffff:ffff:ffff:ffff:ffff,TR
-2001:67c:1158::,2001:67c:1158:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:115c::,2001:67c:115c:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:1160::,2001:67c:1160:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1164::,2001:67c:1164:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1168::,2001:67c:1168:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:116c::,2001:67c:116c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1170::,2001:67c:1170:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1174::,2001:67c:1174:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1178::,2001:67c:1178:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:117c::,2001:67c:117c:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:1180::,2001:67c:1180:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1184::,2001:67c:1184:ffff:ffff:ffff:ffff:ffff,HR
-2001:67c:1188::,2001:67c:1188:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:118c::,2001:67c:118c:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:1194::,2001:67c:1194:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:1198::,2001:67c:1199:ffff:ffff:ffff:ffff:ffff,SA
-2001:67c:11a0::,2001:67c:11a0:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:11a4::,2001:67c:11a4:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:11a8::,2001:67c:11a8:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:11ac::,2001:67c:11ac:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:11b0::,2001:67c:11b0:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:11b4::,2001:67c:11b4:ffff:ffff:ffff:ffff:ffff,ES
-2001:67c:11b8::,2001:67c:11b8:ffff:ffff:ffff:ffff:ffff,TR
-2001:67c:11bc::,2001:67c:11bc:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:11c0::,2001:67c:11c0:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:11c4::,2001:67c:11c4:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:11c8::,2001:67c:11c8:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:11cc::,2001:67c:11cc:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:11d0::,2001:67c:11d0:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:11d4::,2001:67c:11d4:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:11d8::,2001:67c:11d8:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:11dc::,2001:67c:11dc:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:11e0::,2001:67c:11e0:ffff:ffff:ffff:ffff:ffff,BG
-2001:67c:11e4::,2001:67c:11e4:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:11e8::,2001:67c:11e8:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:11ec::,2001:67c:11ec:ffff:ffff:ffff:ffff:ffff,TR
-2001:67c:11f0::,2001:67c:11f0:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:11f4::,2001:67c:11f4:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:11f8::,2001:67c:11f8:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:11fc::,2001:67c:11fc:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:1200::,2001:67c:122f:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:1095::,2001:67c:1147:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:1148::,2001:67c:1148::ffff:ffff:ffff:ffff,ES
+2001:67c:1148:1::,2001:67c:11ff:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:1200::,2001:67c:1200:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:1204::,2001:67c:1204:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1208::,2001:67c:1208:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:120c::,2001:67c:120c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:1210::,2001:67c:1213:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1220::,2001:67c:1223:ffff:ffff:ffff:ffff:ffff,CZ
2001:67c:1230::,2001:67c:1233:ffff:ffff:ffff:ffff:ffff,TH
-2001:67c:1234::,2001:67c:123f:ffff:ffff:ffff:ffff:ffff,CZ
2001:67c:1240::,2001:67c:1240:ffff:ffff:ffff:ffff:ffff,IE
-2001:67c:1241::,2001:67c:12af:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:1244::,2001:67c:1244:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1248::,2001:67c:1248:ffff:ffff:ffff:ffff:ffff,RO
+2001:67c:124c::,2001:67c:124c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1254::,2001:67c:1254:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:1258::,2001:67c:1258:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:125c::,2001:67c:125c:ffff:ffff:ffff:ffff:ffff,IE
+2001:67c:1260::,2001:67c:1260:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:1264::,2001:67c:1264:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1268::,2001:67c:1268:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:126c::,2001:67c:126c:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:1270::,2001:67c:1270:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:1274::,2001:67c:1274:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:1278::,2001:67c:1278:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:127c::,2001:67c:127c:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:1280::,2001:67c:1280:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:1284::,2001:67c:1284:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:1288::,2001:67c:1288:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:128c::,2001:67c:128c:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:1290::,2001:67c:1290:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1294::,2001:67c:1294:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1298::,2001:67c:1298:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:129c::,2001:67c:129c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:12a0::,2001:67c:12a0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:12a4::,2001:67c:12a4:ffff:ffff:ffff:ffff:ffff,TR
+2001:67c:12a8::,2001:67c:12a8:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:12ac::,2001:67c:12ac:ffff:ffff:ffff:ffff:ffff,LU
2001:67c:12b0::,2001:67c:12b0:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:12b1::,2001:67c:13b7:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:12b4::,2001:67c:12b4:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:12b8::,2001:67c:12b8:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:12bc::,2001:67c:12bc:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:12c0::,2001:67c:12c1:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:12c8::,2001:67c:12c8:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:12cc::,2001:67c:12cc:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:12d0::,2001:67c:12d0:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:12d4::,2001:67c:12d4:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:12d8::,2001:67c:12d8:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:12dc::,2001:67c:12dc:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:12e0::,2001:67c:12e0:ffff:ffff:ffff:ffff:ffff,KG
+2001:67c:12e4::,2001:67c:12e4:ffff:ffff:ffff:ffff:ffff,SA
+2001:67c:12e8::,2001:67c:12e9:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:12f0::,2001:67c:12f0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:12f4::,2001:67c:12f4:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:12f8::,2001:67c:12f8:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:12fc::,2001:67c:12fc:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1300::,2001:67c:1300:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:1304::,2001:67c:1304:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1308::,2001:67c:1308:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:130c::,2001:67c:130c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1310::,2001:67c:1310:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:1314::,2001:67c:1314:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:1318::,2001:67c:1318:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:131c::,2001:67c:131c:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1320::,2001:67c:1320:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:1324::,2001:67c:1324:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:1328::,2001:67c:1328:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:132c::,2001:67c:132c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1330::,2001:67c:1330:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1334::,2001:67c:1334:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:1338::,2001:67c:1338:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:133c::,2001:67c:133c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:1340::,2001:67c:1340:ffff:ffff:ffff:ffff:ffff,HR
+2001:67c:1344::,2001:67c:1344:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1348::,2001:67c:1348:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:134c::,2001:67c:134c:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:1350::,2001:67c:1350:ffff:ffff:ffff:ffff:ffff,CY
+2001:67c:1354::,2001:67c:1354:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:1358::,2001:67c:1358:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:135c::,2001:67c:135c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1360::,2001:67c:1360:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:1364::,2001:67c:1364:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:1368::,2001:67c:1368:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:136c::,2001:67c:136c:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:1370::,2001:67c:1370:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:1374::,2001:67c:1374:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1378::,2001:67c:1378:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:137c::,2001:67c:137c:ffff:ffff:ffff:ffff:ffff,ES
+2001:67c:1380::,2001:67c:1380:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1384::,2001:67c:1384:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1388::,2001:67c:1388:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:138c::,2001:67c:138c:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1390::,2001:67c:1390:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1394::,2001:67c:1394:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:1398::,2001:67c:1398:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:139c::,2001:67c:139c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:13a0::,2001:67c:13a0:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:13a8::,2001:67c:13a8:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:13ac::,2001:67c:13ac:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:13b0::,2001:67c:13b0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:13b4::,2001:67c:13b4:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:13b8::,2001:67c:13b8:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:13b9::,2001:67c:13ff:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:13bc::,2001:67c:13bc:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:13c0::,2001:67c:13c0:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:13c4::,2001:67c:13c4:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:13c8::,2001:67c:13c8:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:13cc::,2001:67c:13cc:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:13d0::,2001:67c:13d0:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:13d4::,2001:67c:13d4:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:13d8::,2001:67c:13d8:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:13dc::,2001:67c:13dc:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:13e0::,2001:67c:13e0:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:13e4::,2001:67c:13e4:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:13e8::,2001:67c:13e8:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:13ec::,2001:67c:13ec:ffff:ffff:ffff:ffff:ffff,PT
+2001:67c:13f0::,2001:67c:13f0:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:13f4::,2001:67c:13f4:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:13f8::,2001:67c:13f8:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:13fc::,2001:67c:13fc:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:1400::,2001:67c:142f:ffff:ffff:ffff:ffff:ffff,HR
2001:67c:1430::,2001:67c:1430:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:1431::,2001:67c:1493:ffff:ffff:ffff:ffff:ffff,HR
@@ -1022,47 +1079,15 @@
2001:67c:16c9::,2001:67c:173f:ffff:ffff:ffff:ffff:ffff,HR
2001:67c:1740::,2001:67c:1740:ffff:ffff:ffff:ffff:ffff,FR
2001:67c:1741::,2001:67c:17ff:ffff:ffff:ffff:ffff:ffff,HR
-2001:67c:1800::,2001:67c:1913:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:1914::,2001:67c:1914:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:1915::,2001:67c:19f3:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:19f4::,2001:67c:19f4:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:19f5::,2001:67c:1b07:ffff:ffff:ffff:ffff:ffff,RO
+2001:67c:1800::,2001:67c:1b07:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:1b08::,2001:67c:1b08:ffff:ffff:ffff:ffff:ffff,IT
-2001:67c:1b09::,2001:67c:1bff:ffff:ffff:ffff:ffff:ffff,RO
+2001:67c:1b09::,2001:67c:1bff:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:1c00::,2001:67c:1cff:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:2000::,2001:67c:2000:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2004::,2001:67c:2004:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:2008::,2001:67c:2008:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:200c::,2001:67c:200c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2010::,2001:67c:2010:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:2014::,2001:67c:2014:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:2018::,2001:67c:2018:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:201c::,2001:67c:201c:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:2020::,2001:67c:2020:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:2024::,2001:67c:2024:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:2028::,2001:67c:2028:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:202c::,2001:67c:202c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:2030::,2001:67c:2030:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2034::,2001:67c:2034:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2038::,2001:67c:2038:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:203c::,2001:67c:203c:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2040::,2001:67c:2040:ffff:ffff:ffff:ffff:ffff,AE
-2001:67c:2044::,2001:67c:2044:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:2048::,2001:67c:2048:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:204c::,2001:67c:204c:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:2050::,2001:67c:2050:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2054::,2001:67c:2054:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2000::,2001:67c:2057:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2058::,2001:67c:2058:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:205c::,2001:67c:205c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2060::,2001:67c:2060:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:2064::,2001:67c:2064:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:2068::,2001:67c:2068:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:206c::,2001:67c:206c:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:2059::,2001:67c:206f:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2070::,2001:67c:2070:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2074::,2001:67c:2074:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:2078::,2001:67c:2078:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:207c::,2001:67c:207c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2080::,2001:67c:20ff:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2071::,2001:67c:20ff:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2100::,2001:67c:2100:ffff:ffff:ffff:ffff:ffff,RO
2001:67c:2104::,2001:67c:2104:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2108::,2001:67c:2108:ffff:ffff:ffff:ffff:ffff,RU
@@ -1095,14 +1120,8 @@
2001:67c:2174::,2001:67c:2174:ffff:ffff:ffff:ffff:ffff,DK
2001:67c:2178::,2001:67c:2178:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:217c::,2001:67c:217c:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:2180::,2001:67c:2180:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:2184::,2001:67c:2184:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2188::,2001:67c:2188:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:218c::,2001:67c:218c:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2190::,2001:67c:2190:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:2194::,2001:67c:2194:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:2198::,2001:67c:2198:ffff:ffff:ffff:ffff:ffff,LV
-2001:67c:219c::,2001:67c:219c:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2180::,2001:67c:218f:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2190::,2001:67c:219f:ffff:ffff:ffff:ffff:ffff,LV
2001:67c:21a0::,2001:67c:21a0:ffff:ffff:ffff:ffff:ffff,IT
2001:67c:21a4::,2001:67c:21a4:ffff:ffff:ffff:ffff:ffff,FI
2001:67c:21a8::,2001:67c:21a8:ffff:ffff:ffff:ffff:ffff,AT
@@ -1111,7 +1130,7 @@
2001:67c:21b4::,2001:67c:21b4:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:21b8::,2001:67c:21b8:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:21bc::,2001:67c:21bc:ffff:ffff:ffff:ffff:ffff,BG
-2001:67c:21c0::,2001:67c:21ff:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:21c0::,2001:67c:21ff:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:2200::,2001:67c:2200:ffff:ffff:ffff:ffff:ffff,FR
2001:67c:2204::,2001:67c:2204:ffff:ffff:ffff:ffff:ffff,AT
2001:67c:2208::,2001:67c:2208:ffff:ffff:ffff:ffff:ffff,AT
@@ -1176,23 +1195,7 @@
2001:67c:22fc::,2001:67c:22fc:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2300::,2001:67c:232b:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:232c::,2001:67c:232c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:232d::,2001:67c:233f:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2340::,2001:67c:2340:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:2344::,2001:67c:2344:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2348::,2001:67c:2348:ffff:ffff:ffff:ffff:ffff,AE
-2001:67c:234c::,2001:67c:234c:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:2350::,2001:67c:2350:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:2354::,2001:67c:2354:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:2358::,2001:67c:2358:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:235c::,2001:67c:235c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:2360::,2001:67c:2360:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2364::,2001:67c:2364:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2368::,2001:67c:2368:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:236c::,2001:67c:236c:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:2370::,2001:67c:2370:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2374::,2001:67c:2374:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:2378::,2001:67c:2378:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:237c::,2001:67c:237c:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:232d::,2001:67c:237f:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2380::,2001:67c:2380:ffff:ffff:ffff:ffff:ffff,UA
2001:67c:2384::,2001:67c:2384:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2388::,2001:67c:2388:ffff:ffff:ffff:ffff:ffff,DK
@@ -1224,18 +1227,194 @@
2001:67c:23f4::,2001:67c:23f4:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:23f8::,2001:67c:23f8:ffff:ffff:ffff:ffff:ffff,DK
2001:67c:23fc::,2001:67c:23fc:ffff:ffff:ffff:ffff:ffff,BG
-2001:67c:2400::,2001:67c:24d7:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2400::,2001:67c:2400:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2404::,2001:67c:2404:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2408::,2001:67c:2408:ffff:ffff:ffff:ffff:ffff,AE
+2001:67c:240c::,2001:67c:240c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2410::,2001:67c:2410:ffff:ffff:ffff:ffff:ffff,TR
+2001:67c:2414::,2001:67c:2414:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2418::,2001:67c:2418:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:241c::,2001:67c:241c:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2420::,2001:67c:2420:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2424::,2001:67c:2424:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2428::,2001:67c:2428:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:242c::,2001:67c:242c:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:2430::,2001:67c:2433:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2440::,2001:67c:2440:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2444::,2001:67c:2444:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2448::,2001:67c:2448:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:244c::,2001:67c:244c:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2450::,2001:67c:2450:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2454::,2001:67c:2454:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2458::,2001:67c:2458:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:245c::,2001:67c:245c:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:2460::,2001:67c:2460:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2464::,2001:67c:2464:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2468::,2001:67c:2468:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:246c::,2001:67c:246c:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:2470::,2001:67c:2470:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:2474::,2001:67c:2474:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2478::,2001:67c:2478:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:247c::,2001:67c:247c:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2480::,2001:67c:2480:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2484::,2001:67c:2484:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2488::,2001:67c:2488:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:248c::,2001:67c:248c:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2490::,2001:67c:2490:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2494::,2001:67c:2494:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:2498::,2001:67c:2498:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:249c::,2001:67c:249c:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:24a0::,2001:67c:24a0:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:24a4::,2001:67c:24a4:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:24a8::,2001:67c:24a8:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:24b0::,2001:67c:24b0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:24b4::,2001:67c:24b4:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:24b8::,2001:67c:24b8:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:24bc::,2001:67c:24bc:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:24c0::,2001:67c:24c0:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:24c4::,2001:67c:24c4:ffff:ffff:ffff:ffff:ffff,RO
+2001:67c:24c8::,2001:67c:24c8:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:24cc::,2001:67c:24cc:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:24d0::,2001:67c:24d0:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:24d4::,2001:67c:24d4:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:24d8::,2001:67c:24d8:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:24d9::,2001:67c:2543:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:24dc::,2001:67c:24dc:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:24e0::,2001:67c:24e0:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:24e4::,2001:67c:24e4:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:24e8::,2001:67c:24e9:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:24f0::,2001:67c:24f0:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:24f4::,2001:67c:24f4:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:24f8::,2001:67c:24f8:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:24fc::,2001:67c:24fc:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:2500::,2001:67c:2543:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:2544::,2001:67c:2544:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:2545::,2001:67c:2567:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:2568::,2001:67c:2568:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2569::,2001:67c:25e7:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:25e8::,2001:67c:25e8:ffff:ffff:ffff:ffff:ffff,FR
2001:67c:25e9::,2001:67c:25ff:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:2600::,2001:67c:26f7:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2600::,2001:67c:2600:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2604::,2001:67c:2604:ffff:ffff:ffff:ffff:ffff,SK
+2001:67c:2608::,2001:67c:2608:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:260c::,2001:67c:260c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2610::,2001:67c:2610:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2614::,2001:67c:2614:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:2618::,2001:67c:2618:ffff:ffff:ffff:ffff:ffff,EE
+2001:67c:261c::,2001:67c:261c:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2620::,2001:67c:2620:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:2624::,2001:67c:2624:ffff:ffff:ffff:ffff:ffff,SA
+2001:67c:2628::,2001:67c:2628:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:262c::,2001:67c:262c:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2630::,2001:67c:2630:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2634::,2001:67c:2634:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:2638::,2001:67c:2638:ffff:ffff:ffff:ffff:ffff,SK
+2001:67c:263c::,2001:67c:263c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2640::,2001:67c:2640:ffff:ffff:ffff:ffff:ffff,AE
+2001:67c:2644::,2001:67c:2644:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2648::,2001:67c:2648:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:264c::,2001:67c:264c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2650::,2001:67c:2650:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2654::,2001:67c:2654:ffff:ffff:ffff:ffff:ffff,AE
+2001:67c:2658::,2001:67c:2658:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:265c::,2001:67c:265c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2660::,2001:67c:2660:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2664::,2001:67c:2664:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:2668::,2001:67c:2668:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:266c::,2001:67c:266c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2670::,2001:67c:2670:ffff:ffff:ffff:ffff:ffff,SK
+2001:67c:2674::,2001:67c:2674:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2678::,2001:67c:2678:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:267c::,2001:67c:267c:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:2680::,2001:67c:2680:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2684::,2001:67c:2684:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:2688::,2001:67c:2688:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:268c::,2001:67c:268c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2690::,2001:67c:2690:ffff:ffff:ffff:ffff:ffff,BE
+2001:67c:2694::,2001:67c:2694:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:2698::,2001:67c:2698:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:269c::,2001:67c:269c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:26a0::,2001:67c:26a0:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:26a4::,2001:67c:26a4:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:26a8::,2001:67c:26a8:ffff:ffff:ffff:ffff:ffff,BE
+2001:67c:26ac::,2001:67c:26ac:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:26b0::,2001:67c:26b0:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:26b4::,2001:67c:26b4:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:26b8::,2001:67c:26b8:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:26bc::,2001:67c:26bc:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:26c0::,2001:67c:26c3:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:26d0::,2001:67c:26d0:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:26d4::,2001:67c:26d4:ffff:ffff:ffff:ffff:ffff,SK
+2001:67c:26d8::,2001:67c:26d8:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:26dc::,2001:67c:26dc:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:26e0::,2001:67c:26e0:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:26e4::,2001:67c:26e4:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:26e8::,2001:67c:26e8:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:26ec::,2001:67c:26ec:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:26f0::,2001:67c:26f0:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:26f4::,2001:67c:26f4:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:26f8::,2001:67c:26f8:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:26f9::,2001:67c:27ff:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:26fc::,2001:67c:26fc:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2700::,2001:67c:2700:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:2704::,2001:67c:2704:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2708::,2001:67c:2708:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:270c::,2001:67c:270c:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:2710::,2001:67c:2710:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:2714::,2001:67c:2714:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2718::,2001:67c:2718:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:271c::,2001:67c:271c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2720::,2001:67c:2720:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2724::,2001:67c:2724:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:2728::,2001:67c:2728:ffff:ffff:ffff:ffff:ffff,IR
+2001:67c:272c::,2001:67c:272c:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2730::,2001:67c:2730:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2734::,2001:67c:2734:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:2738::,2001:67c:2738:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:273c::,2001:67c:273c:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:2740::,2001:67c:2740:ffff:ffff:ffff:ffff:ffff,SK
+2001:67c:2744::,2001:67c:2744:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2748::,2001:67c:2748:ffff:ffff:ffff:ffff:ffff,GR
+2001:67c:274c::,2001:67c:274c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2750::,2001:67c:2750:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:2758::,2001:67c:2758:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:275c::,2001:67c:275c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2760::,2001:67c:2760:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2764::,2001:67c:2764:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:2768::,2001:67c:2768:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:276c::,2001:67c:276c:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2770::,2001:67c:2770:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2774::,2001:67c:2774:ffff:ffff:ffff:ffff:ffff,AE
+2001:67c:2780::,2001:67c:2780:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2784::,2001:67c:2784:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:2788::,2001:67c:2788:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:278c::,2001:67c:278c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2790::,2001:67c:2790:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2794::,2001:67c:2794:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2798::,2001:67c:2798:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:279c::,2001:67c:279c:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:27a0::,2001:67c:27a0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:27a4::,2001:67c:27a4:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:27a8::,2001:67c:27a8:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:27ac::,2001:67c:27ac:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:27b0::,2001:67c:27b0:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:27b4::,2001:67c:27b4:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:27b8::,2001:67c:27b8:ffff:ffff:ffff:ffff:ffff,SA
+2001:67c:27bc::,2001:67c:27bc:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:27c0::,2001:67c:27c0:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:27c4::,2001:67c:27c4:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:27c8::,2001:67c:27c8:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:27cc::,2001:67c:27cc:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:27d0::,2001:67c:27d0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:27d4::,2001:67c:27d4:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:27d8::,2001:67c:27d8:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:27dc::,2001:67c:27dc:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:27e0::,2001:67c:27e0:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:27e4::,2001:67c:27e4:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:27e8::,2001:67c:27e8:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:27ec::,2001:67c:27ec:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:27f0::,2001:67c:27f0:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:27f4::,2001:67c:27f4:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:27f8::,2001:67c:27f8:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:27fc::,2001:67c:27fc:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2800::,2001:67c:2800:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:2804::,2001:67c:2804:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:2808::,2001:67c:2808:ffff:ffff:ffff:ffff:ffff,PL
@@ -1266,7 +1445,6 @@
2001:67c:286c::,2001:67c:286c:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:2870::,2001:67c:2870:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:2874::,2001:67c:2874:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:2878::,2001:67c:2878:ffff:ffff:ffff:ffff:ffff,DK
2001:67c:287c::,2001:67c:287c:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2880::,2001:67c:2880:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2884::,2001:67c:2884:ffff:ffff:ffff:ffff:ffff,DE
@@ -1294,7 +1472,6 @@
2001:67c:28e0::,2001:67c:28e0:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:28e4::,2001:67c:28e4:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:28e8::,2001:67c:28e8:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:28ec::,2001:67c:28ec:ffff:ffff:ffff:ffff:ffff,AT
2001:67c:28f0::,2001:67c:28f0:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:28f4::,2001:67c:28f4:ffff:ffff:ffff:ffff:ffff,SI
2001:67c:28f8::,2001:67c:28f8:ffff:ffff:ffff:ffff:ffff,LT
@@ -1453,7 +1630,6 @@
2001:67c:2c28::,2001:67c:2c28:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:2c2c::,2001:67c:2c2c:ffff:ffff:ffff:ffff:ffff,HU
2001:67c:2c30::,2001:67c:2c30:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2c34::,2001:67c:2c34:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2c38::,2001:67c:2c38:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:2c3c::,2001:67c:2c3c:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2c40::,2001:67c:2c40:ffff:ffff:ffff:ffff:ffff,CH
@@ -1500,10 +1676,9 @@
2001:67c:2e74::,2001:67c:2e74:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2e75::,2001:67c:2e7f:ffff:ffff:ffff:ffff:ffff,UA
2001:67c:2e80::,2001:67c:2eff:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2f00::,2001:67c:2f7b:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:2f00::,2001:67c:2f7b:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2f7c::,2001:67c:2f7c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:2f7d::,2001:67c:2f7f:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:2f80::,2001:67c:2f87:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2f7d::,2001:67c:2f87:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2f88::,2001:67c:2f88:ffff:ffff:ffff:ffff:ffff,ZA
2001:67c:2f89::,2001:67c:2fff:ffff:ffff:ffff:ffff:ffff,RU
2001:680::,2001:680:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -1519,7 +1694,7 @@
2001:6e0::,2001:6e0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2001:6e8::,2001:6ef:ffff:ffff:ffff:ffff:ffff:ffff,FI
2001:6f0::,2001:6f7:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2001:6f8:1::,2001:6f8:2ff:ffff:ffff:ffff:ffff:ffff,GB
+2001:6f8::,2001:6f8:2ff:ffff:ffff:ffff:ffff:ffff,GB
2001:6f8:300::,2001:6f8:3ff:ffff:ffff:ffff:ffff:ffff,BE
2001:6f8:400::,2001:6f8:13ff:ffff:ffff:ffff:ffff:ffff,GB
2001:6f8:1400::,2001:6f8:14ff:ffff:ffff:ffff:ffff:ffff,BE
@@ -1534,7 +1709,9 @@
2001:730:1::,2001:730:ffff:ffff:ffff:ffff:ffff:ffff,SK
2001:731::,2001:737:ffff:ffff:ffff:ffff:ffff:ffff,RO
2001:738::,2001:738:ffff:ffff:ffff:ffff:ffff:ffff,HU
+2001:740::,2001:740:c000:ffff:ffff:ffff:ffff:ffff,GB
2001:740:c001::,2001:740:c001:ffff:ffff:ffff:ffff:ffff,DE
+2001:740:c002::,2001:740:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:748::,2001:748:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:750::,2001:750:ffff:ffff:ffff:ffff:ffff:ffff,IT
2001:758::,2001:758:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -1556,7 +1733,6 @@
2001:7d8::,2001:7d8:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:7e0::,2001:7e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:7e8::,2001:7ef:ffff:ffff:ffff:ffff:ffff:ffff,LU
-2001:7f0::,2001:7f0:3ff:ffff:ffff:ffff:ffff:ffff,DE
2001:7f0:4000::,2001:7f0:43ff:ffff:ffff:ffff:ffff:ffff,DE
2001:7f0:c000::,2001:7f0:cfff:ffff:ffff:ffff:ffff:ffff,CZ
2001:7f8::,2001:7f8::ffff:ffff:ffff:ffff:ffff,DE
@@ -1753,6 +1929,8 @@
2001:7f8:cb::,2001:7f8:cb:ffff:ffff:ffff:ffff:ffff,MK
2001:7f8:cc::,2001:7f8:cc:ffff:ffff:ffff:ffff:ffff,CH
2001:7f8:cd::,2001:7f8:cd:ffff:ffff:ffff:ffff:ffff,NL
+2001:7f8:ce::,2001:7f8:ce:ffff:ffff:ffff:ffff:ffff,GR
+2001:7f8:cf::,2001:7f8:cf:ffff:ffff:ffff:ffff:ffff,IT
2001:7f9:4::,2001:7f9:4:ffff:ffff:ffff:ffff:ffff,AL
2001:7f9:8::,2001:7f9:8:ffff:ffff:ffff:ffff:ffff,AM
2001:7f9:c::,2001:7f9:c:ffff:ffff:ffff:ffff:ffff,PL
@@ -1797,9 +1975,7 @@
2001:888::,2001:88f:ffff:ffff:ffff:ffff:ffff:ffff,NL
2001:890::,2001:891:ffff:ffff:ffff:ffff:ffff:ffff,AT
2001:898::,2001:89f:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2001:8a0::,2001:8a0:e8ff:ffff:ffff:ffff:ffff:ffff,PT
-2001:8a0:e900::,2001:8a0:e9ff:ffff:ffff:ffff:ffff:ffff,US
-2001:8a0:ea00::,2001:8a7:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2001:8a0::,2001:8a7:ffff:ffff:ffff:ffff:ffff:ffff,PT
2001:8a8::,2001:8a8:ffff:ffff:ffff:ffff:ffff:ffff,CH
2001:8b0::,2001:8b0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:8b8::,2001:8bf:ffff:ffff:ffff:ffff:ffff:ffff,FI
@@ -1818,11 +1994,13 @@
2001:913:1000::,2001:913:1fff:ffff:ffff:ffff:ffff:ffff,BE
2001:913:2000::,2001:917:ffff:ffff:ffff:ffff:ffff:ffff,FR
2001:918::,2001:91f:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2001:920::,2001:920:17ff:ffff:ffff:ffff:ffff:ffff,GB
-2001:920:1800::,2001:920:1bff:ffff:ffff:ffff:ffff:ffff,DE
-2001:920:1c00::,2001:920:5845:ffff:ffff:ffff:ffff:ffff,GB
+2001:920::,2001:920:18ff:ffff:ffff:ffff:ffff:ffff,GB
+2001:920:1900::,2001:920:19ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:920:1a00::,2001:920:5845:ffff:ffff:ffff:ffff:ffff,GB
2001:920:5846::,2001:920:5846:ffff:ffff:ffff:ffff:ffff,ES
-2001:920:5847::,2001:927:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2001:920:5847::,2001:923:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2001:924::,2001:924:ffff:ffff:ffff:ffff:ffff:ffff,US
+2001:925::,2001:927:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:928::,2001:928:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:930::,2001:930:ffff:ffff:ffff:ffff:ffff:ffff,TR
2001:938::,2001:938:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -1831,26 +2009,24 @@
2001:950::,2001:950:ffff:ffff:ffff:ffff:ffff:ffff,HU
2001:958::,2001:958:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:960::,2001:960:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2001:968::,2001:968:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2001:968::,2001:96f:ffff:ffff:ffff:ffff:ffff:ffff,NL
2001:978::,2001:978:2:39::5:1,DE
2001:978:2:39::5:2,2001:978:2:39::5:2,SI
2001:978:2:39::5:3,2001:978:7ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:800::,2001:978:bff:ffff:ffff:ffff:ffff:ffff,SE
-2001:978:c00::,2001:978:1fff:ffff:ffff:ffff:ffff:ffff,DE
-2001:978:2000::,2001:978:2300:2ff:ffff:ffff:ffff:ffff,US
+2001:978:c00::,2001:978:2300:2ff:ffff:ffff:ffff:ffff,DE
2001:978:2300:300::,2001:978:2300:3ff:ffff:ffff:ffff:ffff,GB
-2001:978:2300:400::,2001:978:23ff:ffff:ffff:ffff:ffff:ffff,US
-2001:978:2400::,2001:978:29ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:978:2300:400::,2001:978:2304:ffff:ffff:ffff:ffff:ffff,DE
+2001:978:2305::,2001:978:2305:ffff:ffff:ffff:ffff:ffff,US
+2001:978:2306::,2001:978:29ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:2a00::,2001:978:2a00:ffff:ffff:ffff:ffff:ffff,IE
2001:978:2a01::,2001:978:33ff:ffff:ffff:ffff:ffff:ffff,DE
-2001:978:3400::,2001:978:3400:ffff:ffff:ffff:ffff:ffff,US
-2001:978:3401::,2001:978:73ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:978:3400::,2001:978:37ff:ffff:ffff:ffff:ffff:ffff,US
+2001:978:3800::,2001:978:73ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:7400::,2001:978:7400:ffff:ffff:ffff:ffff:ffff,FI
2001:978:7401::,2001:978:a4ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:a500::,2001:978:a500:ffff:ffff:ffff:ffff:ffff,BE
-2001:978:a501::,2001:978:adff:ffff:ffff:ffff:ffff:ffff,DE
-2001:978:ae00::,2001:978:ae00:ffff:ffff:ffff:ffff:ffff,CH
-2001:978:ae01::,2001:978:b3ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:978:a501::,2001:978:b3ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:b400::,2001:978:b400:ffff:ffff:ffff:ffff:ffff,BG
2001:978:b401::,2001:978:b5ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:b600::,2001:978:b600:ffff:ffff:ffff:ffff:ffff,RS
@@ -1874,7 +2050,7 @@
2001:a10::,2001:a17:ffff:ffff:ffff:ffff:ffff:ffff,PL
2001:a18::,2001:a1f:ffff:ffff:ffff:ffff:ffff:ffff,LU
2001:a20::,2001:a20:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2001:a30::,2001:a30:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2001:a30::,2001:a37:ffff:ffff:ffff:ffff:ffff:ffff,IT
2001:a38::,2001:a3f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:a40::,2001:a40:ffff:ffff:ffff:ffff:ffff:ffff,PT
2001:a48::,2001:a48:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -1906,7 +2082,8 @@
2001:ac8:28::,2001:ac8:28:ffff:ffff:ffff:ffff:ffff,CH
2001:ac8:29::,2001:ac8:2f:ffff:ffff:ffff:ffff:ffff,AT
2001:ac8:30::,2001:ac8:30:ffff:ffff:ffff:ffff:ffff,BG
-2001:ac8:31::,2001:ac8:33:ffff:ffff:ffff:ffff:ffff,CZ
+2001:ac8:31::,2001:ac8:31:ffff:ffff:ffff:ffff:ffff,GB
+2001:ac8:32::,2001:ac8:33:ffff:ffff:ffff:ffff:ffff,CZ
2001:ac8:34::,2001:ac8:34:ffff:ffff:ffff:ffff:ffff,GB
2001:ac8:35::,2001:ac8:35:ffff:ffff:ffff:ffff:ffff,ES
2001:ac8:36::,2001:ac8:36:ffff:ffff:ffff:ffff:ffff,DE
@@ -1931,7 +2108,19 @@
2001:ac8:52::,2001:ac8:52:ffff:ffff:ffff:ffff:ffff,NL
2001:ac8:53::,2001:ac8:55:ffff:ffff:ffff:ffff:ffff,GB
2001:ac8:56::,2001:ac8:56:ffff:ffff:ffff:ffff:ffff,IT
-2001:ac8:57::,2001:ac8:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2001:ac8:57::,2001:ac8:62:ffff:ffff:ffff:ffff:ffff,GB
+2001:ac8:63::,2001:ac8:64:ffff:ffff:ffff:ffff:ffff,ES
+2001:ac8:65::,2001:ac8:66:ffff:ffff:ffff:ffff:ffff,DE
+2001:ac8:67::,2001:ac8:68:ffff:ffff:ffff:ffff:ffff,BE
+2001:ac8:69::,2001:ac8:69:ffff:ffff:ffff:ffff:ffff,HU
+2001:ac8:6a::,2001:ac8:6f:ffff:ffff:ffff:ffff:ffff,GB
+2001:ac8:70::,2001:ac8:70:ffff:ffff:ffff:ffff:ffff,HU
+2001:ac8:71::,2001:ac8:72:ffff:ffff:ffff:ffff:ffff,DK
+2001:ac8:73::,2001:ac8:74:ffff:ffff:ffff:ffff:ffff,DE
+2001:ac8:75::,2001:ac8:78:ffff:ffff:ffff:ffff:ffff,IT
+2001:ac8:79::,2001:ac8:79:ffff:ffff:ffff:ffff:ffff,GB
+2001:ac8:7a::,2001:ac8:7b:ffff:ffff:ffff:ffff:ffff,FR
+2001:ac8:7c::,2001:ac8:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:ad0::,2001:ad0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2001:ad8::,2001:ae1:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:ae8::,2001:ae8:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -2085,10 +2274,10 @@
2001:dee:8000::,2001:dee:8001:ffff:ffff:ffff:ffff:ffff,NZ
2001:def::,2001:def::ffff:ffff:ffff:ffff:ffff,HK
2001:def:8000::,2001:def:8001:ffff:ffff:ffff:ffff:ffff,NP
-2001:df0::,2001:df0:48:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df0::,2001:df0:3f:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df0:40::,2001:df0:48:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:49::,2001:df0:49:ffff:ffff:ffff:ffff:ffff,AU
-2001:df0:4a::,2001:df0:7f:ffff:ffff:ffff:ffff:ffff,NZ
-2001:df0:80::,2001:df0:bf:ffff:ffff:ffff:ffff:ffff,ID
+2001:df0:4a::,2001:df0:bf:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:c0::,2001:df0:d9:1ff:ffff:ffff:ffff:ffff,JP
2001:df0:d9:200::,2001:df0:d9:2ff:ffff:ffff:ffff:ffff,HK
2001:df0:d9:300::,2001:df0:db:ffff:ffff:ffff:ffff:ffff,JP
@@ -2097,19 +2286,11 @@
2001:df0:100::,2001:df0:1ff:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:200::,2001:df0:21f:ffff:ffff:ffff:ffff:ffff,IN
2001:df0:220::,2001:df0:23f:ffff:ffff:ffff:ffff:ffff,JP
-2001:df0:241::,2001:df0:241:ffff:ffff:ffff:ffff:ffff,AU
-2001:df0:242::,2001:df0:242:ffff:ffff:ffff:ffff:ffff,ID
-2001:df0:243::,2001:df0:243:ffff:ffff:ffff:ffff:ffff,IN
-2001:df0:245::,2001:df0:246:ffff:ffff:ffff:ffff:ffff,AU
-2001:df0:247::,2001:df0:247:ffff:ffff:ffff:ffff:ffff,NZ
-2001:df0:248::,2001:df0:248:ffff:ffff:ffff:ffff:ffff,TH
-2001:df0:249::,2001:df0:24a:ffff:ffff:ffff:ffff:ffff,AU
-2001:df0:24b::,2001:df0:24b:ffff:ffff:ffff:ffff:ffff,NZ
-2001:df0:24c::,2001:df0:24c:ffff:ffff:ffff:ffff:ffff,MY
-2001:df0:24e::,2001:df0:24e:ffff:ffff:ffff:ffff:ffff,AU
-2001:df0:24f::,2001:df0:24f:ffff:ffff:ffff:ffff:ffff,SG
-2001:df0:250::,2001:df0:27f:ffff:ffff:ffff:ffff:ffff,JP
-2001:df0:280::,2001:df0:2bf:ffff:ffff:ffff:ffff:ffff,MY
+2001:df0:240::,2001:df0:24f:ffff:ffff:ffff:ffff:ffff,AU
+2001:df0:250::,2001:df0:29f:ffff:ffff:ffff:ffff:ffff,JP
+2001:df0:2a0::,2001:df0:2b0:ffff:ffff:ffff:ffff:ffff,MY
+2001:df0:2b1::,2001:df0:2b1:ffff:ffff:ffff:ffff:ffff,AU
+2001:df0:2b2::,2001:df0:2bf:ffff:ffff:ffff:ffff:ffff,MY
2001:df0:2c0::,2001:df0:2e1:3114:ffff:ffff:ffff:ffff,JP
2001:df0:2e1:3115::,2001:df0:2e1:3115:ffff:ffff:ffff:ffff,ID
2001:df0:2e1:3116::,2001:df0:2ff:ffff:ffff:ffff:ffff:ffff,JP
@@ -2357,7 +2538,7 @@
2001:df0:c600::,2001:df0:c600:ffff:ffff:ffff:ffff:ffff,IN
2001:df0:c800::,2001:df0:c800:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:c900::,2001:df0:c900:ffff:ffff:ffff:ffff:ffff,PK
-2001:df0:ca00::,2001:df0:ca00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df0:ca00::,2001:df0:ca01:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:cb00::,2001:df0:cb00:ffff:ffff:ffff:ffff:ffff,NZ
2001:df0:cc00::,2001:df0:cc00:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:cd00::,2001:df0:cd00:ffff:ffff:ffff:ffff:ffff,AU
@@ -2413,7 +2594,9 @@
2001:df1:500::,2001:df1:500:ffff:ffff:ffff:ffff:ffff,ID
2001:df1:600::,2001:df1:600:ffff:ffff:ffff:ffff:ffff,HK
2001:df1:700::,2001:df1:700:ffff:ffff:ffff:ffff:ffff,BD
-2001:df1:800::,2001:df1:9ff:ffff:ffff:ffff:ffff:ffff,HK
+2001:df1:800::,2001:df1:800:ffff:ffff:ffff:ffff:ffff,SG
+2001:df1:801::,2001:df1:801:ffff:ffff:ffff:ffff:ffff,HK
+2001:df1:900::,2001:df1:900:ffff:ffff:ffff:ffff:ffff,PH
2001:df1:a00::,2001:df1:a00:ffff:ffff:ffff:ffff:ffff,NZ
2001:df1:b00::,2001:df1:b00:ffff:ffff:ffff:ffff:ffff,PG
2001:df1:d00::,2001:df1:d00:ffff:ffff:ffff:ffff:ffff,IN
@@ -2557,7 +2740,6 @@
2001:df1:9d00::,2001:df1:9d00:ffff:ffff:ffff:ffff:ffff,AU
2001:df1:9e00::,2001:df1:9e00:ffff:ffff:ffff:ffff:ffff,ID
2001:df1:9f00::,2001:df1:9f00:ffff:ffff:ffff:ffff:ffff,ID
-2001:df1:a000::,2001:df1:a000:ffff:ffff:ffff:ffff:ffff,IN
2001:df1:a100::,2001:df1:a100:ffff:ffff:ffff:ffff:ffff,CN
2001:df1:a200::,2001:df1:a200:ffff:ffff:ffff:ffff:ffff,ID
2001:df1:a300::,2001:df1:a300:ffff:ffff:ffff:ffff:ffff,SG
@@ -2568,7 +2750,6 @@
2001:df1:a900::,2001:df1:a900:ffff:ffff:ffff:ffff:ffff,ID
2001:df1:aa00::,2001:df1:aa00:ffff:ffff:ffff:ffff:ffff,ID
2001:df1:ab00::,2001:df1:ab00:ffff:ffff:ffff:ffff:ffff,HK
-2001:df1:ad00::,2001:df1:ad00:ffff:ffff:ffff:ffff:ffff,IN
2001:df1:af00::,2001:df1:af00:ffff:ffff:ffff:ffff:ffff,AU
2001:df1:b000::,2001:df1:b000:ffff:ffff:ffff:ffff:ffff,TH
2001:df1:b100::,2001:df1:b100:ffff:ffff:ffff:ffff:ffff,ID
@@ -2853,9 +3034,7 @@
2001:df2:d900::,2001:df2:d900:ffff:ffff:ffff:ffff:ffff,VN
2001:df2:da00::,2001:df2:da00:ffff:ffff:ffff:ffff:ffff,JP
2001:df2:db00::,2001:df2:db00:ffff:ffff:ffff:ffff:ffff,AU
-2001:df2:dc00::,2001:df2:dc00:ffff:ffff:ffff:ffff:ffff,TH
-2001:df2:dd00::,2001:df2:dd00:ffff:ffff:ffff:ffff:ffff,ID
-2001:df2:de00::,2001:df2:de00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df2:dc00::,2001:df2:dfff:ffff:ffff:ffff:ffff:ffff,TH
2001:df2:e100::,2001:df2:e100:ffff:ffff:ffff:ffff:ffff,ID
2001:df2:e200::,2001:df2:e200:ffff:ffff:ffff:ffff:ffff,IN
2001:df2:e300::,2001:df2:e300:ffff:ffff:ffff:ffff:ffff,ID
@@ -3083,7 +3262,6 @@
2001:df3:d300::,2001:df3:d300:ffff:ffff:ffff:ffff:ffff,IN
2001:df3:d400::,2001:df3:d400:ffff:ffff:ffff:ffff:ffff,AU
2001:df3:d500::,2001:df3:d500:ffff:ffff:ffff:ffff:ffff,AU
-2001:df3:d600::,2001:df3:d600:ffff:ffff:ffff:ffff:ffff,AF
2001:df3:d700::,2001:df3:d700:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:d900::,2001:df3:d900:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:da00::,2001:df3:da00:ffff:ffff:ffff:ffff:ffff,US
@@ -3116,7 +3294,6 @@
2001:df3:f700::,2001:df3:f700:ffff:ffff:ffff:ffff:ffff,IN
2001:df3:f800::,2001:df3:f800:ffff:ffff:ffff:ffff:ffff,IN
2001:df3:f900::,2001:df3:f900:ffff:ffff:ffff:ffff:ffff,TH
-2001:df3:fa00::,2001:df3:fa00:ffff:ffff:ffff:ffff:ffff,AU
2001:df3:fb00::,2001:df3:fb00:ffff:ffff:ffff:ffff:ffff,IN
2001:df3:fc00::,2001:df3:fc00:ffff:ffff:ffff:ffff:ffff,HK
2001:df3:fd00::,2001:df3:fd00:ffff:ffff:ffff:ffff:ffff,AU
@@ -3218,7 +3395,7 @@
2001:df4:6000::,2001:df4:6000:ffff:ffff:ffff:ffff:ffff,MY
2001:df4:6100::,2001:df4:6100:ffff:ffff:ffff:ffff:ffff,BD
2001:df4:6200::,2001:df4:6200:ffff:ffff:ffff:ffff:ffff,PK
-2001:df4:6300::,2001:df4:6300:ffff:ffff:ffff:ffff:ffff,PH
+2001:df4:6300::,2001:df4:6301:ffff:ffff:ffff:ffff:ffff,PH
2001:df4:6400::,2001:df4:6400:ffff:ffff:ffff:ffff:ffff,LA
2001:df4:6500::,2001:df4:6500:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:6600::,2001:df4:6600:ffff:ffff:ffff:ffff:ffff,SG
@@ -3272,14 +3449,10 @@
2001:df4:9900::,2001:df4:9900:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:9a00::,2001:df4:9a00:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:9b00::,2001:df4:9b00:ffff:ffff:ffff:ffff:ffff,IN
-2001:df4:9c00::,2001:df4:9c00:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:9d00::,2001:df4:9d00:ffff:ffff:ffff:ffff:ffff,TW
2001:df4:9e00::,2001:df4:9e00:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:9f00::,2001:df4:9f00:ffff:ffff:ffff:ffff:ffff,IN
-2001:df4:a000::,2001:df4:a000:ffff:ffff:ffff:ffff:ffff,NZ
-2001:df4:a100::,2001:df4:a100:ffff:ffff:ffff:ffff:ffff,ID
-2001:df4:a200::,2001:df4:a200:ffff:ffff:ffff:ffff:ffff,AU
-2001:df4:a300::,2001:df4:a300:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:a000::,2001:df4:a3ff:ffff:ffff:ffff:ffff:ffff,IN
2001:df4:a400::,2001:df4:a400:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:a500::,2001:df4:a500:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:a600::,2001:df4:a600:ffff:ffff:ffff:ffff:ffff,AU
@@ -3500,7 +3673,6 @@
2001:df5:8500::,2001:df5:8500:ffff:ffff:ffff:ffff:ffff,ID
2001:df5:8600::,2001:df5:8600:ffff:ffff:ffff:ffff:ffff,AU
2001:df5:8700::,2001:df5:8700:ffff:ffff:ffff:ffff:ffff,ID
-2001:df5:8800::,2001:df5:8800:ffff:ffff:ffff:ffff:ffff,IN
2001:df5:8900::,2001:df5:8900:ffff:ffff:ffff:ffff:ffff,ID
2001:df5:8a00::,2001:df5:8a00:ffff:ffff:ffff:ffff:ffff,VN
2001:df5:8b00::,2001:df5:8b00:ffff:ffff:ffff:ffff:ffff,HK
@@ -3548,7 +3720,6 @@
2001:df5:b900::,2001:df5:b900:ffff:ffff:ffff:ffff:ffff,VN
2001:df5:ba00::,2001:df5:ba00:ffff:ffff:ffff:ffff:ffff,IN
2001:df5:bb00::,2001:df5:bb00:ffff:ffff:ffff:ffff:ffff,VN
-2001:df5:bc00::,2001:df5:bc00:ffff:ffff:ffff:ffff:ffff,AU
2001:df5:bd00::,2001:df5:bd00:ffff:ffff:ffff:ffff:ffff,BD
2001:df5:be00::,2001:df5:be00:ffff:ffff:ffff:ffff:ffff,VN
2001:df5:bf00::,2001:df5:bf00:ffff:ffff:ffff:ffff:ffff,ID
@@ -3819,51 +3990,101 @@
2001:df6:dc00::,2001:df6:dc00:ffff:ffff:ffff:ffff:ffff,ID
2001:df6:dd00::,2001:df6:dd00:ffff:ffff:ffff:ffff:ffff,VN
2001:df6:de00::,2001:df6:de00:ffff:ffff:ffff:ffff:ffff,BD
+2001:df6:df00::,2001:df6:df00:ffff:ffff:ffff:ffff:ffff,CN
+2001:df6:e100::,2001:df6:e100:ffff:ffff:ffff:ffff:ffff,MY
2001:df6:e200::,2001:df6:e200:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df6:e300::,2001:df6:e300:ffff:ffff:ffff:ffff:ffff,IN
2001:df6:e400::,2001:df6:e400:ffff:ffff:ffff:ffff:ffff,IN
+2001:df6:e500::,2001:df6:e501:ffff:ffff:ffff:ffff:ffff,AU
2001:df6:e600::,2001:df6:e600:ffff:ffff:ffff:ffff:ffff,ES
+2001:df6:e700::,2001:df6:e700:ffff:ffff:ffff:ffff:ffff,ID
2001:df6:e800::,2001:df6:e800:ffff:ffff:ffff:ffff:ffff,IN
-2001:df6:ea00::,2001:df6:ea00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:e900::,2001:df6:e900:ffff:ffff:ffff:ffff:ffff,ID
+2001:df6:eb00::,2001:df6:eb00:ffff:ffff:ffff:ffff:ffff,HK
2001:df6:ec00::,2001:df6:ec00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df6:ed00::,2001:df6:ed00:ffff:ffff:ffff:ffff:ffff,SG
2001:df6:ee00::,2001:df6:ee00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:ef00::,2001:df6:ef00:ffff:ffff:ffff:ffff:ffff,ID
2001:df6:f000::,2001:df6:f000:ffff:ffff:ffff:ffff:ffff,HK
+2001:df6:f100::,2001:df6:f100:ffff:ffff:ffff:ffff:ffff,ID
2001:df6:f200::,2001:df6:f200:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:f300::,2001:df6:f300:ffff:ffff:ffff:ffff:ffff,AU
2001:df6:f400::,2001:df6:f400:ffff:ffff:ffff:ffff:ffff,CN
+2001:df6:f500::,2001:df6:f500:ffff:ffff:ffff:ffff:ffff,AU
2001:df6:f600::,2001:df6:f600:ffff:ffff:ffff:ffff:ffff,ID
+2001:df6:f700::,2001:df6:f700:ffff:ffff:ffff:ffff:ffff,NP
2001:df6:f800::,2001:df6:f800:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:f900::,2001:df6:f900:ffff:ffff:ffff:ffff:ffff,NZ
2001:df6:fa00::,2001:df6:fa00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df6:fb00::,2001:df6:fb00:ffff:ffff:ffff:ffff:ffff,AU
2001:df6:fc00::,2001:df6:fc00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:fd00::,2001:df6:fd00:ffff:ffff:ffff:ffff:ffff,ID
2001:df6:fe00::,2001:df6:fe00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:ff00::,2001:df6:ff00:ffff:ffff:ffff:ffff:ffff,AU
2001:df7::,2001:df7::ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:100::,2001:df7:100:ffff:ffff:ffff:ffff:ffff,GB
2001:df7:200::,2001:df7:203:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:300::,2001:df7:300:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:400::,2001:df7:400:ffff:ffff:ffff:ffff:ffff,HK
+2001:df7:500::,2001:df7:500:ffff:ffff:ffff:ffff:ffff,WS
2001:df7:600::,2001:df7:600:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:700::,2001:df7:700:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:800::,2001:df7:800:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:900::,2001:df7:900:ffff:ffff:ffff:ffff:ffff,NZ
2001:df7:a00::,2001:df7:a00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:b00::,2001:df7:b00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:c00::,2001:df7:c00:ffff:ffff:ffff:ffff:ffff,TW
+2001:df7:d00::,2001:df7:d00:ffff:ffff:ffff:ffff:ffff,AU
2001:df7:e00::,2001:df7:e00:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df7:f00::,2001:df7:f00:ffff:ffff:ffff:ffff:ffff,AU
2001:df7:1000::,2001:df7:1000:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:1100::,2001:df7:1100:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:1200::,2001:df7:1200:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:1300::,2001:df7:1300:ffff:ffff:ffff:ffff:ffff,PH
2001:df7:1400::,2001:df7:1400:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:1500::,2001:df7:1500:ffff:ffff:ffff:ffff:ffff,VN
+2001:df7:1700::,2001:df7:1700:ffff:ffff:ffff:ffff:ffff,VN
+2001:df7:1900::,2001:df7:1900:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:1a00::,2001:df7:1a00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:1b00::,2001:df7:1b00:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:1c00::,2001:df7:1c00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:1d00::,2001:df7:1d00:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df7:1f00::,2001:df7:1f00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:2000::,2001:df7:2000:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:2100::,2001:df7:2100:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:2200::,2001:df7:2200:ffff:ffff:ffff:ffff:ffff,TH
+2001:df7:2300::,2001:df7:2301:ffff:ffff:ffff:ffff:ffff,BD
2001:df7:2400::,2001:df7:2400:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:2500::,2001:df7:2500:ffff:ffff:ffff:ffff:ffff,PK
2001:df7:2600::,2001:df7:2600:ffff:ffff:ffff:ffff:ffff,HK
+2001:df7:2700::,2001:df7:2700:ffff:ffff:ffff:ffff:ffff,TH
2001:df7:2800::,2001:df7:2800:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:2900::,2001:df7:2900:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:2a00::,2001:df7:2a00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:2b00::,2001:df7:2b00:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:2c00::,2001:df7:2c00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:2d00::,2001:df7:2d00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:2e00::,2001:df7:2e00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:2f00::,2001:df7:2f00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:3000::,2001:df7:3001:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df7:3100::,2001:df7:3100:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:3200::,2001:df7:3200:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:3300::,2001:df7:3300:ffff:ffff:ffff:ffff:ffff,AU
2001:df7:3400::,2001:df7:3400:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:3500::,2001:df7:3500:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:3600::,2001:df7:3600:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:3700::,2001:df7:3700:ffff:ffff:ffff:ffff:ffff,HK
2001:df7:3800::,2001:df7:3800:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:3900::,2001:df7:3900:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:3b00::,2001:df7:3b00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:3c00::,2001:df7:3c00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:3d00::,2001:df7:3d00:ffff:ffff:ffff:ffff:ffff,HK
2001:df7:3e00::,2001:df7:3e00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:3f00::,2001:df7:3f00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:4000::,2001:df7:4000:ffff:ffff:ffff:ffff:ffff,SG
+2001:df7:4100::,2001:df7:4100:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:4200::,2001:df7:4200:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:4300::,2001:df7:4300:ffff:ffff:ffff:ffff:ffff,BD
2001:df7:4400::,2001:df7:4400:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:4600::,2001:df7:4600:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:4800::,2001:df7:481f:ffff:ffff:ffff:ffff:ffff,JP
@@ -3904,8 +4125,7 @@
2001:df7:9e00::,2001:df7:9e00:ffff:ffff:ffff:ffff:ffff,SG
2001:df7:a000::,2001:df7:a000:ffff:ffff:ffff:ffff:ffff,AU
2001:df7:a200::,2001:df7:a200:ffff:ffff:ffff:ffff:ffff,ID
-2001:df7:a400::,2001:df7:a401:ffff:ffff:ffff:ffff:ffff,SG
-2001:df7:a600::,2001:df7:a600:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:a400::,2001:df7:a7ff:ffff:ffff:ffff:ffff:ffff,TH
2001:df7:a800::,2001:df7:a800:ffff:ffff:ffff:ffff:ffff,JP
2001:df7:aa00::,2001:df7:aa00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:ac00::,2001:df7:ac00:ffff:ffff:ffff:ffff:ffff,AU
@@ -3933,7 +4153,6 @@
2001:df7:da00::,2001:df7:da00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:dc00::,2001:df7:dc00:ffff:ffff:ffff:ffff:ffff,TH
2001:df7:de00::,2001:df7:de03:ffff:ffff:ffff:ffff:ffff,IN
-2001:df7:e000::,2001:df7:e000:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:e200::,2001:df7:e200:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:e400::,2001:df7:e400:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:e600::,2001:df7:e600:ffff:ffff:ffff:ffff:ffff,ID
@@ -4361,15 +4580,8 @@
2001:2005::,2001:2005:ffff:ffff:ffff:ffff:ffff:ffff,SE
2001:2010::,2001:2012:ffff:ffff:ffff:ffff:ffff:ffff,DK
2001:2020::,2001:2021:ffff:ffff:ffff:ffff:ffff:ffff,LT
-2001:2030::,2001:2030::1c:6129:fc61:4a70:fc90,SE
-2001:2030::1c:6129:fc61:4a70:fc91,2001:2030::1c:6129:fc61:4a70:fc91,US
-2001:2030::1c:6129:fc61:4a70:fc92,2001:2030::1d:b985:4aff:c872:8159,SE
-2001:2030::1d:b985:4aff:c872:815a,2001:2030::1d:b985:4aff:c872:815a,US
-2001:2030::1d:b985:4aff:c872:815b,2001:2030::3e:344c:f8ec:e9b9:2c26,SE
-2001:2030::3e:344c:f8ec:e9b9:2c27,2001:2030::3e:344c:f8ec:e9b9:2c27,US
-2001:2030::3e:344c:f8ec:e9b9:2c28,2001:2030::3f:4144:aaf7:902:29f9,SE
-2001:2030::3f:4144:aaf7:902:29fa,2001:2030::3f:4144:aaf7:902:29fa,US
-2001:2030::3f:4144:aaf7:902:29fb,2001:2030:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2001:2030::,2001:2030::ffff:ffff:ffff:ffff:ffff,US
+2001:2030:1::,2001:2030:ffff:ffff:ffff:ffff:ffff:ffff,SE
2001:2031:0:5::,2001:2031::1b:ffff:ffff:ffff:ffff,CA
2001:2031:0:1d::,2001:2031::1d:ffff:ffff:ffff:ffff,CA
2001:2040::,2001:2040:ffff:ffff:ffff:ffff:ffff:ffff,SE
@@ -4638,6 +4850,12 @@
2001:43f8:11a0::,2001:43f8:11a1:ffff:ffff:ffff:ffff:ffff,SO
2001:43f8:11b0::,2001:43f8:11b0:ffff:ffff:ffff:ffff:ffff,ZA
2001:43f8:11c0::,2001:43f8:11c0:ffff:ffff:ffff:ffff:ffff,KE
+2001:43f8:11d0::,2001:43f8:11d0:ffff:ffff:ffff:ffff:ffff,SD
+2001:43f8:11e0::,2001:43f8:11e0:ffff:ffff:ffff:ffff:ffff,RW
+2001:43f8:11f0::,2001:43f8:11f1:ffff:ffff:ffff:ffff:ffff,NG
+2001:43f8:1200::,2001:43f8:120f:ffff:ffff:ffff:ffff:ffff,NG
+2001:43f8:1300::,2001:43f8:1300:ffff:ffff:ffff:ffff:ffff,ZA
+2001:43f8:1310::,2001:43f8:1310:ffff:ffff:ffff:ffff:ffff,NG
2001:4400::,2001:4403:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2001:4408::,2001:4408:ffff:ffff:ffff:ffff:ffff:ffff,IN
2001:4410::,2001:4410:ffff:ffff:ffff:ffff:ffff:ffff,NZ
@@ -4823,14 +5041,13 @@
2001:4878:8249::,2001:4878:8249:ffff:ffff:ffff:ffff:ffff,FR
2001:4878:824a::,2001:4878:824f:ffff:ffff:ffff:ffff:ffff,US
2001:4878:8250::,2001:4878:8250:ffff:ffff:ffff:ffff:ffff,IT
-2001:4878:8251::,2001:4878:8304:ffff:ffff:ffff:ffff:ffff,US
-2001:4878:8305::,2001:4878:8305:ffff:ffff:ffff:ffff:ffff,IN
-2001:4878:8306::,2001:4878:8320:ffff:ffff:ffff:ffff:ffff,US
-2001:4878:8321::,2001:4878:8321:ffff:ffff:ffff:ffff:ffff,SG
+2001:4878:8251::,2001:4878:82ff:ffff:ffff:ffff:ffff:ffff,US
+2001:4878:8300::,2001:4878:831f:ffff:ffff:ffff:ffff:ffff,IN
+2001:4878:8320::,2001:4878:8321:ffff:ffff:ffff:ffff:ffff,SG
2001:4878:8322::,2001:4878:8322:ffff:ffff:ffff:ffff:ffff,JP
2001:4878:8323::,2001:4878:8323:ffff:ffff:ffff:ffff:ffff,AU
2001:4878:8324::,2001:4878:8324:ffff:ffff:ffff:ffff:ffff,KR
-2001:4878:8325::,2001:4878:833f:ffff:ffff:ffff:ffff:ffff,US
+2001:4878:8325::,2001:4878:833f:ffff:ffff:ffff:ffff:ffff,SG
2001:4878:8340::,2001:4878:8340:ffff:ffff:ffff:ffff:ffff,HK
2001:4878:8341::,2001:4878:8343:ffff:ffff:ffff:ffff:ffff,US
2001:4878:8344::,2001:4878:8344:ffff:ffff:ffff:ffff:ffff,IN
@@ -4839,41 +5056,35 @@
2001:4878:8349::,2001:4878:a128:ffff:ffff:ffff:ffff:ffff,US
2001:4878:a129::,2001:4878:a129:ffff:ffff:ffff:ffff:ffff,CR
2001:4878:a12a::,2001:4878:a1ff:ffff:ffff:ffff:ffff:ffff,US
-2001:4878:a200::,2001:4878:a203:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a200::,2001:4878:a203:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a204::,2001:4878:a204:ffff:ffff:ffff:ffff:ffff,DE
-2001:4878:a205::,2001:4878:a214:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a205::,2001:4878:a214:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a215::,2001:4878:a215:ffff:ffff:ffff:ffff:ffff,GB
-2001:4878:a216::,2001:4878:a21f:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a216::,2001:4878:a21f:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a220::,2001:4878:a220:ffff:ffff:ffff:ffff:ffff,SE
-2001:4878:a221::,2001:4878:a224:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a221::,2001:4878:a224:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a225::,2001:4878:a225:ffff:ffff:ffff:ffff:ffff,PL
-2001:4878:a226::,2001:4878:a227:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a226::,2001:4878:a227:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a228::,2001:4878:a228:ffff:ffff:ffff:ffff:ffff,IL
-2001:4878:a229::,2001:4878:a233:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a229::,2001:4878:a233:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a234::,2001:4878:a234:ffff:ffff:ffff:ffff:ffff,GB
-2001:4878:a235::,2001:4878:a241:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a235::,2001:4878:a241:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a242::,2001:4878:a242:ffff:ffff:ffff:ffff:ffff,NL
2001:4878:a243::,2001:4878:a243:ffff:ffff:ffff:ffff:ffff,PL
-2001:4878:a244::,2001:4878:a245:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a244::,2001:4878:a245:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a246::,2001:4878:a246:ffff:ffff:ffff:ffff:ffff,DK
-2001:4878:a247::,2001:4878:a248:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a247::,2001:4878:a248:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a249::,2001:4878:a249:ffff:ffff:ffff:ffff:ffff,FR
-2001:4878:a24a::,2001:4878:a24f:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a24a::,2001:4878:a24f:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a250::,2001:4878:a250:ffff:ffff:ffff:ffff:ffff,IT
-2001:4878:a251::,2001:4878:a304:ffff:ffff:ffff:ffff:ffff,JP
-2001:4878:a305::,2001:4878:a305:ffff:ffff:ffff:ffff:ffff,IN
-2001:4878:a306::,2001:4878:a320:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a251::,2001:4878:a320:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a321::,2001:4878:a321:ffff:ffff:ffff:ffff:ffff,SG
2001:4878:a322::,2001:4878:a322:ffff:ffff:ffff:ffff:ffff,JP
2001:4878:a323::,2001:4878:a323:ffff:ffff:ffff:ffff:ffff,AU
2001:4878:a324::,2001:4878:a324:ffff:ffff:ffff:ffff:ffff,KR
-2001:4878:a325::,2001:4878:a33f:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a325::,2001:4878:a33f:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a340::,2001:4878:a340:ffff:ffff:ffff:ffff:ffff,HK
-2001:4878:a341::,2001:4878:a343:ffff:ffff:ffff:ffff:ffff,JP
-2001:4878:a344::,2001:4878:a344:ffff:ffff:ffff:ffff:ffff,IN
-2001:4878:a345::,2001:4878:a347:ffff:ffff:ffff:ffff:ffff,JP
-2001:4878:a348::,2001:4878:a348:ffff:ffff:ffff:ffff:ffff,IN
-2001:4878:a349::,2001:4878:a3ff:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a341::,2001:4878:a3ff:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a400::,2001:4878:c061:ffff:ffff:ffff:ffff:ffff,US
2001:4878:c062::,2001:4878:c063:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:c064::,2001:4878:c128:ffff:ffff:ffff:ffff:ffff,US
@@ -5031,7 +5242,6 @@
2001:4c08::,2001:4c08:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:4c10::,2001:4c10:ffff:ffff:ffff:ffff:ffff:ffff,NL
2001:4c20::,2001:4c20:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2001:4c28::,2001:4c28:3ff:ffff:ffff:ffff:ffff:ffff,US
2001:4c28:3000:632:107:167:111:92,2001:4c28:3000:632:107:167:111:92,IN
2001:4c30::,2001:4c30:ffff:ffff:ffff:ffff:ffff:ffff,PL
2001:4c38::,2001:4c3f:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -5089,7 +5299,7 @@
2001:4de0:500::,2001:4de0:5ff:ffff:ffff:ffff:ffff:ffff,SE
2001:4de0:600::,2001:4de0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2001:4de8::,2001:4de8:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2001:4df0::,2001:4df0:ffff:ffff:ffff:ffff:ffff:ffff,IL
+2001:4df0::,2001:4df7:ffff:ffff:ffff:ffff:ffff:ffff,IL
2001:5000::,2001:5000::ffff:ffff:ffff:ffff:ffff,DE
2001:5000:1::,2001:5000:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:5001::,2001:5001:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -5104,13 +5314,18 @@
2001:500a::,2001:500a:ffff:ffff:ffff:ffff:ffff:ffff,JP
2001:500b::,2001:500b:ffff:ffff:ffff:ffff:ffff:ffff,HK
2001:500c::,2001:500c:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2001:500d::,2001:500f:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:5010::,2001:5010:ffff:ffff:ffff:ffff:ffff:ffff,RU
2001:5011::,2001:5011:ffff:ffff:ffff:ffff:ffff:ffff,ES
2001:5012::,2001:5012:ffff:ffff:ffff:ffff:ffff:ffff,SE
2001:5013::,2001:5013:ffff:ffff:ffff:ffff:ffff:ffff,CH
2001:5014::,2001:5014:ffff:ffff:ffff:ffff:ffff:ffff,US
-2001:5100::,2001:5100:3ff:ffff:ffff:ffff:ffff:ffff,GB
-2001:8000::,2001:8fff:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2001:5015::,2001:57ff:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2001:8000::,2001:8003:6028:7fff:ffff:ffff:ffff:ffff,AU
+2001:8003:6028:8000::,2001:8003:6028:cfff:ffff:ffff:ffff:ffff,SG
+2001:8003:6028:d000::,2001:8003:6028:dfff:ffff:ffff:ffff:ffff,AU
+2001:8003:6028:e000::,2001:8003:6028:ffff:ffff:ffff:ffff:ffff,SG
+2001:8003:6029::,2001:8fff:ffff:ffff:ffff:ffff:ffff:ffff,AU
2001:a000::,2001:a7ff:ffff:ffff:ffff:ffff:ffff:ffff,JP
2001:b000::,2001:b7ff:ffff:ffff:ffff:ffff:ffff:ffff,TW
2003::,2003:1fff:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -5217,7 +5432,6 @@
2400:39c0::,2400:39c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2400:3a00::,2400:3a00:ffff:ffff:ffff:ffff:ffff:ffff,CN
2400:3a40::,2400:3a40:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2400:3a80::,2400:3a80:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:3ac0::,2400:3ac0:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:3b00::,2400:3b00:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:3b40::,2400:3b40:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -5594,7 +5808,6 @@
2400:9840::,2400:9840:ffff:ffff:ffff:ffff:ffff:ffff,BD
2400:9880::,2400:9880:ffff:ffff:ffff:ffff:ffff:ffff,AU
2400:98c0::,2400:98c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2400:9900::,2400:9900:ffff:ffff:ffff:ffff:ffff:ffff,NP
2400:9940::,2400:9940:ffff:ffff:ffff:ffff:ffff:ffff,BD
2400:9980::,2400:9980:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:99c0::,2400:99c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -5912,15 +6125,26 @@
2400:cb00:151::,2400:cb00:151:ffff:ffff:ffff:ffff:ffff,LV
2400:cb00:152::,2400:cb00:152:ffff:ffff:ffff:ffff:ffff,EE
2400:cb00:153::,2400:cb00:153:ffff:ffff:ffff:ffff:ffff,CA
-2400:cb00:154::,2400:cb00:160:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:154::,2400:cb00:157:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:158::,2400:cb00:158:ffff:ffff:ffff:ffff:ffff,RU
+2400:cb00:159::,2400:cb00:160:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:161::,2400:cb00:161:ffff:ffff:ffff:ffff:ffff,CO
2400:cb00:162::,2400:cb00:165:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:166::,2400:cb00:166:ffff:ffff:ffff:ffff:ffff,MD
2400:cb00:167::,2400:cb00:168:ffff:ffff:ffff:ffff:ffff,CA
2400:cb00:169::,2400:cb00:169:ffff:ffff:ffff:ffff:ffff,LU
-2400:cb00:16a::,2400:cb00:172:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:16a::,2400:cb00:16f:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:170::,2400:cb00:170:ffff:ffff:ffff:ffff:ffff,BH
+2400:cb00:171::,2400:cb00:172:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:173::,2400:cb00:173:ffff:ffff:ffff:ffff:ffff,MN
-2400:cb00:174::,2400:cb00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:174::,2400:cb00:174:ffff:ffff:ffff:ffff:ffff,NG
+2400:cb00:175::,2400:cb00:175:ffff:ffff:ffff:ffff:ffff,TH
+2400:cb00:176::,2400:cb00:177:ffff:ffff:ffff:ffff:ffff,VN
+2400:cb00:178::,2400:cb00:178:ffff:ffff:ffff:ffff:ffff,FR
+2400:cb00:179::,2400:cb00:179:ffff:ffff:ffff:ffff:ffff,PK
+2400:cb00:17a::,2400:cb00:181:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:182::,2400:cb00:182:ffff:ffff:ffff:ffff:ffff,MA
+2400:cb00:183::,2400:cb00:ffff:ffff:ffff:ffff:ffff:ffff,US
2400:cb40::,2400:cb40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2400:cb80::,2400:cb80:ffff:ffff:ffff:ffff:ffff:ffff,CN
2400:cbc0::,2400:cbc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -6224,6 +6448,7 @@
2401:1a80::,2401:1a80:ffff:ffff:ffff:ffff:ffff:ffff,TH
2401:1ac0::,2401:1ac0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2401:1b00::,2401:1b00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2401:1b40::,2401:1b40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2401:1b80::,2401:1b80:ffff:ffff:ffff:ffff:ffff:ffff,AU
2401:1bc0::,2401:1bc0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2401:1c00::,2401:1c00:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -6420,7 +6645,6 @@
2401:4dc0::,2401:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:4e00::,2401:4e00:ffff:ffff:ffff:ffff:ffff:ffff,ID
2401:4e40::,2401:4e40:ffff:ffff:ffff:ffff:ffff:ffff,MP
-2401:4e80::,2401:4e80:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:4ec0::,2401:4ec0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2401:4f00::,2401:4f00:ffff:ffff:ffff:ffff:ffff:ffff,TH
2401:4f40::,2401:4f40:ffff:ffff:ffff:ffff:ffff:ffff,IN
@@ -6734,7 +6958,6 @@
2401:b100::,2401:b100:ffff:ffff:ffff:ffff:ffff:ffff,IN
2401:b140::,2401:b140:ffff:ffff:ffff:ffff:ffff:ffff,JP
2401:b180::,2401:b180:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2401:b1c0::,2401:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2401:b200::,2401:b200:ffff:ffff:ffff:ffff:ffff:ffff,IN
2401:b240::,2401:b240:ffff:ffff:ffff:ffff:ffff:ffff,IN
2401:b2c0::,2401:b2c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -6853,7 +7076,6 @@
2401:cd80:6::,2401:cd81:ffff:ffff:ffff:ffff:ffff:ffff,AU
2401:cdc0::,2401:cdc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:ce00::,2401:ce00:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2401:ce40::,2401:ce40:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:ce80::,2401:ce80:ffff:ffff:ffff:ffff:ffff:ffff,JP
2401:cec0::,2401:cec0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:cf00::,2401:cf00:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -7011,7 +7233,6 @@
2401:f300::,2401:f300:ffff:ffff:ffff:ffff:ffff:ffff,CN
2401:f340::,2401:f340:ffff:ffff:ffff:ffff:ffff:ffff,AU
2401:f380::,2401:f380:ffff:ffff:ffff:ffff:ffff:ffff,HK
-2401:f3c0::,2401:f3c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2401:f400::,2401:f400:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:f440::,2401:f440:ffff:ffff:ffff:ffff:ffff:ffff,AU
2401:f480::,2401:f480:ffff:ffff:ffff:ffff:ffff:ffff,IN
@@ -7033,7 +7254,11 @@
2401:f900::,2401:f900:ffff:ffff:ffff:ffff:ffff:ffff,SG
2401:f940::,2401:f940:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:f980::,2401:f980:ffff:ffff:ffff:ffff:ffff:ffff,ID
-2401:f9c0::,2401:f9c0:aa9f:ffff:ffff:ffff:ffff:ffff,US
+2401:f9c0::,2401:f9c0:a00f:ffff:ffff:ffff:ffff:ffff,US
+2401:f9c0:a010::,2401:f9c0:a010:ffff:ffff:ffff:ffff:ffff,CN
+2401:f9c0:a011::,2401:f9c0:a011:ffff:ffff:ffff:ffff:ffff,AU
+2401:f9c0:a012::,2401:f9c0:a012:ffff:ffff:ffff:ffff:ffff,HK
+2401:f9c0:a013::,2401:f9c0:aa9f:ffff:ffff:ffff:ffff:ffff,US
2401:f9c0:aaa0::,2401:f9c0:aaa0:ffff:ffff:ffff:ffff:ffff,CA
2401:f9c0:aaa1::,2401:f9c0:cdcc:ffff:ffff:ffff:ffff:ffff,US
2401:f9c0:cdcd::,2401:f9c0:cdcd:ffff:ffff:ffff:ffff:ffff,CN
@@ -7045,58 +7270,263 @@
2401:f9c0:fba0::,2401:f9c0:fba3:ffff:ffff:ffff:ffff:ffff,CN
2401:f9c0:fba4::,2401:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2401:fa00::,2401:fa00::ffff:ffff:ffff:ffff:ffff,AU
-2401:fa00:1::,2401:fa00:1:ffff:ffff:ffff:ffff:ffff,TW
-2401:fa00:2::,2401:fa00:2:ffff:ffff:ffff:ffff:ffff,US
+2401:fa00:1::,2401:fa00:2:ffff:ffff:ffff:ffff:ffff,TW
2401:fa00:3::,2401:fa00:3:ffff:ffff:ffff:ffff:ffff,SG
-2401:fa00:4::,2401:fa00:5:ffff:ffff:ffff:ffff:ffff,JP
-2401:fa00:6::,2401:fa00:6:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:4::,2401:fa00:4:ffff:ffff:ffff:ffff:ffff,JP
+2401:fa00:5::,2401:fa00:6:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:7::,2401:fa00:7:ffff:ffff:ffff:ffff:ffff,PH
-2401:fa00:8::,2401:fa00:8:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:8::,2401:fa00:8:ffff:ffff:ffff:ffff:ffff,MY
2401:fa00:9::,2401:fa00:9:ffff:ffff:ffff:ffff:ffff,AU
2401:fa00:a::,2401:fa00:c:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:d::,2401:fa00:d:ffff:ffff:ffff:ffff:ffff,KR
-2401:fa00:e::,2401:fa00:11:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:e::,2401:fa00:f:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:10::,2401:fa00:10:ffff:ffff:ffff:ffff:ffff,JP
+2401:fa00:11::,2401:fa00:11:ffff:ffff:ffff:ffff:ffff,AU
2401:fa00:12::,2401:fa00:12:ffff:ffff:ffff:ffff:ffff,NZ
2401:fa00:13::,2401:fa00:13:ffff:ffff:ffff:ffff:ffff,HK
2401:fa00:14::,2401:fa00:17:ffff:ffff:ffff:ffff:ffff,KR
2401:fa00:18::,2401:fa00:18:ffff:ffff:ffff:ffff:ffff,PH
2401:fa00:19::,2401:fa00:19:ffff:ffff:ffff:ffff:ffff,TH
-2401:fa00:1a::,2401:fa00:1b:ffff:ffff:ffff:ffff:ffff,PH
+2401:fa00:1a::,2401:fa00:1b:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:1c::,2401:fa00:1c:ffff:ffff:ffff:ffff:ffff,KR
-2401:fa00:1d::,2401:fa00:23:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:1d::,2401:fa00:1d:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:1e::,2401:fa00:1f:ffff:ffff:ffff:ffff:ffff,JP
+2401:fa00:20::,2401:fa00:20:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:21::,2401:fa00:21:ffff:ffff:ffff:ffff:ffff,TW
+2401:fa00:22::,2401:fa00:22:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:23::,2401:fa00:23:ffff:ffff:ffff:ffff:ffff,TW
2401:fa00:24::,2401:fa00:24:ffff:ffff:ffff:ffff:ffff,MY
2401:fa00:25::,2401:fa00:25:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:26::,2401:fa00:27:ffff:ffff:ffff:ffff:ffff,PH
2401:fa00:28::,2401:fa00:2b:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:2c::,2401:fa00:2f:ffff:ffff:ffff:ffff:ffff,SG
-2401:fa00:30::,2401:fa00:35:ffff:ffff:ffff:ffff:ffff,PH
+2401:fa00:30::,2401:fa00:32:ffff:ffff:ffff:ffff:ffff,US
+2401:fa00:33::,2401:fa00:33:ffff:ffff:ffff:ffff:ffff,PH
+2401:fa00:34::,2401:fa00:35:ffff:ffff:ffff:ffff:ffff,US
2401:fa00:36::,2401:fa00:36:ffff:ffff:ffff:ffff:ffff,SG
-2401:fa00:37::,2401:fa00:3f:ffff:ffff:ffff:ffff:ffff,PH
+2401:fa00:37::,2401:fa00:3a:ffff:ffff:ffff:ffff:ffff,US
+2401:fa00:3b::,2401:fa00:3b:ffff:ffff:ffff:ffff:ffff,TW
+2401:fa00:3c::,2401:fa00:3f:ffff:ffff:ffff:ffff:ffff,US
2401:fa00:40::,2401:fa00:5f:ffff:ffff:ffff:ffff:ffff,CN
-2401:fa00:60::,2401:fa00:60:ffff:ffff:ffff:ffff:ffff,US
-2401:fa00:61::,2401:fa00:61:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:60::,2401:fa00:61:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:62::,2401:fa00:63:ffff:ffff:ffff:ffff:ffff,PH
2401:fa00:64::,2401:fa00:66:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:67::,2401:fa00:67:ffff:ffff:ffff:ffff:ffff,PH
2401:fa00:68::,2401:fa00:ef:ffff:ffff:ffff:ffff:ffff,IN
-2401:fa00:f0::,2401:fa00:f0:ffff:ffff:ffff:ffff:ffff,TW
-2401:fa00:f1::,2401:fa00:f7:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:f0::,2401:fa00:f1:ffff:ffff:ffff:ffff:ffff,TW
+2401:fa00:f2::,2401:fa00:f2:ffff:ffff:ffff:ffff:ffff,MY
+2401:fa00:f3::,2401:fa00:f7:ffff:ffff:ffff:ffff:ffff,US
2401:fa00:f8::,2401:fa00:fb:ffff:ffff:ffff:ffff:ffff,PH
2401:fa00:fc::,2401:fa00:fe:ffff:ffff:ffff:ffff:ffff,TW
2401:fa00:ff::,2401:fa00:ff:ffff:ffff:ffff:ffff:ffff,AU
-2401:fa00:100::,2401:fa00:400:dbff:ffff:ffff:ffff:ffff,IN
-2401:fa00:400:dc00::,2401:fa00:400:ddff:ffff:ffff:ffff:ffff,TW
-2401:fa00:400:de00::,2401:fa00:400:e1ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:100::,2401:fa00:3ff:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400::,2401:fa00:400:2fff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:3000::,2401:fa00:400:3fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:4000::,2401:fa00:400:41ff:ffff:ffff:ffff:ffff,AU
+2401:fa00:400:4200::,2401:fa00:400:45ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:4600::,2401:fa00:400:47ff:ffff:ffff:ffff:ffff,CA
+2401:fa00:400:4800::,2401:fa00:400:49ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:4a00::,2401:fa00:400:4bff:ffff:ffff:ffff:ffff,KR
+2401:fa00:400:4c00::,2401:fa00:400:4dff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:4e00::,2401:fa00:400:4fff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:5000::,2401:fa00:400:51ff:ffff:ffff:ffff:ffff,BR
+2401:fa00:400:5200::,2401:fa00:400:55ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:5600::,2401:fa00:400:57ff:ffff:ffff:ffff:ffff,TH
+2401:fa00:400:5800::,2401:fa00:400:59ff:ffff:ffff:ffff:ffff,NL
+2401:fa00:400:5a00::,2401:fa00:400:5bff:ffff:ffff:ffff:ffff,TR
+2401:fa00:400:5c00::,2401:fa00:400:5dff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:5e00::,2401:fa00:400:5fff:ffff:ffff:ffff:ffff,KE
+2401:fa00:400:6000::,2401:fa00:400:61ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:6200::,2401:fa00:400:63ff:ffff:ffff:ffff:ffff,MY
+2401:fa00:400:6400::,2401:fa00:400:65ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:6600::,2401:fa00:400:67ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:6800::,2401:fa00:400:69ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:6a00::,2401:fa00:400:6bff:ffff:ffff:ffff:ffff,IT
+2401:fa00:400:6c00::,2401:fa00:400:6dff:ffff:ffff:ffff:ffff,BR
+2401:fa00:400:6e00::,2401:fa00:400:6fff:ffff:ffff:ffff:ffff,BE
+2401:fa00:400:7000::,2401:fa00:400:71ff:ffff:ffff:ffff:ffff,DE
+2401:fa00:400:7200::,2401:fa00:400:73ff:ffff:ffff:ffff:ffff,RU
+2401:fa00:400:7400::,2401:fa00:400:75ff:ffff:ffff:ffff:ffff,AR
+2401:fa00:400:7600::,2401:fa00:400:77ff:ffff:ffff:ffff:ffff,ES
+2401:fa00:400:7800::,2401:fa00:400:79ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:7a00::,2401:fa00:400:7bff:ffff:ffff:ffff:ffff,DK
+2401:fa00:400:7c00::,2401:fa00:400:7dff:ffff:ffff:ffff:ffff,FR
+2401:fa00:400:7e00::,2401:fa00:400:7fff:ffff:ffff:ffff:ffff,SE
+2401:fa00:400:8000::,2401:fa00:400:81ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:8200::,2401:fa00:400:85ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:8600::,2401:fa00:400:87ff:ffff:ffff:ffff:ffff,CA
+2401:fa00:400:8800::,2401:fa00:400:89ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:8a00::,2401:fa00:400:8bff:ffff:ffff:ffff:ffff,GB
+2401:fa00:400:8c00::,2401:fa00:400:8dff:ffff:ffff:ffff:ffff,CA
+2401:fa00:400:8e00::,2401:fa00:400:8fff:ffff:ffff:ffff:ffff,GB
+2401:fa00:400:9000::,2401:fa00:400:91ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:9200::,2401:fa00:400:93ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:400:9400::,2401:fa00:400:95ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:9600::,2401:fa00:400:9bff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:9c00::,2401:fa00:400:a3ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:a400::,2401:fa00:400:a5ff:ffff:ffff:ffff:ffff,PL
+2401:fa00:400:a600::,2401:fa00:400:a7ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:a800::,2401:fa00:400:a9ff:ffff:ffff:ffff:ffff,DE
+2401:fa00:400:aa00::,2401:fa00:400:abff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:ac00::,2401:fa00:400:adff:ffff:ffff:ffff:ffff,HK
+2401:fa00:400:ae00::,2401:fa00:400:afff:ffff:ffff:ffff:ffff,TW
+2401:fa00:400:b000::,2401:fa00:400:b1ff:ffff:ffff:ffff:ffff,JP
+2401:fa00:400:b200::,2401:fa00:400:b3ff:ffff:ffff:ffff:ffff,CO
+2401:fa00:400:b400::,2401:fa00:400:b5ff:ffff:ffff:ffff:ffff,JP
+2401:fa00:400:b600::,2401:fa00:400:b7ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:b800::,2401:fa00:400:b9ff:ffff:ffff:ffff:ffff,NG
+2401:fa00:400:ba00::,2401:fa00:400:c3ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:c400::,2401:fa00:400:c5ff:ffff:ffff:ffff:ffff,IE
+2401:fa00:400:c600::,2401:fa00:400:c7ff:ffff:ffff:ffff:ffff,CH
+2401:fa00:400:c800::,2401:fa00:400:cbff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:cc00::,2401:fa00:400:cdff:ffff:ffff:ffff:ffff,GB
+2401:fa00:400:ce00::,2401:fa00:400:d1ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:d200::,2401:fa00:400:d3ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:d400::,2401:fa00:400:d5ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:d600::,2401:fa00:400:d7ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:d800::,2401:fa00:400:d9ff:ffff:ffff:ffff:ffff,NL
+2401:fa00:400:da00::,2401:fa00:400:dbff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:dc00::,2401:fa00:400:dfff:ffff:ffff:ffff:ffff,TW
+2401:fa00:400:e000::,2401:fa00:400:e1ff:ffff:ffff:ffff:ffff,US
2401:fa00:400:e200::,2401:fa00:400:e3ff:ffff:ffff:ffff:ffff,TW
-2401:fa00:400:e400::,2401:fa00:400:f1ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:e400::,2401:fa00:400:e7ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:e800::,2401:fa00:400:e9ff:ffff:ffff:ffff:ffff,IE
+2401:fa00:400:ea00::,2401:fa00:400:ebff:ffff:ffff:ffff:ffff,PL
+2401:fa00:400:ec00::,2401:fa00:400:edff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:ee00::,2401:fa00:400:efff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:f000::,2401:fa00:400:f1ff:ffff:ffff:ffff:ffff,IT
2401:fa00:400:f200::,2401:fa00:400:f3ff:ffff:ffff:ffff:ffff,TW
-2401:fa00:400:f400::,2401:fa00:480:8fff:ffff:ffff:ffff:ffff,IN
-2401:fa00:480:9000::,2401:fa00:480:91ff:ffff:ffff:ffff:ffff,TW
-2401:fa00:480:9200::,2401:fa00:480:93ff:ffff:ffff:ffff:ffff,IN
-2401:fa00:480:9400::,2401:fa00:480:95ff:ffff:ffff:ffff:ffff,TW
-2401:fa00:480:9600::,2401:fa00:480:bfff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:f400::,2401:fa00:400:f5ff:ffff:ffff:ffff:ffff,IL
+2401:fa00:400:f600::,2401:fa00:400:f7ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:f800::,2401:fa00:400:f9ff:ffff:ffff:ffff:ffff,AU
+2401:fa00:400:fa00::,2401:fa00:400:fbff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:fc00::,2401:fa00:400:fdff:ffff:ffff:ffff:ffff,MY
+2401:fa00:400:fe00::,2401:fa00:400:ffff:ffff:ffff:ffff:ffff,US
+2401:fa00:401::,2401:fa00:401:1ff:ffff:ffff:ffff:ffff,CH
+2401:fa00:401:200::,2401:fa00:401:3ff:ffff:ffff:ffff:ffff,TW
+2401:fa00:401:400::,2401:fa00:401:7ff:ffff:ffff:ffff:ffff,US
+2401:fa00:401:800::,2401:fa00:401:9ff:ffff:ffff:ffff:ffff,PT
+2401:fa00:401:a00::,2401:fa00:401:bff:ffff:ffff:ffff:ffff,IN
+2401:fa00:401:c00::,2401:fa00:401:dff:ffff:ffff:ffff:ffff,US
+2401:fa00:401:e00::,2401:fa00:401:fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:401:1000::,2401:fa00:401:11ff:ffff:ffff:ffff:ffff,PL
+2401:fa00:401:1200::,2401:fa00:401:13ff:ffff:ffff:ffff:ffff,IE
+2401:fa00:401:1400::,2401:fa00:401:15ff:ffff:ffff:ffff:ffff,US
+2401:fa00:401:1600::,2401:fa00:403:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:404::,2401:fa00:404:1ff:ffff:ffff:ffff:ffff,IL
+2401:fa00:404:200::,2401:fa00:404:5ff:ffff:ffff:ffff:ffff,AU
+2401:fa00:404:600::,2401:fa00:407:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:408::,2401:fa00:408:1ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:408:200::,2401:fa00:41f:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:420::,2401:fa00:420:1ff:ffff:ffff:ffff:ffff,DE
+2401:fa00:420:200::,2401:fa00:420:3ff:ffff:ffff:ffff:ffff,AE
+2401:fa00:420:400::,2401:fa00:420:5ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:420:600::,2401:fa00:420:7ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:420:800::,2401:fa00:420:fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:420:1000::,2401:fa00:420:11ff:ffff:ffff:ffff:ffff,GR
+2401:fa00:420:1200::,2401:fa00:420:13ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:420:1400::,2401:fa00:420:15ff:ffff:ffff:ffff:ffff,US
+2401:fa00:420:1600::,2401:fa00:47f:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480::,2401:fa00:480:9ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:a00::,2401:fa00:480:dff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:e00::,2401:fa00:480:fff:ffff:ffff:ffff:ffff,TW
+2401:fa00:480:1000::,2401:fa00:480:11ff:ffff:ffff:ffff:ffff,JP
+2401:fa00:480:1200::,2401:fa00:480:13ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:1400::,2401:fa00:480:14ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:1500::,2401:fa00:480:15ff:ffff:ffff:ffff:ffff,BE
+2401:fa00:480:1600::,2401:fa00:480:1dff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:1e00::,2401:fa00:480:1fff:ffff:ffff:ffff:ffff,JP
+2401:fa00:480:2000::,2401:fa00:480:25ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:2600::,2401:fa00:480:27ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:2800::,2401:fa00:480:29ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:2a00::,2401:fa00:480:2fff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:3000::,2401:fa00:480:31ff:ffff:ffff:ffff:ffff,HK
+2401:fa00:480:3200::,2401:fa00:480:37ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:3800::,2401:fa00:480:39ff:ffff:ffff:ffff:ffff,BR
+2401:fa00:480:3a00::,2401:fa00:480:3bff:ffff:ffff:ffff:ffff,BE
+2401:fa00:480:3c00::,2401:fa00:480:3dff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:3e00::,2401:fa00:480:3fff:ffff:ffff:ffff:ffff,AU
+2401:fa00:480:4000::,2401:fa00:480:41ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:4200::,2401:fa00:480:43ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:4400::,2401:fa00:480:45ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:480:4600::,2401:fa00:480:47ff:ffff:ffff:ffff:ffff,CH
+2401:fa00:480:4800::,2401:fa00:480:49ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:4a00::,2401:fa00:480:4bff:ffff:ffff:ffff:ffff,GB
+2401:fa00:480:4c00::,2401:fa00:480:4dff:ffff:ffff:ffff:ffff,SE
+2401:fa00:480:4e00::,2401:fa00:480:4fff:ffff:ffff:ffff:ffff,AU
+2401:fa00:480:5000::,2401:fa00:480:51ff:ffff:ffff:ffff:ffff,FR
+2401:fa00:480:5200::,2401:fa00:480:53ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:5400::,2401:fa00:480:55ff:ffff:ffff:ffff:ffff,DE
+2401:fa00:480:5600::,2401:fa00:480:57ff:ffff:ffff:ffff:ffff,IE
+2401:fa00:480:5800::,2401:fa00:480:5bff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:5c00::,2401:fa00:480:5dff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:5e00::,2401:fa00:480:5fff:ffff:ffff:ffff:ffff,GB
+2401:fa00:480:6000::,2401:fa00:480:63ff:ffff:ffff:ffff:ffff,CA
+2401:fa00:480:6400::,2401:fa00:480:6bff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:6c00::,2401:fa00:480:6fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:7000::,2401:fa00:480:71ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:7200::,2401:fa00:480:73ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:7400::,2401:fa00:480:75ff:ffff:ffff:ffff:ffff,NZ
+2401:fa00:480:7600::,2401:fa00:480:77ff:ffff:ffff:ffff:ffff,CN
+2401:fa00:480:7800::,2401:fa00:480:7dff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:7e00::,2401:fa00:480:7fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:8000::,2401:fa00:480:81ff:ffff:ffff:ffff:ffff,DK
+2401:fa00:480:8200::,2401:fa00:480:87ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:8800::,2401:fa00:480:89ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:8a00::,2401:fa00:480:8dff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:8e00::,2401:fa00:480:8fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:9000::,2401:fa00:480:95ff:ffff:ffff:ffff:ffff,TW
+2401:fa00:480:9600::,2401:fa00:480:97ff:ffff:ffff:ffff:ffff,KR
+2401:fa00:480:9800::,2401:fa00:480:99ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:9a00::,2401:fa00:480:9bff:ffff:ffff:ffff:ffff,TW
+2401:fa00:480:9c00::,2401:fa00:480:9fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:a000::,2401:fa00:480:a1ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:480:a200::,2401:fa00:480:a3ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:a400::,2401:fa00:480:a5ff:ffff:ffff:ffff:ffff,ES
+2401:fa00:480:a600::,2401:fa00:480:a7ff:ffff:ffff:ffff:ffff,CA
+2401:fa00:480:a800::,2401:fa00:480:a9ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:aa00::,2401:fa00:480:abff:ffff:ffff:ffff:ffff,IE
+2401:fa00:480:ac00::,2401:fa00:480:adff:ffff:ffff:ffff:ffff,AU
+2401:fa00:480:ae00::,2401:fa00:480:afff:ffff:ffff:ffff:ffff,CH
+2401:fa00:480:b000::,2401:fa00:480:b1ff:ffff:ffff:ffff:ffff,TW
+2401:fa00:480:b200::,2401:fa00:480:b3ff:ffff:ffff:ffff:ffff,PL
+2401:fa00:480:b400::,2401:fa00:480:b5ff:ffff:ffff:ffff:ffff,BR
+2401:fa00:480:b600::,2401:fa00:480:b7ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:b800::,2401:fa00:480:b9ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:480:ba00::,2401:fa00:480:bbff:ffff:ffff:ffff:ffff,PL
+2401:fa00:480:bc00::,2401:fa00:480:bdff:ffff:ffff:ffff:ffff,DE
+2401:fa00:480:be00::,2401:fa00:480:bfff:ffff:ffff:ffff:ffff,US
2401:fa00:480:c000::,2401:fa00:480:c1ff:ffff:ffff:ffff:ffff,TW
-2401:fa00:480:c200::,2401:fa00:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:c200::,2401:fa00:480:c3ff:ffff:ffff:ffff:ffff,AU
+2401:fa00:480:c400::,2401:fa00:480:c5ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:c600::,2401:fa00:480:c7ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:c800::,2401:fa00:480:cbff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:cc00::,2401:fa00:480:cdff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:ce00::,2401:fa00:480:cfff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:d000::,2401:fa00:480:d1ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:d200::,2401:fa00:480:d3ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:d400::,2401:fa00:480:d5ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:d600::,2401:fa00:480:d7ff:ffff:ffff:ffff:ffff,MY
+2401:fa00:480:d800::,2401:fa00:480:d9ff:ffff:ffff:ffff:ffff,FR
+2401:fa00:480:da00::,2401:fa00:493:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:494::,2401:fa00:494:2ff:ffff:ffff:ffff:ffff,US
+2401:fa00:494:300::,2401:fa00:494:4ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:494:500::,2401:fa00:494:6ff:ffff:ffff:ffff:ffff,US
+2401:fa00:494:700::,2401:fa00:49b:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:49c::,2401:fa00:49c:1ff:ffff:ffff:ffff:ffff,US
+2401:fa00:49c:200::,2401:fa00:49f:feff:ffff:ffff:ffff:ffff,IN
+2401:fa00:49f:ff00::,2401:fa00:4a0:ffff:ffff:ffff:ffff:ffff,US
+2401:fa00:4a1::,2401:fa00:4a1:3ff:ffff:ffff:ffff:ffff,CH
+2401:fa00:4a1:400::,2401:fa00:ffe0:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:ffe1::,2401:fa00:ffe1:1ff:ffff:ffff:ffff:ffff,US
+2401:fa00:ffe1:200::,2401:fa00:ffe1:2ff:ffff:ffff:ffff:ffff,DE
+2401:fa00:ffe1:300::,2401:fa00:ffe1:3ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:ffe1:400::,2401:fa00:ffe1:4ff:ffff:ffff:ffff:ffff,TW
+2401:fa00:ffe1:500::,2401:fa00:ffe1:5ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:ffe1:600::,2401:fa00:ffe1:6ff:ffff:ffff:ffff:ffff,US
+2401:fa00:ffe1:700::,2401:fa00:ffe1:7ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:ffe1:800::,2401:fa00:ffe1:8ff:ffff:ffff:ffff:ffff,US
+2401:fa00:ffe1:900::,2401:fa00:ffff:ffff:ffff:ffff:ffff:ffff,IN
2401:fa40::,2401:fa40:ffff:ffff:ffff:ffff:ffff:ffff,IN
2401:fa80::,2401:fa80:ffff:ffff:ffff:ffff:ffff:ffff,CN
2401:fac0::,2401:fac0:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -7730,7 +8160,6 @@
2402:9b00::,2402:9b00:ffff:ffff:ffff:ffff:ffff:ffff,TH
2402:9b40::,2402:9b40:ffff:ffff:ffff:ffff:ffff:ffff,HK
2402:9b80::,2402:9b80:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2402:9bc0::,2402:9bc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:9c00::,2402:9c00:ffff:ffff:ffff:ffff:ffff:ffff,TW
2402:9c40::,2402:9c40:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:9c80::,2402:9c80:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -7743,7 +8172,7 @@
2402:9e80::,2402:9e80:5:ffff:ffff:ffff:ffff:ffff,HK
2402:9e80:6::,2402:9e80:6:ffff:ffff:ffff:ffff:ffff,NZ
2402:9e80:7::,2402:9e80:13:ffff:ffff:ffff:ffff:ffff,HK
-2402:9e80:14::,2402:9e80:14:ffff:ffff:ffff:ffff:ffff,VN
+2402:9e80:14::,2402:9e80:14:ffff:ffff:ffff:ffff:ffff,AU
2402:9e80:15::,2402:9e80:15:ffff:ffff:ffff:ffff:ffff,US
2402:9e80:16::,2402:9e80:18:ffff:ffff:ffff:ffff:ffff,HK
2402:9e80:19::,2402:9e80:19:ffff:ffff:ffff:ffff:ffff,KR
@@ -7751,7 +8180,9 @@
2402:9e80:24::,2402:9e80:24:ffff:ffff:ffff:ffff:ffff,AU
2402:9e80:25::,2402:9e80:25:ffff:ffff:ffff:ffff:ffff,HK
2402:9e80:26::,2402:9e80:26:ffff:ffff:ffff:ffff:ffff,JP
-2402:9e80:27::,2402:9e80:dfff:ffff:ffff:ffff:ffff:ffff,HK
+2402:9e80:27::,2402:9e80:27:ffff:ffff:ffff:ffff:ffff,HK
+2402:9e80:28::,2402:9e80:28:ffff:ffff:ffff:ffff:ffff,US
+2402:9e80:29::,2402:9e80:dfff:ffff:ffff:ffff:ffff:ffff,HK
2402:9e80:e000::,2402:9e80:ffff:ffff:ffff:ffff:ffff:ffff,US
2402:9ec0::,2402:9ec0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2402:9f00::,2402:9f00:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -8288,7 +8719,7 @@
2403:2400::,2403:2400:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:2440::,2403:2440:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:24c0::,2403:24c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2403:2500::,2403:2500:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:2500::,2403:2500:ffff:ffff:ffff:ffff:ffff:ffff,US
2403:2540::,2403:2540:ffff:ffff:ffff:ffff:ffff:ffff,MY
2403:2580::,2403:2580:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:25c0::,2403:25c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -8466,7 +8897,6 @@
2403:4d40::,2403:4d40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:4d80::,2403:4d80:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:4dc0::,2403:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,AU
-2403:4e00::,2403:4e00:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:4e40::,2403:4e40:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:4e80::,2403:4e80:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:4ec0::,2403:4ec0:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -8888,142 +9318,287 @@
2403:b780::,2403:b780:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:b7c0::,2403:b7c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:b800::,2403:b800:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:b840::,2403:b840:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:b880::,2403:b880:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:b8c0::,2403:b8c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:b900::,2403:b900:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:b940::,2403:b940:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:b980::,2403:b980:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:b9c0::,2403:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:ba00::,2403:ba00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:ba40::,2403:ba40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:ba80::,2403:ba80:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:bac0::,2403:bac0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:bb00::,2403:bb00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:bb40::,2403:bb40:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:bbc0::,2403:bbc0:ffff:ffff:ffff:ffff:ffff:ffff,KH
2403:bc00::,2403:bc00:ffff:ffff:ffff:ffff:ffff:ffff,MY
+2403:bc40::,2403:bc40:ffff:ffff:ffff:ffff:ffff:ffff,MY
2403:bc80::,2403:bc80:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:bcc0::,2403:bcc0:ffff:ffff:ffff:ffff:ffff:ffff,TR
2403:bd00::,2403:bd00:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:bd40::,2403:bd40:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:bd80::,2403:bd80:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2403:bdc0::,2403:bdc0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:be00::,2403:be00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:be40::,2403:be40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:be80::,2403:be80:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:bec0::,2403:bec0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:bf00::,2403:bf00:ffff:ffff:ffff:ffff:ffff:ffff,TH
+2403:bf40::,2403:bf40:ffff:ffff:ffff:ffff:ffff:ffff,VN
2403:bf80::,2403:bf80:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:bfc0::,2403:bfc0:ffff:ffff:ffff:ffff:ffff:ffff,VN
2403:c000::,2403:c000:ffff:ffff:ffff:ffff:ffff:ffff,TH
+2403:c040::,2403:c040:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:c080::,2403:c080:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:c0c0::,2403:c0c0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:c100::,2403:c100:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:c140::,2403:c140:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:c180::,2403:c180:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:c1c0::,2403:c1c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:c200::,2403:c200:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2403:c240::,2403:c240:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:c280::,2403:c280:ffff:ffff:ffff:ffff:ffff:ffff,MM
+2403:c2c0::,2403:c2c0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:c300::,2403:c300:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:c340::,2403:c340:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:c380::,2403:c380:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:c3c0::,2403:c3c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:c400::,2403:c400:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:c440::,2403:c440:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:c480::,2403:c480:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:c4c0::,2403:c4c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:c500::,2403:c500:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:c540::,2403:c540:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:c580::,2403:c580:ffff:ffff:ffff:ffff:ffff:ffff,MY
+2403:c5c0::,2403:c5c0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2403:c600::,2403:c600:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:c640::,2403:c640:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2403:c680::,2403:c680:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:c6c0::,2403:c6c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:c740::,2403:c740:ffff:ffff:ffff:ffff:ffff:ffff,TH
2403:c780::,2403:c780:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2403:c7c0::,2403:c7c0:ffff:ffff:ffff:ffff:ffff:ffff,SG
2403:c800::,2403:c800:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:c840::,2403:c840:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:c880::,2403:c881:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:c8c0::,2403:c8c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:c900::,2403:c900:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2403:c940::,2403:c940:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:c980::,2403:c980:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:c9c0::,2403:c9c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:ca00::,2403:ca00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:ca40::,2403:ca40:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:cac0::,2403:cac0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:cb00::,2403:cb00:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:cb40::,2403:cb40:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:cb80::,2403:cb80:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:cbc0::,2403:cbc0:ffff:ffff:ffff:ffff:ffff:ffff,MY
2403:cc00::,2403:cc00:9fff:ffff:ffff:ffff:ffff:ffff,SG
2403:cc00:a000::,2403:cc00:afff:ffff:ffff:ffff:ffff:ffff,NZ
2403:cc00:b000::,2403:cc00:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:cc40::,2403:cc40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:cc80::,2403:cc80:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:ccc0::,2403:ccc0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:cd00::,2403:cd00:ffff:ffff:ffff:ffff:ffff:ffff,PH
+2403:cd40::,2403:cd40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:cd80::,2403:cd80:ffff:ffff:ffff:ffff:ffff:ffff,PH
+2403:cdc0::,2403:cdc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:ce00::,2403:ce00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:ce40::,2403:ce40:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:cec0::,2403:cec0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:cf00::,2403:cf00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:cf40::,2403:cf40:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:cf80::,2403:cf80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:cfc0::,2403:cfc0:ffff:ffff:ffff:ffff:ffff:ffff,SG
2403:d000::,2403:d000:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2403:d040::,2403:d040:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d080::,2403:d080:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d0c0::,2403:d0c0:ffff:ffff:ffff:ffff:ffff:ffff,TH
2403:d100::,2403:d100:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:d140::,2403:d140:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2403:d180::,2403:d180:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d1c0::,2403:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:d200::,2403:d200:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2403:d240::,2403:d240:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:d280::,2403:d280:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d2c0::,2403:d2c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:d300::,2403:d300:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:d340::,2403:d340:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d380::,2403:d380:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d3c0::,2403:d3c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:d400::,2403:d400:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d440::,2403:d440:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:d480::,2403:d480:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d4c0::,2403:d4c0:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:d500::,2403:d500:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:d540::,2403:d540:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d580::,2403:d580:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d5c0::,2403:d5c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d600::,2403:d600:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:d640::,2403:d640:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:d680::,2403:d680:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d6c0::,2403:d6c0:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2403:d700::,2403:d700:ffff:ffff:ffff:ffff:ffff:ffff,MN
+2403:d740::,2403:d740:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d780::,2403:d780:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d7c0::,2403:d7c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d840::,2403:d840:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d880::,2403:d880:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d8c0::,2403:d8c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:d900::,2403:d900:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:d940::,2403:d940:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d980::,2403:d980:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d9c0::,2403:d9c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:da00::,2403:da00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:da40::,2403:da40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:da80::,2403:da80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:dac0::,2403:dac0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:db00::,2403:db00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:db40::,2403:db40:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:db80::,2403:db80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:dbc0::,2403:dbc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:dc00::,2403:dc00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:dc40::,2403:dc40:ffff:ffff:ffff:ffff:ffff:ffff,SG
2403:dc80::,2403:dc80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:dcc0::,2403:dcc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:dd00::,2403:dd00:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:dd40::,2403:dd40:ffff:ffff:ffff:ffff:ffff:ffff,JP
2403:dd80::,2403:dd80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:ddc0::,2403:ddc0:ffff:ffff:ffff:ffff:ffff:ffff,NP
2403:de00::,2403:de00:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2403:de40::,2403:de40:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:de80::,2403:de80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:dec0::,2403:dec0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:df00::,2403:df00:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:df40::,2403:df40:ffff:ffff:ffff:ffff:ffff:ffff,US
2403:df80::,2403:df80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:dfc0::,2403:dfc0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:e000::,2403:e000:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:e040::,2403:e040:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2403:e080::,2403:e080:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e0c0::,2403:e0c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:e100::,2403:e100:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:e140::,2403:e140:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:e180::,2403:e180:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e1c0::,2403:e1c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:e200::,2403:e200:ffff:ffff:ffff:ffff:ffff:ffff,VN
+2403:e240::,2403:e240:ffff:ffff:ffff:ffff:ffff:ffff,TH
2403:e280::,2403:e280:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e2c0::,2403:e2c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:e300::,2403:e300:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e340::,2403:e340:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:e380::,2403:e380:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:e3c0::,2403:e3c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:e400::,2403:e400:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:e440::,2403:e440:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:e480::,2403:e480:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e4c0::,2403:e4c0:ffff:ffff:ffff:ffff:ffff:ffff,JP
2403:e500::,2403:e500:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e540::,2403:e540:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:e580::,2403:e580:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e5c0::,2403:e5c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:e600::,2403:e600:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:e640::,2403:e640:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:e680::,2403:e680:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e6c0::,2403:e6c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:e700::,2403:e700:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e740::,2403:e740:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:e780::,2403:e780:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e7c0::,2403:e7c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:e800::,2403:e800:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:e840::,2403:e840:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:e880::,2403:e880:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e8c0::,2403:e8c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:e900::,2403:e900:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:e940::,2403:e940:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:e980::,2403:e980:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e9c0::,2403:e9c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:ea00::,2403:ea00:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:ea40::,2403:ea40:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:ea80::,2403:ea80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:eac0::,2403:eac0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:eb00::,2403:eb00:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:eb40::,2403:eb40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:eb80::,2403:eb80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:ebc0::,2403:ebc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:ec00::,2403:ec00:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:ec40::,2403:ec40:ffff:ffff:ffff:ffff:ffff:ffff,SG
2403:ec80::,2403:ec80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:ecc0::,2403:ecc0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:ed00::,2403:ed00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:ed40::,2403:ed40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:ed80::,2403:ed80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:edc0::,2403:edc0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:ee00::,2403:ee00:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:ee40::,2403:ee40:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:ee80::,2403:ee80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:eec0::,2403:eec0:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:ef40::,2403:ef40:ffff:ffff:ffff:ffff:ffff:ffff,MY
2403:ef80::,2403:ef80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:efc0::,2403:efc0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f000::,2403:f000:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:f040::,2403:f040:ffff:ffff:ffff:ffff:ffff:ffff,TH
2403:f080::,2403:f080:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f0c0::,2403:f0c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f100::,2403:f100:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f140::,2403:f140:ffff:ffff:ffff:ffff:ffff:ffff,AF
2403:f180::,2403:f180:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f1c0::,2403:f1c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:f200::,2403:f200:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2403:f240::,2403:f240:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:f280::,2403:f280:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f2c0::,2403:f2c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f300::,2403:f300:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f340::,2403:f340:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f380::,2403:f380:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f3c0::,2403:f3c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:f440::,2403:f440:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:f480::,2403:f481:ffff:ffff:ffff:ffff:ffff:ffff,US
+2403:f4c0::,2403:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:f500::,2403:f500:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:f540::,2403:f540:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f580::,2403:f580:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f5c0::,2403:f5c0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:f600::,2403:f600:ffff:ffff:ffff:ffff:ffff:ffff,NR
+2403:f640::,2403:f640:ffff:ffff:ffff:ffff:ffff:ffff,PH
2403:f680::,2403:f680:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:f6c0::,2403:f6c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:f700::,2403:f700:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2403:f740::,2403:f740:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:f780::,2403:f780:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:f7c0::,2403:f7c0:ffff:ffff:ffff:ffff:ffff:ffff,PK
+2403:f840::,2403:f840:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:f880::,2403:f880:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2403:f8c0::,2403:f8c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f940::,2403:f940:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f980::,2403:f980:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f9c0::,2403:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:fa00::,2403:fa00:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:fa40::,2403:fa40:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2403:fac0::,2403:fac0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:fb00::,2403:fb00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:fb40::,2403:fb40:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:fb80::,2403:fb80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:fbc0::,2403:fbc0:ffff:ffff:ffff:ffff:ffff:ffff,VU
2403:fc00::,2403:fc00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:fc40::,2403:fc40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:fc80::,2403:fc80:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:fcc0::,2403:fcc0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:fd00::,2403:fd00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:fd40::,2403:fd40:ffff:ffff:ffff:ffff:ffff:ffff,MY
2403:fd80::,2403:fd80:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:fdc0::,2403:fdc0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:fe00::,2403:fe00:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:fe40::,2403:fe40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:fe80::,2403:fe80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:fec0::,2403:fec0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:ff00::,2403:ff00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:ff40::,2403:ff40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:ff80::,2403:ff80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:ffc0::,2403:ffc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2404::,2404:3f:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2404:40::,2404:40:ffff:ffff:ffff:ffff:ffff:ffff,ID
2404:80::,2404:8f:ffff:ffff:ffff:ffff:ffff:ffff,TW
2404:a0::,2404:a0:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2404:a8::,2404:a8:ffff:ffff:ffff:ffff:ffff:ffff,MY
@@ -9059,26 +9634,48 @@
2404:1a8::,2404:1a8:ffff:ffff:ffff:ffff:ffff:ffff,JP
2404:1b0::,2404:1b0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2404:1b8::,2404:1b8:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2404:1c0::,2404:1c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:200::,2404:200:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2404:240::,2404:240:ffff:ffff:ffff:ffff:ffff:ffff,CN
2404:280::,2404:280:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2404:2c0::,2404:2c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:300::,2404:300:ffff:ffff:ffff:ffff:ffff:ffff,KH
+2404:340::,2404:340:ffff:ffff:ffff:ffff:ffff:ffff,ID
2404:380::,2404:380:ffff:ffff:ffff:ffff:ffff:ffff,GU
+2404:3c0::,2404:3c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:400::,2404:400:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2404:440::,2404:440:ffff:ffff:ffff:ffff:ffff:ffff,CN
2404:480::,2404:480:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2404:4c0::,2404:4c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:500::,2404:500:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2404:540::,2404:540:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:580::,2404:580:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2404:5c0::,2404:5c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2404:600::,2404:600:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2404:640::,2404:640:ffff:ffff:ffff:ffff:ffff:ffff,IN
2404:680::,2404:680:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2404:6c0::,2404:6c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:700::,2404:700:ffff:ffff:ffff:ffff:ffff:ffff,KH
+2404:740::,2404:740:ffff:ffff:ffff:ffff:ffff:ffff,IN
2404:780::,2404:780:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2404:7c0::,2404:7c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2404:800::,2404:800:ffff:ffff:ffff:ffff:ffff:ffff,KR
+2404:840::,2404:840:ffff:ffff:ffff:ffff:ffff:ffff,TW
2404:880::,2404:880:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2404:8c0::,2404:8c0:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2404:940::,2404:940:ffff:ffff:ffff:ffff:ffff:ffff,HK
2404:980::,2404:980:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2404:9c0::,2404:9c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:a00::,2404:a00:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2404:a40::,2404:a40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:a80::,2404:a80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2404:ac0::,2404:ac0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2404:b00::,2404:b00:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2404:b40::,2404:b40:ffff:ffff:ffff:ffff:ffff:ffff,HK
2404:b80::,2404:b80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2404:bc0::,2404:bc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2404:c00::,2404:c00:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2404:c40::,2404:c40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2404:c80::,2404:c80:ffff:ffff:ffff:ffff:ffff:ffff,AU
2404:d00::,2404:d00:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:d80::,2404:d80:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -9534,10 +10131,15 @@
2404:f801:30::,2404:f801:30::,AU
2404:f801:30::1,2404:f801:7fff:ffff:ffff:ffff:ffff:ffff,SG
2404:f801:8000::,2404:f801:803f:ffff:ffff:ffff:ffff:ffff,IN
-2404:f801:8040::,2404:f801:8057:ffff:ffff:ffff:ffff:ffff,JP
+2404:f801:8040::,2404:f801:804f:ffff:ffff:ffff:ffff:ffff,SG
+2404:f801:8050::,2404:f801:8050:ffff:ffff:ffff:ffff:ffff,JP
+2404:f801:8051::,2404:f801:8057:ffff:ffff:ffff:ffff:ffff,SG
2404:f801:8058::,2404:f801:8058:ffff:ffff:ffff:ffff:ffff,IN
-2404:f801:8059::,2404:f801:807f:ffff:ffff:ffff:ffff:ffff,JP
-2404:f801:8080::,2404:f801:e7ff:ffff:ffff:ffff:ffff:ffff,SG
+2404:f801:8059::,2404:f801:8fff:ffff:ffff:ffff:ffff:ffff,SG
+2404:f801:9000::,2404:f801:9000:17:ffff:ffff:ffff:ffff,CN
+2404:f801:9000:18::,2404:f801:9000:1f:ffff:ffff:ffff:ffff,SG
+2404:f801:9000:20::,2404:f801:93ff:ffff:ffff:ffff:ffff:ffff,CN
+2404:f801:9400::,2404:f801:e7ff:ffff:ffff:ffff:ffff:ffff,SG
2404:f801:e800::,2404:f801:ebff:ffff:ffff:ffff:ffff:ffff,AU
2404:f801:ec00::,2404:f801:ffff:ffff:ffff:ffff:ffff:ffff,SG
2404:f880::,2404:f880:ffff:ffff:ffff:ffff:ffff:ffff,HK
@@ -9973,7 +10575,6 @@
2405:ba00:8800::,2405:ba00:ffff:ffff:ffff:ffff:ffff:ffff,IN
2405:ba80::,2405:ba80:ffff:ffff:ffff:ffff:ffff:ffff,HK
2405:bb00::,2405:bb00:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2405:bb80::,2405:bb80:ffff:ffff:ffff:ffff:ffff:ffff,CN
2405:bc00::,2405:bc00:ffff:ffff:ffff:ffff:ffff:ffff,AU
2405:bc80::,2405:bc80:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2405:bd00::,2405:bd00:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -10681,7 +11282,10 @@
2406:f280::,2406:f280:ffff:ffff:ffff:ffff:ffff:ffff,CN
2406:f300::,2406:f300:ffff:ffff:ffff:ffff:ffff:ffff,CN
2406:f380::,2406:f380:ffff:ffff:ffff:ffff:ffff:ffff,HK
-2406:f400::,2406:f400:12f:ffff:ffff:ffff:ffff:ffff,SG
+2406:f400::,2406:f400:ff:ffff:ffff:ffff:ffff:ffff,SG
+2406:f400:100::,2406:f400:10f:ffff:ffff:ffff:ffff:ffff,HK
+2406:f400:110::,2406:f400:11f:ffff:ffff:ffff:ffff:ffff,SG
+2406:f400:120::,2406:f400:12f:ffff:ffff:ffff:ffff:ffff,ID
2406:f400:130::,2406:f400:13f:ffff:ffff:ffff:ffff:ffff,JP
2406:f400:140::,2406:f400:ffff:ffff:ffff:ffff:ffff:ffff,SG
2406:f480::,2406:f480:ffff:ffff:ffff:ffff:ffff:ffff,PK
@@ -11207,8 +11811,11 @@
240a:c000::,240a:cfff:ffff:ffff:ffff:ffff:ffff:ffff,CN
240b::,240b:3f:ffff:ffff:ffff:ffff:ffff:ffff,JP
240b:240::,240b:27f:ffff:ffff:ffff:ffff:ffff:ffff,JP
+240b:4000::,240b:43ff:ffff:ffff:ffff:ffff:ffff:ffff,SG
240b:8000::,240b:87ff:ffff:ffff:ffff:ffff:ffff:ffff,CN
+240b:c000::,240b:c0ff:ffff:ffff:ffff:ffff:ffff:ffff,JP
240c::,240c:f:ffff:ffff:ffff:ffff:ffff:ffff,CN
+240c:4000::,240c:43ff:ffff:ffff:ffff:ffff:ffff:ffff,CN
240c:8000::,240c:87ff:ffff:ffff:ffff:ffff:ffff:ffff,CN
240d::,240d:1f:ffff:ffff:ffff:ffff:ffff:ffff,JP
240d:8000::,240d:80ff:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -11216,7 +11823,9 @@
240f::,240f:1ff:ffff:ffff:ffff:ffff:ffff:ffff,JP
240f:8000::,240f:80ff:ffff:ffff:ffff:ffff:ffff:ffff,CN
2600::,2600:1:cfff:ffff:ffff:ffff:ffff:ffff,US
-2600:1:d000::,2600:1:d03f:ffff:ffff:ffff:ffff:ffff,PR
+2600:1:d000::,2600:1:d029:ffff:ffff:ffff:ffff:ffff,PR
+2600:1:d02a::,2600:1:d02b:ffff:ffff:ffff:ffff:ffff,US
+2600:1:d02c::,2600:1:d03f:ffff:ffff:ffff:ffff:ffff,PR
2600:1:d040::,2600:7:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:100::,2600:10f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:200::,2600:20f:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -11313,7 +11922,7 @@
2600:3000::,2600:3007:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:3100::,2600:310f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:3200::,2600:320f:ffff:ffff:ffff:ffff:ffff:ffff,US
-2600:3400::,2600:340f:ffff:ffff:ffff:ffff:ffff:ffff,US
+2600:3300::,2600:340f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:3800::,2600:380f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:3c00::,2600:3c03:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:4000::,2600:40ff:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -11344,6 +11953,7 @@
2600:b000::,2600:b00f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:b400::,2600:b40f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:e000::,2600:e00f:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2600:ef00::,2600:ef00::ffff:ffff:ffff:ffff,US
2601::,2601:fff:ffff:ffff:ffff:ffff:ffff:ffff,US
2602::,2602:10f:ffff:ffff:ffff:ffff:ffff:ffff,US
2602:200::,2602:200:ffff:ffff:ffff:ffff:ffff:ffff,CA
@@ -11353,6 +11963,27 @@
2602:233::,2602:233:ffff:ffff:ffff:ffff:ffff:ffff,US
2602:240::,2602:25f:ffff:ffff:ffff:ffff:ffff:ffff,US
2602:300::,2602:3ff:ffff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe21::,2602:fe21:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe22::,2602:fe22:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe23::,2602:fe23:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe24::,2602:fe24:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe25::,2602:fe25:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe26::,2602:fe26:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe27::,2602:fe27:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe28::,2602:fe28:fff:ffff:ffff:ffff:ffff:ffff,CA
+2602:fe29::,2602:fe29:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2a::,2602:fe2a:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2b::,2602:fe2b:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2c::,2602:fe2c:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2d::,2602:fe2d:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2e::,2602:fe2e:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2f::,2602:fe2f:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe30::,2602:fe30:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe31::,2602:fe31:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe32::,2602:fe32:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe33::,2602:fe33:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe34::,2602:fe34:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe35::,2602:fe35:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:fe36::,2602:fe36:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:fe37::,2602:fe37:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:fe38::,2602:fe38:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -11406,8 +12037,7 @@
2602:fe68::,2602:fe68:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fe69::,2602:fe69:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:fe6a::,2602:fe6a:fff:ffff:ffff:ffff:ffff:ffff,CA
-2602:fe6b::,2602:fe6b:fff:ffff:ffff:ffff:ffff:ffff,US
-2602:fe6c::,2602:fe6c:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe6b::,2602:fe6c:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fe6d::,2602:fe6d:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fe6e::,2602:fe6e:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fe6f::,2602:fe6f:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -11524,7 +12154,6 @@
2602:fedc::,2602:fedc:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fedd::,2602:fedd:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:fede::,2602:fede:fff:ffff:ffff:ffff:ffff:ffff,US
-2602:fedf::,2602:fedf:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fef0::,2602:fef0:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fef1::,2602:fef1:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fef2::,2602:fef2:fff:ffff:ffff:ffff:ffff:ffff,CA
@@ -11774,8 +12403,8 @@
2602:fffd::,2602:fffd:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:ffff::,2602:ffff:fff:ffff:ffff:ffff:ffff:ffff,US
2603::,2603:1005:ffff:ffff:ffff:ffff:ffff:ffff,US
-2603:1006::,2603:1006::5:ffff:ffff:ffff:ffff,ZA
-2603:1006:0:6::,2603:1006::ffff:ffff:ffff:ffff:ffff,US
+2603:1006::,2603:1006::b:ffff:ffff:ffff:ffff,ZA
+2603:1006:0:c::,2603:1006::ffff:ffff:ffff:ffff:ffff,US
2603:1006:1::,2603:1006:1:7ff:ffff:ffff:ffff:ffff,ZA
2603:1006:1:800::,2603:1006:1:ffff:ffff:ffff:ffff:ffff,US
2603:1006:2::,2603:1006:2:7ff:ffff:ffff:ffff:ffff,ZA
@@ -11814,7 +12443,9 @@
2603:1020:600::,2603:1020:7ff:ffff:ffff:ffff:ffff:ffff,GB
2603:1020:800::,2603:1020:9ff:ffff:ffff:ffff:ffff:ffff,FR
2603:1020:a00::,2603:1020:bff:ffff:ffff:ffff:ffff:ffff,CH
-2603:1020:c00::,2603:1023:ffff:ffff:ffff:ffff:ffff:ffff,US
+2603:1020:c00::,2603:1020:dff:ffff:ffff:ffff:ffff:ffff,DE
+2603:1020:e00::,2603:1020:eff:ffff:ffff:ffff:ffff:ffff,NO
+2603:1020:f00::,2603:1023:ffff:ffff:ffff:ffff:ffff:ffff,US
2603:1024::,2603:1024:ff:ffff:ffff:ffff:ffff:ffff,IE
2603:1024:100::,2603:1025:ffff:ffff:ffff:ffff:ffff:ffff,US
2603:1026::,2603:1026:2:ffff:ffff:ffff:ffff:ffff,IE
@@ -11862,7 +12493,8 @@
2603:1026:1400::,2603:1026:14ff:ffff:ffff:ffff:ffff:ffff,FI
2603:1026:1500::,2603:1026:16ff:ffff:ffff:ffff:ffff:ffff,GB
2603:1026:1700::,2603:1026:17ff:ffff:ffff:ffff:ffff:ffff,AT
-2603:1026:1800::,2603:1027::1:ffff:ffff:ffff:ffff,US
+2603:1026:1800::,2603:1026:19ff:ffff:ffff:ffff:ffff:ffff,GB
+2603:1026:1a00::,2603:1027::1:ffff:ffff:ffff:ffff,US
2603:1027:0:2::,2603:1027::3:ffff:ffff:ffff:ffff,NL
2603:1027:0:4::,2603:1027::4:ffff:ffff:ffff:ffff,IE
2603:1027:0:5::,2603:1027::5:ffff:ffff:ffff:ffff,US
@@ -11963,7 +12595,11 @@
2603:1046:c00::,2603:1046:c00:1:ffff:ffff:ffff:ffff,HK
2603:1046:c00:2::,2603:1046:c00:3:ffff:ffff:ffff:ffff,JP
2603:1046:c00:4::,2603:1046:c00:11:ffff:ffff:ffff:ffff,AE
-2603:1046:c00:12::,2603:1046:c00:ffff:ffff:ffff:ffff:ffff,US
+2603:1046:c00:12::,2603:1046:c00:18:ffff:ffff:ffff:ffff,SG
+2603:1046:c00:19::,2603:1046:c00:1a:ffff:ffff:ffff:ffff,AE
+2603:1046:c00:1b::,2603:1046:c00:1b:ffff:ffff:ffff:ffff,US
+2603:1046:c00:1c::,2603:1046:c00:1f:ffff:ffff:ffff:ffff,SG
+2603:1046:c00:20::,2603:1046:c00:ffff:ffff:ffff:ffff:ffff,US
2603:1046:c01::,2603:1046:c01:ffff:ffff:ffff:ffff:ffff,SG
2603:1046:c02::,2603:1046:c02:ffff:ffff:ffff:ffff:ffff,HK
2603:1046:c03::,2603:1046:c03:ffff:ffff:ffff:ffff:ffff,MY
@@ -12027,7 +12663,8 @@
2603:1047:600::,2603:1047:7ff:ffff:ffff:ffff:ffff:ffff,IN
2603:1047:800::,2603:1047:8ff:ffff:ffff:ffff:ffff:ffff,MY
2603:1047:900::,2603:1047:aff:ffff:ffff:ffff:ffff:ffff,AE
-2603:1047:b00::,2603:1048:ffff:ffff:ffff:ffff:ffff:ffff,US
+2603:1047:b00::,2603:1047:bff:ffff:ffff:ffff:ffff:ffff,KR
+2603:1047:c00::,2603:1048:ffff:ffff:ffff:ffff:ffff:ffff,US
2603:1049::,2603:1049:3:ffff:ffff:ffff:ffff:ffff,SG
2603:1049:4::,2603:1049:1ff:ffff:ffff:ffff:ffff:ffff,US
2603:1049:200::,2603:1049:202:ffff:ffff:ffff:ffff:ffff,HK
@@ -12184,7 +12821,8 @@
2604:1700::,2604:1700:ffff:ffff:ffff:ffff:ffff:ffff,CA
2604:1740::,2604:1740:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:1780::,2604:1780:ffff:ffff:ffff:ffff:ffff:ffff,KY
-2604:17c0::,2604:17c0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:17c0::,2604:17c0:3f:ffff:ffff:ffff:ffff:ffff,US
+2604:17c0:40::,2604:17c0:ffff:ffff:ffff:ffff:ffff:ffff,CA
2604:1800::,2604:1800:ffff:ffff:ffff:ffff:ffff:ffff,GP
2604:1840::,2604:1840:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:1880::,2604:1880:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -12840,7 +13478,6 @@
2604:c0c0::,2604:c0c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:c100::,2604:c100:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:c140::,2604:c140:ffff:ffff:ffff:ffff:ffff:ffff,US
-2604:c180::,2604:c180:ffff:ffff:ffff:ffff:ffff:ffff,VI
2604:c1c0::,2604:c1c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:c200::,2604:c200:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:c240::,2604:c240:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -12996,7 +13633,31 @@
2604:ca00:1b7:8000::,2604:ca00:1b7:ffff:ffff:ffff:ffff:ffff,NO
2604:ca00:1b8::,2604:ca00:1b8:7fff:ffff:ffff:ffff:ffff,PT
2604:ca00:1b8:8000::,2604:ca00:1b8:ffff:ffff:ffff:ffff:ffff,SE
-2604:ca00:1b9::,2604:ca00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:ca00:1b9::,2604:ca00:1c0:ffff:ffff:ffff:ffff:ffff,US
+2604:ca00:1c1::,2604:ca00:1c1:ffff:ffff:ffff:ffff:ffff,CA
+2604:ca00:1c2::,2604:ca00:1c2:ffff:ffff:ffff:ffff:ffff,MX
+2604:ca00:1c3::,2604:ca00:1c3:ffff:ffff:ffff:ffff:ffff,PR
+2604:ca00:1c4::,2604:ca00:1c4:ffff:ffff:ffff:ffff:ffff,VI
+2604:ca00:1c5::,2604:ca00:1c5:ffff:ffff:ffff:ffff:ffff,UM
+2604:ca00:1c6::,2604:ca00:1d0:ffff:ffff:ffff:ffff:ffff,US
+2604:ca00:1d1::,2604:ca00:1d1:ffff:ffff:ffff:ffff:ffff,CA
+2604:ca00:1d2::,2604:ca00:1d2:ffff:ffff:ffff:ffff:ffff,MX
+2604:ca00:1d3::,2604:ca00:1d3:ffff:ffff:ffff:ffff:ffff,PR
+2604:ca00:1d4::,2604:ca00:1d4:ffff:ffff:ffff:ffff:ffff,VI
+2604:ca00:1d5::,2604:ca00:1d5:ffff:ffff:ffff:ffff:ffff,UM
+2604:ca00:1d6::,2604:ca00:1e0:ffff:ffff:ffff:ffff:ffff,US
+2604:ca00:1e1::,2604:ca00:1e1:ffff:ffff:ffff:ffff:ffff,CA
+2604:ca00:1e2::,2604:ca00:1e2:ffff:ffff:ffff:ffff:ffff,MX
+2604:ca00:1e3::,2604:ca00:1e3:ffff:ffff:ffff:ffff:ffff,PR
+2604:ca00:1e4::,2604:ca00:1e4:ffff:ffff:ffff:ffff:ffff,VI
+2604:ca00:1e5::,2604:ca00:1e5:ffff:ffff:ffff:ffff:ffff,UM
+2604:ca00:1e6::,2604:ca00:1f0:ffff:ffff:ffff:ffff:ffff,US
+2604:ca00:1f1::,2604:ca00:1f1:ffff:ffff:ffff:ffff:ffff,CA
+2604:ca00:1f2::,2604:ca00:1f2:ffff:ffff:ffff:ffff:ffff,MX
+2604:ca00:1f3::,2604:ca00:1f3:ffff:ffff:ffff:ffff:ffff,PR
+2604:ca00:1f4::,2604:ca00:1f4:ffff:ffff:ffff:ffff:ffff,VI
+2604:ca00:1f5::,2604:ca00:1f5:ffff:ffff:ffff:ffff:ffff,UM
+2604:ca00:1f6::,2604:ca00:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:ca40::,2604:ca40:ffff:ffff:ffff:ffff:ffff:ffff,PM
2604:ca80::,2604:ca80:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:cac0::,2604:cac0:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13077,7 +13738,6 @@
2604:de40::,2604:de40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:de80::,2604:de80:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:dec0::,2604:dec0:ffff:ffff:ffff:ffff:ffff:ffff,US
-2604:df00::,2604:df00:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:df40::,2604:df40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:dfc0::,2604:dfc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:e000::,2604:e000:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13200,33 +13860,65 @@
2604:ff00::,2604:ff00:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:ff40::,2604:ff40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:ff80::,2604:ff80:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2604:ffc0::,2604:ffc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605::,2605::ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:40::,2605:40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:80::,2605:80:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2605:c0::,2605:c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:100::,2605:100:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:140::,2605:140:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:180::,2605:180:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:1c0::,2605:1c0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:240::,2605:240:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:280::,2605:280:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:2c0::,2605:2c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:300::,2605:300:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:340::,2605:340:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:380::,2605:380:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:3c0::,2605:3c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:400::,2605:400:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:440::,2605:440:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:480::,2605:480:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:4c0::,2605:4c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:500::,2605:500:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2605:540::,2605:540:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:5c0::,2605:5c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:600::,2605:600:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:640::,2605:640:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:680::,2605:680:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:6c0::,2605:6c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:700::,2605:700:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:740::,2605:740:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:780::,2605:780:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:7c0::,2605:7c0:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:800::,2605:800:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:840::,2605:840:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:880::,2605:880:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:8c0::,2605:8c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:900::,2605:900:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:940::,2605:940:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:980::,2605:980:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:9c0::,2605:9c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:a00::,2605:a00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:a40::,2605:a40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:a80::,2605:a80:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:ac0::,2605:ac0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:b40::,2605:b40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:b80::,2605:b81:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:bc0::,2605:bc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:c00::,2605:c00:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2605:c40::,2605:c40:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:cc0::,2605:cc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:d00::,2605:d00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:d40::,2605:d40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:d80::,2605:d80:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:dc0::,2605:dc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:e00::,2605:e00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:e40::,2605:e40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:e80::,2605:e80:ffff:ffff:ffff:ffff:ffff:ffff,BM
+2605:ec0::,2605:ec0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:f00::,2605:f00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:f40::,2605:f40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:f80::,2605:f80:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:1000::,2605:1000:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:1080::,2605:1080:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13319,8 +14011,8 @@
2605:3e80:700::,2605:3e80:700:f:ffff:ffff:ffff:ffff,US
2605:3e80:700:10::,2605:3e80:700:10:ffff:ffff:ffff:ffff,DE
2605:3e80:700:11::,2605:3e80:7ff:ffff:ffff:ffff:ffff:ffff,US
-2605:3e80:800::,2605:3e80:8ff:ffff:ffff:ffff:ffff:ffff,FR
-2605:3e80:900::,2605:3e80:11ff:ffff:ffff:ffff:ffff:ffff,US
+2605:3e80:800::,2605:3e80:bff:ffff:ffff:ffff:ffff:ffff,FR
+2605:3e80:c00::,2605:3e80:11ff:ffff:ffff:ffff:ffff:ffff,US
2605:3e80:1200::,2605:3e80:1200:ffff:ffff:ffff:ffff:ffff,CA
2605:3e80:1201::,2605:3e80:17ff:ffff:ffff:ffff:ffff:ffff,US
2605:3e80:1800::,2605:3e80:1bff:ffff:ffff:ffff:ffff:ffff,JP
@@ -13528,7 +14220,6 @@
2605:aa80::,2605:aa80:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:ab00::,2605:ab00:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:ab80::,2605:ab80:ffff:ffff:ffff:ffff:ffff:ffff,US
-2605:ac00::,2605:ac00:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:ac80::,2605:ac80:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:ad00::,2605:ad00:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:ad80::,2605:ad80:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13555,7 +14246,7 @@
2605:b880::,2605:b880:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:b900::,2605:b900:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:b980::,2605:b980:ffff:ffff:ffff:ffff:ffff:ffff,US
-2605:ba00::,2605:ba00:ffff:ffff:ffff:ffff:ffff:ffff,PR
+2605:ba00::,2605:ba00:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:ba80::,2605:ba80:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:bb00::,2605:bb00:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:bb80::,2605:bb80:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13727,11 +14418,8 @@
2606:a80::,2606:a80:ffff:ffff:ffff:ffff:ffff:ffff,CA
2606:b00::,2606:b00:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:b80::,2606:b80:ffff:ffff:ffff:ffff:ffff:ffff,BM
-2606:c00::,2606:c00:4:ffff:ffff:ffff:ffff:ffff,US
-2606:c00:5::,2606:c00:5:7ff:ffff:ffff:ffff:ffff,TW
-2606:c00:5:800::,2606:c00:5:fff:ffff:ffff:ffff:ffff,CN
-2606:c00:5:1000::,2606:c00:5:ffff:ffff:ffff:ffff:ffff,TW
-2606:c00:6::,2606:c00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2606:c00::,2606:c00:3ff:ffff:ffff:ffff:ffff:ffff,TW
+2606:c00:400::,2606:c00:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:d00::,2606:d00:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:d80::,2606:d80:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:e80::,2606:e80:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14034,6 +14722,7 @@
2606:8c00::,2606:8c00:ffff:ffff:ffff:ffff:ffff:ffff,CA
2606:8c80::,2606:8c80:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:8d00::,2606:8d00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2606:8d80::,2606:8d80:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:8e80::,2606:8e80:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:8f00::,2606:8f00:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:8f80::,2606:8f80:ffff:ffff:ffff:ffff:ffff:ffff,CA
@@ -14259,7 +14948,6 @@
2606:ff80::,2606:ff80:ffff:ffff:ffff:ffff:ffff:ffff,US
2607::,2607::ffff:ffff:ffff:ffff:ffff:ffff,CA
2607:80::,2607:80:ffff:ffff:ffff:ffff:ffff:ffff,US
-2607:90::,2607:90:3ff:ffff:ffff:ffff:ffff:ffff,US
2607:100::,2607:100:ffff:ffff:ffff:ffff:ffff:ffff,CA
2607:180::,2607:180:ffff:ffff:ffff:ffff:ffff:ffff,CA
2607:200::,2607:200:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14448,7 +15136,6 @@
2607:5f80::,2607:5f80:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:6000::,2607:600f:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:6100::,2607:6100:ffff:ffff:ffff:ffff:ffff:ffff,US
-2607:6180::,2607:6180:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:6200::,2607:6200:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:6280::,2607:6280:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:6300::,2607:6300:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14522,10 +15209,11 @@
2607:8580::,2607:8580:ffff:ffff:ffff:ffff:ffff:ffff,VI
2607:8600::,2607:8600:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:8680::,2607:8680:ffff:ffff:ffff:ffff:ffff:ffff,US
-2607:8700::,2607:8700:104:ffff:ffff:ffff:ffff:ffff,US
+2607:8700::,2607:8700:100:ffff:ffff:ffff:ffff:ffff,CA
+2607:8700:101::,2607:8700:104:ffff:ffff:ffff:ffff:ffff,US
2607:8700:105::,2607:8700:105:ffff:ffff:ffff:ffff:ffff,NL
-2607:8700:106::,2607:8700:3ff:ffff:ffff:ffff:ffff:ffff,US
-2607:8700:400::,2607:8700:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2607:8700:106::,2607:8700:109:ffff:ffff:ffff:ffff:ffff,US
+2607:8700:10a::,2607:8700:ffff:ffff:ffff:ffff:ffff:ffff,CA
2607:8780::,2607:8780:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:8800::,2607:8800:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:8880::,2607:8880:ffff:ffff:ffff:ffff:ffff:ffff,CA
@@ -14756,8 +15444,8 @@
2607:f0d8::,2607:f0dc:4fff:ffff:ffff:ffff:ffff:ffff,US
2607:f0dc:5000::,2607:f0dc:5000:ffff:ffff:ffff:ffff:ffff,TW
2607:f0dc:5001::,2607:f0dc:5001:ffff:ffff:ffff:ffff:ffff,US
-2607:f0dc:5002::,2607:f0dc:53ff:ffff:ffff:ffff:ffff:ffff,TW
-2607:f0dc:5400::,2607:f0e0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2607:f0dc:5002::,2607:f0dc:50ff:ffff:ffff:ffff:ffff:ffff,TW
+2607:f0dc:5100::,2607:f0e0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f0e8::,2607:f0e8:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f0f8::,2607:f0f8:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f100::,2607:f100:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14871,7 +15559,6 @@
2607:f498::,2607:f498:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f4a0::,2607:f4a0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f4a8::,2607:f4a8:ffff:ffff:ffff:ffff:ffff:ffff,CA
-2607:f4b0::,2607:f4b0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f4b8::,2607:f4b8:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f4c0::,2607:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f4c8::,2607:f4c8:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -15116,7 +15803,9 @@
2607:fcc0:4000::,2607:fcc0:5fff:ffff:ffff:ffff:ffff:ffff,GB
2607:fcc0:6000::,2607:fcc0:ffff:ffff:ffff:ffff:ffff:ffff,CA
2607:fcc8::,2607:fcc8:ffff:ffff:ffff:ffff:ffff:ffff,US
-2607:fcd0::,2607:fcd0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2607:fcd0::,2607:fcd0:cd3f:ffff:ffff:ffff:ffff:ffff,US
+2607:fcd0:cd40::,2607:fcd0:cd7f:ffff:ffff:ffff:ffff:ffff,NL
+2607:fcd0:cd80::,2607:fcd0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:fcd8::,2607:fcd8:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:fce0::,2607:fce0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:fce8::,2607:fce8:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -15470,40 +16159,104 @@
2620:0:ee0::,2620::ee0:ffff:ffff:ffff:ffff:ffff,US
2620:0:ef0::,2620::ef0:ffff:ffff:ffff:ffff:ffff,US
2620:0:f00::,2620::f7f:ffff:ffff:ffff:ffff:ffff,US
-2620:0:1000::,2620::1023:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1000::,2620::100b:ffff:ffff:ffff:ffff:ffff,US
+2620:0:100c::,2620::100c:ffff:ffff:ffff:ffff:ffff,CA
+2620:0:100d::,2620::1010:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1011::,2620::1011:ffff:ffff:ffff:ffff:ffff,AR
+2620:0:1012::,2620::1016:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1017::,2620::1017:ffff:ffff:ffff:ffff:ffff,CO
+2620:0:1018::,2620::1023:ffff:ffff:ffff:ffff:ffff,US
2620:0:1024::,2620::1027:ffff:ffff:ffff:ffff:ffff,BR
-2620:0:1028::,2620::103f:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1028::,2620::1033:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1034::,2620::1035:ffff:ffff:ffff:ffff:ffff,CA
+2620:0:1036::,2620::103f:ffff:ffff:ffff:ffff:ffff,US
2620:0:1040::,2620::1041:ffff:ffff:ffff:ffff:ffff,IE
2620:0:1042::,2620::1042:ffff:ffff:ffff:ffff:ffff,GB
-2620:0:1043::,2620::1043:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:1043::,2620::1043:ffff:ffff:ffff:ffff:ffff,SE
2620:0:1044::,2620::1045:ffff:ffff:ffff:ffff:ffff,IL
2620:0:1046::,2620::1047:ffff:ffff:ffff:ffff:ffff,PL
-2620:0:1048::,2620::104f:ffff:ffff:ffff:ffff:ffff,DE
-2620:0:1050::,2620::1054:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:1048::,2620::1048:ffff:ffff:ffff:ffff:ffff,IL
+2620:0:1049::,2620::1049:ffff:ffff:ffff:ffff:ffff,DE
+2620:0:104a::,2620::104a:ffff:ffff:ffff:ffff:ffff,AE
+2620:0:104b::,2620::104b:ffff:ffff:ffff:ffff:ffff,NL
+2620:0:104c::,2620::104e:ffff:ffff:ffff:ffff:ffff,DE
+2620:0:104f::,2620::1050:ffff:ffff:ffff:ffff:ffff,GB
+2620:0:1051::,2620::1051:ffff:ffff:ffff:ffff:ffff,ES
+2620:0:1052::,2620::1052:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:1053::,2620::1053:ffff:ffff:ffff:ffff:ffff,FR
+2620:0:1054::,2620::1054:ffff:ffff:ffff:ffff:ffff,US
2620:0:1055::,2620::1055:ffff:ffff:ffff:ffff:ffff,BE
-2620:0:1056::,2620::1057:ffff:ffff:ffff:ffff:ffff,IE
-2620:0:1058::,2620::105f:ffff:ffff:ffff:ffff:ffff,CH
-2620:0:1060::,2620::106f:ffff:ffff:ffff:ffff:ffff,RU
-2620:0:1070::,2620::107f:ffff:ffff:ffff:ffff:ffff,GB
+2620:0:1056::,2620::1056:ffff:ffff:ffff:ffff:ffff,FR
+2620:0:1057::,2620::1057:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1058::,2620::1058:ffff:ffff:ffff:ffff:ffff,CH
+2620:0:1059::,2620::1059:ffff:ffff:ffff:ffff:ffff,DK
+2620:0:105a::,2620::105f:ffff:ffff:ffff:ffff:ffff,CH
+2620:0:1060::,2620::1060:ffff:ffff:ffff:ffff:ffff,FI
+2620:0:1061::,2620::1061:ffff:ffff:ffff:ffff:ffff,CH
+2620:0:1062::,2620::1065:ffff:ffff:ffff:ffff:ffff,HU
+2620:0:1066::,2620::1066:ffff:ffff:ffff:ffff:ffff,KE
+2620:0:1067::,2620::1068:ffff:ffff:ffff:ffff:ffff,HU
+2620:0:1069::,2620::1069:ffff:ffff:ffff:ffff:ffff,PL
+2620:0:106a::,2620::106a:ffff:ffff:ffff:ffff:ffff,PT
+2620:0:106b::,2620::106b:ffff:ffff:ffff:ffff:ffff,RU
+2620:0:106c::,2620::106e:ffff:ffff:ffff:ffff:ffff,HU
+2620:0:106f::,2620::106f:ffff:ffff:ffff:ffff:ffff,CZ
+2620:0:1070::,2620::1070:ffff:ffff:ffff:ffff:ffff,DE
+2620:0:1071::,2620::1071:ffff:ffff:ffff:ffff:ffff,IT
+2620:0:1072::,2620::1073:ffff:ffff:ffff:ffff:ffff,GB
+2620:0:1074::,2620::1075:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:1076::,2620::1076:ffff:ffff:ffff:ffff:ffff,TR
+2620:0:1077::,2620::1077:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:1078::,2620::1078:ffff:ffff:ffff:ffff:ffff,NG
+2620:0:1079::,2620::1079:ffff:ffff:ffff:ffff:ffff,DK
+2620:0:107a::,2620::107a:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:107b::,2620::107b:ffff:ffff:ffff:ffff:ffff,UA
+2620:0:107c::,2620::107c:ffff:ffff:ffff:ffff:ffff,GR
+2620:0:107d::,2620::107e:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:107f::,2620::107f:ffff:ffff:ffff:ffff:ffff,BE
2620:0:1080::,2620::10c7:ffff:ffff:ffff:ffff:ffff,US
-2620:0:10c8::,2620::10cf:ffff:ffff:ffff:ffff:ffff,CN
-2620:0:10d0::,2620::10ff:ffff:ffff:ffff:ffff:ffff,US
+2620:0:10c8::,2620::10c8:ffff:ffff:ffff:ffff:ffff,CN
+2620:0:10c9::,2620::10c9:ffff:ffff:ffff:ffff:ffff,DE
+2620:0:10ca::,2620::10cb:ffff:ffff:ffff:ffff:ffff,CN
+2620:0:10cc::,2620::10cc:ffff:ffff:ffff:ffff:ffff,TW
+2620:0:10cd::,2620::10cf:ffff:ffff:ffff:ffff:ffff,CN
+2620:0:10d0::,2620::10e7:ffff:ffff:ffff:ffff:ffff,US
+2620:0:10e8::,2620::10e8:ffff:ffff:ffff:ffff:ffff,AR
+2620:0:10e9::,2620::10e9:ffff:ffff:ffff:ffff:ffff,US
+2620:0:10ea::,2620::10eb:ffff:ffff:ffff:ffff:ffff,AR
+2620:0:10ec::,2620::10ff:ffff:ffff:ffff:ffff:ffff,US
2620:0:1400::,2620::143f:ffff:ffff:ffff:ffff:ffff,US
2620:0:1500::,2620::157f:ffff:ffff:ffff:ffff:ffff,US
2620:0:1600::,2620::167f:ffff:ffff:ffff:ffff:ffff,US
2620:0:1700::,2620::170f:ffff:ffff:ffff:ffff:ffff,US
2620:0:1800::,2620::181f:ffff:ffff:ffff:ffff:ffff,US
-2620:0:1a00::,2620::1a80:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a00::,2620::1a00:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a10::,2620::1a10:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a20::,2620::1a20:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a30::,2620::1a30:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a40::,2620::1a40:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a50::,2620::1a50:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a70::,2620::1a70:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a80::,2620::1a80:ffff:ffff:ffff:ffff:ffff,US
2620:0:1aa0::,2620::1aa0:ffff:ffff:ffff:ffff:ffff,US
2620:0:1ab0::,2620::1ab0:ffff:ffff:ffff:ffff:ffff,US
2620:0:1ac0::,2620::1ac0:ffff:ffff:ffff:ffff:ffff,US
2620:0:1ad0::,2620::1ad7:ffff:ffff:ffff:ffff:ffff,US
2620:0:1ae0::,2620::1ae0:ffff:ffff:ffff:ffff:ffff,US
2620:0:1af0::,2620::1af0:ffff:ffff:ffff:ffff:ffff,CA
-2620:0:1b00::,2620::1cff:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1b00::,2620::1b07:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1c00::,2620::1cff:ffff:ffff:ffff:ffff:ffff,US
2620:0:2000::,2620::24ff:ffff:ffff:ffff:ffff:ffff,US
-2620:0:2800::,2620::2fff:ffff:ffff:ffff:ffff:ffff,US
-2620:0:5000::,2620::510f:ffff:ffff:ffff:ffff:ffff,US
+2620:0:2800::,2620::290f:ffff:ffff:ffff:ffff:ffff,US
+2620:0:2a00::,2620::2fff:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5000::,2620::5000:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5010::,2620::5010:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5030::,2620::5030:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5040::,2620::5040:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5050::,2620::5050:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5060::,2620::5060:ffff:ffff:ffff:ffff:ffff,CA
+2620:0:5070::,2620::5070:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5080::,2620::510f:ffff:ffff:ffff:ffff:ffff,US
2620:0:5200::,2620::53ff:ffff:ffff:ffff:ffff:ffff,US
2620:0:7f00::,2620::7f00:ffff:ffff:ffff:ffff:ffff,CA
2620:0:aa00::,2620::aa00:ffff:ffff:ffff:ffff:ffff,US
@@ -15517,7 +16270,7 @@
2620:1:c000::,2620:1:c000:ffff:ffff:ffff:ffff:ffff,US
2620:1:e000::,2620:1:e000:ffff:ffff:ffff:ffff:ffff,US
2620:2::,2620:2::ffff:ffff:ffff:ffff:ffff,US
-2620:2:2000::,2620:2:2000:ffff:ffff:ffff:ffff:ffff,US
+2620:2:2000::,2620:2:23ff:ffff:ffff:ffff:ffff:ffff,US
2620:2:4000::,2620:2:4000:ffff:ffff:ffff:ffff:ffff,CA
2620:2:6000::,2620:2:600f:ffff:ffff:ffff:ffff:ffff,US
2620:2:8000::,2620:2:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -15531,10 +16284,9 @@
2620:3:8000::,2620:3:8000:ffff:ffff:ffff:ffff:ffff,US
2620:3:a000::,2620:3:a000:ffff:ffff:ffff:ffff:ffff,CA
2620:3:c000::,2620:3:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:3:e000::,2620:3:e000:ffff:ffff:ffff:ffff:ffff,US
2620:4::,2620:4::ffff:ffff:ffff:ffff:ffff,US
2620:4:2000::,2620:4:2000:ffff:ffff:ffff:ffff:ffff,US
-2620:4:4000::,2620:4:4000:ffff:ffff:ffff:ffff:ffff,US
+2620:4:4000::,2620:4:43ff:ffff:ffff:ffff:ffff:ffff,US
2620:4:6000::,2620:4:6000:ffff:ffff:ffff:ffff:ffff,US
2620:4:8000::,2620:4:8000:ffff:ffff:ffff:ffff:ffff,US
2620:4:a000::,2620:4:a000:ffff:ffff:ffff:ffff:ffff,US
@@ -15637,7 +16389,7 @@
2620:12:8000::,2620:12:8000:ffff:ffff:ffff:ffff:ffff,US
2620:12:a000::,2620:12:a000:ffff:ffff:ffff:ffff:ffff,US
2620:12:c000::,2620:12:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:13::,2620:13::ffff:ffff:ffff:ffff:ffff,CA
+2620:13::,2620:13:3ff:ffff:ffff:ffff:ffff:ffff,CA
2620:13:2000::,2620:13:2000:ffff:ffff:ffff:ffff:ffff,CA
2620:13:4000::,2620:13:4000:ffff:ffff:ffff:ffff:ffff,US
2620:13:6000::,2620:13:6000:ffff:ffff:ffff:ffff:ffff,CA
@@ -15713,7 +16465,7 @@
2620:1c:c000::,2620:1c:c000:ffff:ffff:ffff:ffff:ffff,US
2620:1c:e000::,2620:1c:e000:ffff:ffff:ffff:ffff:ffff,US
2620:1d::,2620:1d:f:ffff:ffff:ffff:ffff:ffff,US
-2620:1d:2000::,2620:1d:2000:ffff:ffff:ffff:ffff:ffff,US
+2620:1d:2000::,2620:1d:23ff:ffff:ffff:ffff:ffff:ffff,US
2620:1d:4000::,2620:1d:4000:ffff:ffff:ffff:ffff:ffff,US
2620:1d:6000::,2620:1d:6000:ffff:ffff:ffff:ffff:ffff,US
2620:1d:8000::,2620:1d:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -15768,9 +16520,9 @@
2620:23:e000::,2620:23:e000:ffff:ffff:ffff:ffff:ffff,US
2620:24::,2620:24:1f:ffff:ffff:ffff:ffff:ffff,US
2620:24:40c0::,2620:24:40c0:ffff:ffff:ffff:ffff:ffff,US
-2620:24:8000::,2620:24:83ff:ffff:ffff:ffff:ffff:ffff,US
+2620:24:8080::,2620:24:8080:ffff:ffff:ffff:ffff:ffff,US
2620:24:c040::,2620:24:c040:ffff:ffff:ffff:ffff:ffff,US
-2620:25::,2620:25:3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:25::,2620:25::ffff:ffff:ffff:ffff:ffff,US
2620:25:2000::,2620:25:2000:ffff:ffff:ffff:ffff:ffff,US
2620:25:4000::,2620:25:4000:ffff:ffff:ffff:ffff:ffff,US
2620:25:6000::,2620:25:6000:ffff:ffff:ffff:ffff:ffff,CA
@@ -15823,7 +16575,7 @@
2620:2d:a000::,2620:2d:a000:ffff:ffff:ffff:ffff:ffff,US
2620:2d:c000::,2620:2d:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:2e::,2620:2e:3f:ffff:ffff:ffff:ffff:ffff,US
-2620:2e:40c0::,2620:2e:40c0:ffff:ffff:ffff:ffff:ffff,US
+2620:2e:40c0::,2620:2e:40cf:ffff:ffff:ffff:ffff:ffff,US
2620:2e:c040::,2620:2e:c040:ffff:ffff:ffff:ffff:ffff,US
2620:2f::,2620:2f::ffff:ffff:ffff:ffff:ffff,CA
2620:2f:2000::,2620:2f:2000:ffff:ffff:ffff:ffff:ffff,US
@@ -15869,7 +16621,7 @@
2620:34:c000::,2620:34:c000:ffff:ffff:ffff:ffff:ffff,US
2620:34:e000::,2620:34:e000:ffff:ffff:ffff:ffff:ffff,US
2620:35:4000::,2620:35:400f:ffff:ffff:ffff:ffff:ffff,CA
-2620:35:8000::,2620:35:8000:ffff:ffff:ffff:ffff:ffff,CA
+2620:35:8000::,2620:35:83ff:ffff:ffff:ffff:ffff:ffff,CA
2620:35:a000::,2620:35:a000:ffff:ffff:ffff:ffff:ffff,US
2620:35:c000::,2620:35:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:36::,2620:36::ffff:ffff:ffff:ffff:ffff,US
@@ -15893,7 +16645,7 @@
2620:38:a000::,2620:38:a000:ffff:ffff:ffff:ffff:ffff,US
2620:38:c000::,2620:38:c000:ffff:ffff:ffff:ffff:ffff,US
2620:38:e000::,2620:38:e000:ffff:ffff:ffff:ffff:ffff,US
-2620:39::,2620:39:f:ffff:ffff:ffff:ffff:ffff,US
+2620:39::,2620:39:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:39:2000::,2620:39:2000:ffff:ffff:ffff:ffff:ffff,US
2620:39:4000::,2620:39:4000:ffff:ffff:ffff:ffff:ffff,US
2620:39:6000::,2620:39:6000:ffff:ffff:ffff:ffff:ffff,US
@@ -15907,7 +16659,7 @@
2620:3a:a000::,2620:3a:a000:ffff:ffff:ffff:ffff:ffff,US
2620:3a:c000::,2620:3a:c3ff:ffff:ffff:ffff:ffff:ffff,US
2620:3a:e000::,2620:3a:e000:ffff:ffff:ffff:ffff:ffff,US
-2620:3b::,2620:3b::ffff:ffff:ffff:ffff:ffff,US
+2620:3b::,2620:3b:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:3b:2000::,2620:3b:2000:ffff:ffff:ffff:ffff:ffff,US
2620:3b:4000::,2620:3b:4000:ffff:ffff:ffff:ffff:ffff,US
2620:3b:6000::,2620:3b:6000:ffff:ffff:ffff:ffff:ffff,US
@@ -16036,7 +16788,7 @@
2620:4d:a000::,2620:4d:a000:ffff:ffff:ffff:ffff:ffff,US
2620:4d:c000::,2620:4d:c000:ffff:ffff:ffff:ffff:ffff,US
2620:4d:e000::,2620:4d:e000:ffff:ffff:ffff:ffff:ffff,US
-2620:4e::,2620:4e:3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:4e::,2620:4e::ffff:ffff:ffff:ffff:ffff,US
2620:4e:2000::,2620:4e:2000:ffff:ffff:ffff:ffff:ffff,VG
2620:4e:4000::,2620:4e:4000:ffff:ffff:ffff:ffff:ffff,CA
2620:4e:6000::,2620:4e:6000:ffff:ffff:ffff:ffff:ffff,US
@@ -16081,7 +16833,6 @@
2620:54::,2620:54::ffff:ffff:ffff:ffff:ffff,US
2620:54:2000::,2620:54:2000:ffff:ffff:ffff:ffff:ffff,US
2620:54:4000::,2620:54:4000:ffff:ffff:ffff:ffff:ffff,US
-2620:54:6000::,2620:54:6000:ffff:ffff:ffff:ffff:ffff,US
2620:54:8000::,2620:54:8000:ffff:ffff:ffff:ffff:ffff,US
2620:54:a000::,2620:54:a000:ffff:ffff:ffff:ffff:ffff,US
2620:54:c000::,2620:54:c000:ffff:ffff:ffff:ffff:ffff,CA
@@ -16110,7 +16861,7 @@
2620:58:4c00::,2620:58:4c00:ffff:ffff:ffff:ffff:ffff,US
2620:58:8800::,2620:58:8800:ffff:ffff:ffff:ffff:ffff,US
2620:58:c400::,2620:58:c400:ffff:ffff:ffff:ffff:ffff,CA
-2620:59::,2620:59::ffff:ffff:ffff:ffff:ffff,US
+2620:59::,2620:59:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:59:2000::,2620:59:2000:ffff:ffff:ffff:ffff:ffff,US
2620:59:4000::,2620:59:4000:ffff:ffff:ffff:ffff:ffff,US
2620:59:6000::,2620:59:6000:ffff:ffff:ffff:ffff:ffff,JM
@@ -16123,29 +16874,49 @@
2620:5a:4000::,2620:5a:4000:ffff:ffff:ffff:ffff:ffff,CA
2620:5a:6000::,2620:5a:6000:ffff:ffff:ffff:ffff:ffff,US
2620:5a:8000::,2620:5a:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:5a:a000::,2620:5a:a000:ffff:ffff:ffff:ffff:ffff,US
2620:5a:c000::,2620:5a:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:5b::,2620:5b::ffff:ffff:ffff:ffff:ffff,US
+2620:5b:2000::,2620:5b:2000:ffff:ffff:ffff:ffff:ffff,US
2620:5b:4000::,2620:5b:4000:ffff:ffff:ffff:ffff:ffff,US
+2620:5b:6000::,2620:5b:6000:ffff:ffff:ffff:ffff:ffff,US
2620:5b:8000::,2620:5b:8000:ffff:ffff:ffff:ffff:ffff,CA
+2620:5b:a000::,2620:5b:a000:ffff:ffff:ffff:ffff:ffff,US
2620:5b:c000::,2620:5b:c00f:ffff:ffff:ffff:ffff:ffff,CA
2620:5c::,2620:5c::ffff:ffff:ffff:ffff:ffff,US
+2620:5c:2000::,2620:5c:2000:ffff:ffff:ffff:ffff:ffff,US
+2620:5c:6000::,2620:5c:6000:ffff:ffff:ffff:ffff:ffff,CA
2620:5c:8000::,2620:5c:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:5c:a000::,2620:5c:a000:ffff:ffff:ffff:ffff:ffff,US
2620:5c:c000::,2620:5c:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:5d::,2620:5d::ffff:ffff:ffff:ffff:ffff,US
+2620:5d:2000::,2620:5d:2000:ffff:ffff:ffff:ffff:ffff,US
2620:5d:4000::,2620:5d:4000:ffff:ffff:ffff:ffff:ffff,US
+2620:5d:6000::,2620:5d:6000:ffff:ffff:ffff:ffff:ffff,US
2620:5d:8000::,2620:5d:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:5d:a000::,2620:5d:a000:ffff:ffff:ffff:ffff:ffff,CA
2620:5d:c000::,2620:5d:c000:ffff:ffff:ffff:ffff:ffff,US
+2620:5d:e000::,2620:5d:e000:ffff:ffff:ffff:ffff:ffff,US
2620:5e::,2620:5e::ffff:ffff:ffff:ffff:ffff,US
+2620:5e:2000::,2620:5e:2000:ffff:ffff:ffff:ffff:ffff,US
2620:5e:4000::,2620:5e:4000:ffff:ffff:ffff:ffff:ffff,CA
+2620:5e:6000::,2620:5e:6000:ffff:ffff:ffff:ffff:ffff,US
2620:5e:8000::,2620:5e:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:5e:a000::,2620:5e:a000:ffff:ffff:ffff:ffff:ffff,US
2620:5e:c000::,2620:5e:c000:ffff:ffff:ffff:ffff:ffff,CA
+2620:5e:e000::,2620:5e:e000:ffff:ffff:ffff:ffff:ffff,US
2620:5f::,2620:5f::ffff:ffff:ffff:ffff:ffff,US
+2620:5f:2000::,2620:5f:2000:ffff:ffff:ffff:ffff:ffff,US
2620:5f:4000::,2620:5f:4000:ffff:ffff:ffff:ffff:ffff,US
-2620:5f:8000::,2620:5f:83ff:ffff:ffff:ffff:ffff:ffff,US
+2620:5f:6000::,2620:5f:6000:ffff:ffff:ffff:ffff:ffff,US
+2620:5f:8000::,2620:5f:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:5f:a000::,2620:5f:a000:ffff:ffff:ffff:ffff:ffff,US
2620:5f:c000::,2620:5f:c000:ffff:ffff:ffff:ffff:ffff,US
+2620:5f:e000::,2620:5f:e000:ffff:ffff:ffff:ffff:ffff,US
2620:60::,2620:60::ffff:ffff:ffff:ffff:ffff,US
+2620:60:2000::,2620:60:2000:ffff:ffff:ffff:ffff:ffff,US
2620:60:4000::,2620:60:400f:ffff:ffff:ffff:ffff:ffff,US
-2620:60:8000::,2620:60:8000:ffff:ffff:ffff:ffff:ffff,CA
+2620:60:8000::,2620:60:800f:ffff:ffff:ffff:ffff:ffff,CA
2620:61::,2620:61::ffff:ffff:ffff:ffff:ffff,CA
2620:61:4000::,2620:61:400f:ffff:ffff:ffff:ffff:ffff,US
2620:61:8000::,2620:61:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -16180,7 +16951,7 @@
2620:69:4000::,2620:69:4000:ffff:ffff:ffff:ffff:ffff,US
2620:69:8000::,2620:69:8000:ffff:ffff:ffff:ffff:ffff,US
2620:69:c000::,2620:69:c000:ffff:ffff:ffff:ffff:ffff,CA
-2620:6a::,2620:6a::ffff:ffff:ffff:ffff:ffff,US
+2620:6a::,2620:6a:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:6a:4000::,2620:6a:4000:ffff:ffff:ffff:ffff:ffff,CA
2620:6a:8000::,2620:6a:8000:ffff:ffff:ffff:ffff:ffff,US
2620:6a:c000::,2620:6a:c000:ffff:ffff:ffff:ffff:ffff,CA
@@ -16210,7 +16981,7 @@
2620:71::,2620:71::ffff:ffff:ffff:ffff:ffff,US
2620:71:4000::,2620:71:4000:ffff:ffff:ffff:ffff:ffff,US
2620:71:8000::,2620:71:8000:ffff:ffff:ffff:ffff:ffff,US
-2620:71:c000::,2620:71:c000:ffff:ffff:ffff:ffff:ffff,US
+2620:71:c000::,2620:71:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:72::,2620:72:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:72:4000::,2620:72:4000:ffff:ffff:ffff:ffff:ffff,US
2620:72:8000::,2620:72:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -16229,7 +17000,17 @@
2620:74:40::,2620:74:48:ffff:ffff:ffff:ffff:ffff,US
2620:74:49::,2620:74:4a:ffff:ffff:ffff:ffff:ffff,DE
2620:74:4b::,2620:74:4c:ffff:ffff:ffff:ffff:ffff,HK
-2620:74:4d::,2620:74:3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:74:4d::,2620:74:56:ffff:ffff:ffff:ffff:ffff,US
+2620:74:57::,2620:74:58:ffff:ffff:ffff:ffff:ffff,FR
+2620:74:59::,2620:74:59:ffff:ffff:ffff:ffff:ffff,US
+2620:74:5a::,2620:74:5e:ffff:ffff:ffff:ffff:ffff,GB
+2620:74:5f::,2620:74:60:ffff:ffff:ffff:ffff:ffff,US
+2620:74:61::,2620:74:61:ffff:ffff:ffff:ffff:ffff,SE
+2620:74:62::,2620:74:64:ffff:ffff:ffff:ffff:ffff,US
+2620:74:65::,2620:74:67:ffff:ffff:ffff:ffff:ffff,DE
+2620:74:68::,2620:74:6a:ffff:ffff:ffff:ffff:ffff,US
+2620:74:6b::,2620:74:6c:ffff:ffff:ffff:ffff:ffff,NL
+2620:74:6d::,2620:74:ff:ffff:ffff:ffff:ffff:ffff,US
2620:74:40c0::,2620:74:40c0:ffff:ffff:ffff:ffff:ffff,US
2620:74:8080::,2620:74:8080:ffff:ffff:ffff:ffff:ffff,US
2620:74:c040::,2620:74:c040:ffff:ffff:ffff:ffff:ffff,US
@@ -16270,7 +17051,7 @@
2620:7d:8000::,2620:7d:8000:ffff:ffff:ffff:ffff:ffff,US
2620:7d:c000::,2620:7d:c000:ffff:ffff:ffff:ffff:ffff,US
2620:7e::,2620:7e:f:ffff:ffff:ffff:ffff:ffff,US
-2620:7e:30e0::,2620:7e:30e0:ffff:ffff:ffff:ffff:ffff,US
+2620:7e:3000::,2620:7e:33ff:ffff:ffff:ffff:ffff:ffff,US
2620:7e:60c0::,2620:7e:60c0:ffff:ffff:ffff:ffff:ffff,US
2620:7e:9000::,2620:7e:93ff:ffff:ffff:ffff:ffff:ffff,US
2620:7e:c080::,2620:7e:c080:ffff:ffff:ffff:ffff:ffff,US
@@ -16287,7 +17068,7 @@
2620:82:4000::,2620:82:4000:ffff:ffff:ffff:ffff:ffff,US
2620:82:8000::,2620:82:8000:ffff:ffff:ffff:ffff:ffff,US
2620:82:c000::,2620:82:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:83::,2620:83:3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:83::,2620:83::ffff:ffff:ffff:ffff:ffff,US
2620:83:4000::,2620:83:43ff:ffff:ffff:ffff:ffff:ffff,US
2620:83:8000::,2620:83:83ff:ffff:ffff:ffff:ffff:ffff,US
2620:83:c000::,2620:83:c000:ffff:ffff:ffff:ffff:ffff,US
@@ -16378,7 +17159,6 @@
2620:9b:8000::,2620:9b:80ff:ffff:ffff:ffff:ffff:ffff,US
2620:9b:c000::,2620:9b:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:9c::,2620:9c::ffff:ffff:ffff:ffff:ffff,US
-2620:9c:4000::,2620:9c:400f:ffff:ffff:ffff:ffff:ffff,US
2620:9c:8000::,2620:9c:8000:ffff:ffff:ffff:ffff:ffff,US
2620:9c:c000::,2620:9c:c000:ffff:ffff:ffff:ffff:ffff,US
2620:9d::,2620:9d::ffff:ffff:ffff:ffff:ffff,US
@@ -16543,7 +17323,7 @@
2620:c5::,2620:c5::ffff:ffff:ffff:ffff:ffff,US
2620:c5:4000::,2620:c5:4000:ffff:ffff:ffff:ffff:ffff,US
2620:c5:c000::,2620:c5:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:c6::,2620:c6::ffff:ffff:ffff:ffff:ffff,US
+2620:c6::,2620:c6:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:c6:4000::,2620:c6:4000:ffff:ffff:ffff:ffff:ffff,US
2620:c6:8000::,2620:c6:8000:ffff:ffff:ffff:ffff:ffff,US
2620:c6:c000::,2620:c6:c000:ffff:ffff:ffff:ffff:ffff,US
@@ -16562,7 +17342,7 @@
2620:ca:4000::,2620:ca:4000:ffff:ffff:ffff:ffff:ffff,US
2620:ca:8000::,2620:ca:8000:ffff:ffff:ffff:ffff:ffff,US
2620:ca:c000::,2620:ca:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:cb::,2620:cb:f:ffff:ffff:ffff:ffff:ffff,US
+2620:cb::,2620:cb:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:cb:4000::,2620:cb:4000:ffff:ffff:ffff:ffff:ffff,US
2620:cb:8000::,2620:cb:8000:ffff:ffff:ffff:ffff:ffff,US
2620:cb:c000::,2620:cb:c000:ffff:ffff:ffff:ffff:ffff,US
@@ -16580,7 +17360,7 @@
2620:ce:c000::,2620:ce:c000:ffff:ffff:ffff:ffff:ffff,US
2620:cf:4000::,2620:cf:4000:ffff:ffff:ffff:ffff:ffff,US
2620:cf:8000::,2620:cf:8000:ffff:ffff:ffff:ffff:ffff,US
-2620:cf:c000::,2620:cf:c3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:cf:c000::,2620:cf:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:d0::,2620:d0::ffff:ffff:ffff:ffff:ffff,US
2620:d0:4000::,2620:d0:4000:ffff:ffff:ffff:ffff:ffff,US
2620:d0:8000::,2620:d0:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -16595,7 +17375,7 @@
2620:d3:4000::,2620:d3:4000:ffff:ffff:ffff:ffff:ffff,US
2620:d3:8000::,2620:d3:8000:ffff:ffff:ffff:ffff:ffff,US
2620:d3:c000::,2620:d3:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:d4::,2620:d4::ffff:ffff:ffff:ffff:ffff,US
+2620:d4::,2620:d4:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:d4:4000::,2620:d4:4000:ffff:ffff:ffff:ffff:ffff,US
2620:d4:8000::,2620:d4:8000:ffff:ffff:ffff:ffff:ffff,US
2620:d5::,2620:d5::ffff:ffff:ffff:ffff:ffff,US
@@ -16668,7 +17448,7 @@
2620:e6:4000::,2620:e6:4000:ffff:ffff:ffff:ffff:ffff,US
2620:e6:8000::,2620:e6:8000:ffff:ffff:ffff:ffff:ffff,US
2620:e6:c000::,2620:e6:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:e7::,2620:e7::ffff:ffff:ffff:ffff:ffff,US
+2620:e7::,2620:e7:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:e7:4000::,2620:e7:4000:ffff:ffff:ffff:ffff:ffff,US
2620:e7:8000::,2620:e7:8000:ffff:ffff:ffff:ffff:ffff,CA
2620:e7:c000::,2620:e7:c000:ffff:ffff:ffff:ffff:ffff,US
@@ -16727,7 +17507,7 @@
2620:f4::,2620:f4::ffff:ffff:ffff:ffff:ffff,US
2620:f4:4000::,2620:f4:40ff:ffff:ffff:ffff:ffff:ffff,US
2620:f4:8000::,2620:f4:8000:ffff:ffff:ffff:ffff:ffff,CA
-2620:f4:c000::,2620:f4:c3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:f4:c000::,2620:f4:c000:ffff:ffff:ffff:ffff:ffff,US
2620:f5::,2620:f5::ffff:ffff:ffff:ffff:ffff,US
2620:f5:4000::,2620:f5:4000:ffff:ffff:ffff:ffff:ffff,US
2620:f5:8000::,2620:f5:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -16744,7 +17524,7 @@
2620:f8:4000::,2620:f8:4000:ffff:ffff:ffff:ffff:ffff,US
2620:f8:8000::,2620:f8:8000:ffff:ffff:ffff:ffff:ffff,US
2620:f8:c000::,2620:f8:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:f9::,2620:f9:f:ffff:ffff:ffff:ffff:ffff,US
+2620:f9::,2620:f9:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:f9:4000::,2620:f9:4000:ffff:ffff:ffff:ffff:ffff,US
2620:f9:8000::,2620:f9:8000:ffff:ffff:ffff:ffff:ffff,US
2620:f9:c000::,2620:f9:c000:ffff:ffff:ffff:ffff:ffff,US
@@ -16791,7 +17571,7 @@
2620:101:5000::,2620:101:503f:ffff:ffff:ffff:ffff:ffff,US
2620:101:6000::,2620:101:6001:ffff:ffff:ffff:ffff:ffff,US
2620:101:7000::,2620:101:7001:ffff:ffff:ffff:ffff:ffff,US
-2620:101:8000::,2620:101:83ff:ffff:ffff:ffff:ffff:ffff,US
+2620:101:8000::,2620:101:80ff:ffff:ffff:ffff:ffff:ffff,US
2620:101:9000::,2620:101:900f:ffff:ffff:ffff:ffff:ffff,US
2620:101:b000::,2620:101:b07f:ffff:ffff:ffff:ffff:ffff,US
2620:101:c000::,2620:101:c3ff:ffff:ffff:ffff:ffff:ffff,CA
@@ -16838,14 +17618,14 @@
2620:104:400c::,2620:104:400c:ffff:ffff:ffff:ffff:ffff,NZ
2620:104:400d::,2620:104:43ff:ffff:ffff:ffff:ffff:ffff,US
2620:104:5000::,2620:104:500f:ffff:ffff:ffff:ffff:ffff,US
-2620:104:6000::,2620:104:63ff:ffff:ffff:ffff:ffff:ffff,US
+2620:104:6000::,2620:104:600f:ffff:ffff:ffff:ffff:ffff,US
2620:104:8000::,2620:104:80ff:ffff:ffff:ffff:ffff:ffff,US
2620:104:9000::,2620:104:900f:ffff:ffff:ffff:ffff:ffff,US
2620:104:a000::,2620:104:a00f:ffff:ffff:ffff:ffff:ffff,US
-2620:104:b000::,2620:104:b3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:104:b000::,2620:104:b01f:ffff:ffff:ffff:ffff:ffff,US
2620:104:c000::,2620:104:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:104:d000::,2620:104:d0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:104:e000::,2620:104:e3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:104:e000::,2620:104:e0ff:ffff:ffff:ffff:ffff:ffff,US
2620:104:f000::,2620:104:f00f:ffff:ffff:ffff:ffff:ffff,US
2620:105::,2620:105:f:ffff:ffff:ffff:ffff:ffff,CA
2620:105:2000::,2620:105:20ff:ffff:ffff:ffff:ffff:ffff,US
@@ -16887,7 +17667,8 @@
2620:107:6000::,2620:107:600f:ffff:ffff:ffff:ffff:ffff,US
2620:107:7000::,2620:107:700f:ffff:ffff:ffff:ffff:ffff,US
2620:107:8000::,2620:107:80ff:ffff:ffff:ffff:ffff:ffff,US
-2620:107:9000::,2620:107:90ff:ffff:ffff:ffff:ffff:ffff,US
+2620:107:9000::,2620:107:90bf:ffff:ffff:ffff:ffff:ffff,US
+2620:107:90c0::,2620:107:90ff:ffff:ffff:ffff:ffff:ffff,CN
2620:107:a000::,2620:107:a0ff:ffff:ffff:ffff:ffff:ffff,US
2620:107:c000::,2620:107:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:107:d000::,2620:107:d00f:ffff:ffff:ffff:ffff:ffff,US
@@ -16926,7 +17707,7 @@
2620:10a::,2620:10a:f:ffff:ffff:ffff:ffff:ffff,US
2620:10a:1000::,2620:10a:100f:ffff:ffff:ffff:ffff:ffff,US
2620:10a:2000::,2620:10a:200f:ffff:ffff:ffff:ffff:ffff,US
-2620:10a:3000::,2620:10a:30ff:ffff:ffff:ffff:ffff:ffff,US
+2620:10a:3000::,2620:10a:33ff:ffff:ffff:ffff:ffff:ffff,US
2620:10a:4000::,2620:10a:40ff:ffff:ffff:ffff:ffff:ffff,US
2620:10a:5000::,2620:10a:50ff:ffff:ffff:ffff:ffff:ffff,US
2620:10a:6000::,2620:10a:63ff:ffff:ffff:ffff:ffff:ffff,US
@@ -16997,16 +17778,16 @@
2620:10e:a000::,2620:10e:a00f:ffff:ffff:ffff:ffff:ffff,US
2620:10e:b000::,2620:10e:b0ff:ffff:ffff:ffff:ffff:ffff,US
2620:10e:c000::,2620:10e:c00f:ffff:ffff:ffff:ffff:ffff,US
-2620:10e:d000::,2620:10e:d00f:ffff:ffff:ffff:ffff:ffff,BL
+2620:10e:d000::,2620:10e:d0ff:ffff:ffff:ffff:ffff:ffff,BL
2620:10e:e000::,2620:10e:e00f:ffff:ffff:ffff:ffff:ffff,US
2620:10e:f000::,2620:10e:f00f:ffff:ffff:ffff:ffff:ffff,US
2620:10f::,2620:10f:f:ffff:ffff:ffff:ffff:ffff,US
2620:10f:1000::,2620:10f:100f:ffff:ffff:ffff:ffff:ffff,US
2620:10f:2000::,2620:10f:200f:ffff:ffff:ffff:ffff:ffff,US
-2620:10f:3000::,2620:10f:33ff:ffff:ffff:ffff:ffff:ffff,US
+2620:10f:3000::,2620:10f:30ff:ffff:ffff:ffff:ffff:ffff,US
2620:10f:4000::,2620:10f:400f:ffff:ffff:ffff:ffff:ffff,US
2620:10f:5000::,2620:10f:50ff:ffff:ffff:ffff:ffff:ffff,US
-2620:10f:6000::,2620:10f:61ff:ffff:ffff:ffff:ffff:ffff,US
+2620:10f:6000::,2620:10f:63ff:ffff:ffff:ffff:ffff:ffff,US
2620:10f:7000::,2620:10f:700f:ffff:ffff:ffff:ffff:ffff,US
2620:10f:8000::,2620:10f:80ff:ffff:ffff:ffff:ffff:ffff,US
2620:10f:9000::,2620:10f:900f:ffff:ffff:ffff:ffff:ffff,US
@@ -17057,7 +17838,7 @@
2620:112:a000::,2620:112:a00f:ffff:ffff:ffff:ffff:ffff,US
2620:112:b000::,2620:112:b0ff:ffff:ffff:ffff:ffff:ffff,US
2620:112:c000::,2620:112:c0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:112:d000::,2620:112:d3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:112:d000::,2620:112:d00f:ffff:ffff:ffff:ffff:ffff,US
2620:112:e000::,2620:112:e00f:ffff:ffff:ffff:ffff:ffff,US
2620:112:f000::,2620:112:f00f:ffff:ffff:ffff:ffff:ffff,US
2620:113::,2620:113:f:ffff:ffff:ffff:ffff:ffff,US
@@ -17103,6 +17884,7 @@
2620:115:d000::,2620:115:d0ff:ffff:ffff:ffff:ffff:ffff,US
2620:115:e000::,2620:115:e00f:ffff:ffff:ffff:ffff:ffff,US
2620:115:f000::,2620:115:f00f:ffff:ffff:ffff:ffff:ffff,US
+2620:116::,2620:116:f:ffff:ffff:ffff:ffff:ffff,US
2620:116:1000::,2620:116:10ff:ffff:ffff:ffff:ffff:ffff,US
2620:116:2000::,2620:116:200f:ffff:ffff:ffff:ffff:ffff,US
2620:116:3000::,2620:116:300f:ffff:ffff:ffff:ffff:ffff,US
@@ -17130,7 +17912,7 @@
2620:117:9000::,2620:117:90ff:ffff:ffff:ffff:ffff:ffff,US
2620:117:a000::,2620:117:a0ff:ffff:ffff:ffff:ffff:ffff,US
2620:117:b000::,2620:117:b0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:117:c000::,2620:117:c3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:117:c000::,2620:117:c0ff:ffff:ffff:ffff:ffff:ffff,US
2620:117:d000::,2620:117:d0ff:ffff:ffff:ffff:ffff:ffff,CA
2620:117:e000::,2620:117:e0ff:ffff:ffff:ffff:ffff:ffff,US
2620:118:1000::,2620:118:10ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17193,10 +17975,10 @@
2620:11b:d000::,2620:11b:d0ff:ffff:ffff:ffff:ffff:ffff,US
2620:11b:e000::,2620:11b:e0ff:ffff:ffff:ffff:ffff:ffff,US
2620:11b:f000::,2620:11b:f0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:11c::,2620:11c:f:ffff:ffff:ffff:ffff:ffff,US
+2620:11c::,2620:11c:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:11c:1000::,2620:11c:10ff:ffff:ffff:ffff:ffff:ffff,BB
2620:11c:2000::,2620:11c:20ff:ffff:ffff:ffff:ffff:ffff,CA
-2620:11c:3000::,2620:11c:33ff:ffff:ffff:ffff:ffff:ffff,US
+2620:11c:3000::,2620:11c:30ff:ffff:ffff:ffff:ffff:ffff,US
2620:11c:4000::,2620:11c:40ff:ffff:ffff:ffff:ffff:ffff,US
2620:11c:5000::,2620:11c:500f:ffff:ffff:ffff:ffff:ffff,US
2620:11c:6000::,2620:11c:600f:ffff:ffff:ffff:ffff:ffff,US
@@ -17246,7 +18028,7 @@
2620:11f:2000::,2620:11f:200f:ffff:ffff:ffff:ffff:ffff,US
2620:11f:3000::,2620:11f:30ff:ffff:ffff:ffff:ffff:ffff,US
2620:11f:4000::,2620:11f:43ff:ffff:ffff:ffff:ffff:ffff,US
-2620:11f:5000::,2620:11f:53ff:ffff:ffff:ffff:ffff:ffff,US
+2620:11f:5000::,2620:11f:50ff:ffff:ffff:ffff:ffff:ffff,US
2620:11f:6000::,2620:11f:60ff:ffff:ffff:ffff:ffff:ffff,US
2620:11f:7000::,2620:11f:700f:ffff:ffff:ffff:ffff:ffff,US
2620:11f:8000::,2620:11f:80ff:ffff:ffff:ffff:ffff:ffff,CA
@@ -17277,7 +18059,7 @@
2620:120:d000::,2620:120:d00f:ffff:ffff:ffff:ffff:ffff,US
2620:120:e000::,2620:120:e0ff:ffff:ffff:ffff:ffff:ffff,US
2620:120:f000::,2620:120:f0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:121::,2620:121:f:ffff:ffff:ffff:ffff:ffff,US
+2620:121::,2620:121:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:121:1000::,2620:121:100f:ffff:ffff:ffff:ffff:ffff,US
2620:121:2000::,2620:121:200f:ffff:ffff:ffff:ffff:ffff,US
2620:121:3000::,2620:121:30ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17293,7 +18075,7 @@
2620:121:d000::,2620:121:d00f:ffff:ffff:ffff:ffff:ffff,US
2620:121:e000::,2620:121:e00f:ffff:ffff:ffff:ffff:ffff,US
2620:121:f000::,2620:121:f00f:ffff:ffff:ffff:ffff:ffff,US
-2620:122::,2620:122:f:ffff:ffff:ffff:ffff:ffff,US
+2620:122::,2620:122:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:122:1000::,2620:122:10ff:ffff:ffff:ffff:ffff:ffff,US
2620:122:2000::,2620:122:20ff:ffff:ffff:ffff:ffff:ffff,US
2620:122:3000::,2620:122:30ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17312,12 +18094,12 @@
2620:123:1000::,2620:123:10ff:ffff:ffff:ffff:ffff:ffff,US
2620:123:2000::,2620:123:200f:ffff:ffff:ffff:ffff:ffff,US
2620:123:3000::,2620:123:30ff:ffff:ffff:ffff:ffff:ffff,US
-2620:123:4000::,2620:123:40ff:ffff:ffff:ffff:ffff:ffff,US
+2620:123:4000::,2620:123:43ff:ffff:ffff:ffff:ffff:ffff,US
2620:123:5000::,2620:123:53ff:ffff:ffff:ffff:ffff:ffff,US
2620:123:6000::,2620:123:600f:ffff:ffff:ffff:ffff:ffff,CA
2620:123:7000::,2620:123:700f:ffff:ffff:ffff:ffff:ffff,CA
2620:123:8000::,2620:123:800f:ffff:ffff:ffff:ffff:ffff,US
-2620:123:9000::,2620:123:93ff:ffff:ffff:ffff:ffff:ffff,US
+2620:123:9000::,2620:123:900f:ffff:ffff:ffff:ffff:ffff,US
2620:123:a000::,2620:123:a00f:ffff:ffff:ffff:ffff:ffff,US
2620:123:b000::,2620:123:b00f:ffff:ffff:ffff:ffff:ffff,US
2620:123:c000::,2620:123:c0ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17397,7 +18179,6 @@
2620:128:6000::,2620:128:600f:ffff:ffff:ffff:ffff:ffff,US
2620:128:7000::,2620:128:700f:ffff:ffff:ffff:ffff:ffff,US
2620:128:8000::,2620:128:800f:ffff:ffff:ffff:ffff:ffff,US
-2620:128:a000::,2620:128:a0ff:ffff:ffff:ffff:ffff:ffff,US
2620:128:b000::,2620:128:b0ff:ffff:ffff:ffff:ffff:ffff,US
2620:128:c000::,2620:128:c0ff:ffff:ffff:ffff:ffff:ffff,US
2620:128:d000::,2620:128:d0ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17495,7 +18276,7 @@
2620:12e:9000::,2620:12e:900f:ffff:ffff:ffff:ffff:ffff,US
2620:12e:a000::,2620:12e:a0ff:ffff:ffff:ffff:ffff:ffff,US
2620:12e:b000::,2620:12e:b00f:ffff:ffff:ffff:ffff:ffff,US
-2620:12e:c000::,2620:12e:c3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:12e:c000::,2620:12e:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:12e:d000::,2620:12e:d00f:ffff:ffff:ffff:ffff:ffff,US
2620:12e:e000::,2620:12e:e0ff:ffff:ffff:ffff:ffff:ffff,US
2620:12e:f000::,2620:12e:f0ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17517,7 +18298,7 @@
2620:130::,2620:130:f:ffff:ffff:ffff:ffff:ffff,US
2620:130:1000::,2620:130:100f:ffff:ffff:ffff:ffff:ffff,CA
2620:130:2000::,2620:130:20ff:ffff:ffff:ffff:ffff:ffff,US
-2620:130:3000::,2620:130:33ff:ffff:ffff:ffff:ffff:ffff,US
+2620:130:3000::,2620:130:30ff:ffff:ffff:ffff:ffff:ffff,US
2620:130:4000::,2620:130:40ff:ffff:ffff:ffff:ffff:ffff,US
2620:130:5000::,2620:130:500f:ffff:ffff:ffff:ffff:ffff,US
2620:130:6000::,2620:130:600f:ffff:ffff:ffff:ffff:ffff,US
@@ -17534,7 +18315,7 @@
2620:131:2000::,2620:131:20ff:ffff:ffff:ffff:ffff:ffff,US
2620:131:3000::,2620:131:300f:ffff:ffff:ffff:ffff:ffff,US
2620:131:4000::,2620:131:40ff:ffff:ffff:ffff:ffff:ffff,CA
-2620:131:5000::,2620:131:53ff:ffff:ffff:ffff:ffff:ffff,US
+2620:131:5000::,2620:131:50ff:ffff:ffff:ffff:ffff:ffff,US
2620:131:6000::,2620:131:60ff:ffff:ffff:ffff:ffff:ffff,US
2620:131:7000::,2620:131:70ff:ffff:ffff:ffff:ffff:ffff,US
2620:131:8000::,2620:131:800f:ffff:ffff:ffff:ffff:ffff,US
@@ -17600,7 +18381,7 @@
2620:135:4000::,2620:135:400f:ffff:ffff:ffff:ffff:ffff,CA
2620:135:5000::,2620:135:500f:ffff:ffff:ffff:ffff:ffff,US
2620:135:6000::,2620:135:60ff:ffff:ffff:ffff:ffff:ffff,US
-2620:135:7000::,2620:135:70ff:ffff:ffff:ffff:ffff:ffff,US
+2620:135:7000::,2620:135:73ff:ffff:ffff:ffff:ffff:ffff,US
2620:135:8000::,2620:135:800f:ffff:ffff:ffff:ffff:ffff,US
2620:135:9000::,2620:135:90ff:ffff:ffff:ffff:ffff:ffff,US
2620:135:a000::,2620:135:a0ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17608,12 +18389,12 @@
2620:135:c000::,2620:135:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:135:d000::,2620:135:d00f:ffff:ffff:ffff:ffff:ffff,US
2620:135:e000::,2620:135:e0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:135:f000::,2620:135:f00f:ffff:ffff:ffff:ffff:ffff,CA
+2620:135:f000::,2620:135:f3ff:ffff:ffff:ffff:ffff:ffff,CA
2620:136::,2620:136:ff:ffff:ffff:ffff:ffff:ffff,US
2620:136:1000::,2620:136:100f:ffff:ffff:ffff:ffff:ffff,US
2620:136:2000::,2620:136:20ff:ffff:ffff:ffff:ffff:ffff,US
2620:136:3000::,2620:136:30ff:ffff:ffff:ffff:ffff:ffff,US
-2620:136:4000::,2620:136:400f:ffff:ffff:ffff:ffff:ffff,US
+2620:136:4000::,2620:136:43ff:ffff:ffff:ffff:ffff:ffff,US
2620:136:5000::,2620:136:500f:ffff:ffff:ffff:ffff:ffff,US
2620:136:6000::,2620:136:600f:ffff:ffff:ffff:ffff:ffff,US
2620:136:7000::,2620:136:700f:ffff:ffff:ffff:ffff:ffff,US
@@ -17701,6 +18482,20 @@
2620:13b:a000::,2620:13b:a00f:ffff:ffff:ffff:ffff:ffff,US
2620:13b:b000::,2620:13b:b0ff:ffff:ffff:ffff:ffff:ffff,US
2620:13b:c000::,2620:13b:c00f:ffff:ffff:ffff:ffff:ffff,US
+2620:13b:d000::,2620:13b:d00f:ffff:ffff:ffff:ffff:ffff,US
+2620:13b:e000::,2620:13b:e00f:ffff:ffff:ffff:ffff:ffff,US
+2620:13b:f000::,2620:13b:f0ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c::,2620:13c:ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:1000::,2620:13c:10ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:2000::,2620:13c:200f:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:3000::,2620:13c:300f:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:4000::,2620:13c:40ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:5000::,2620:13c:500f:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:6000::,2620:13c:60ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:7000::,2620:13c:700f:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:8000::,2620:13c:800f:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:9000::,2620:13c:90ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:a000::,2620:13c:a0ff:ffff:ffff:ffff:ffff:ffff,US
2620:140::,2620:140:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:141::,2620:141:fff:ffff:ffff:ffff:ffff:ffff,US
2620:143::,2620:143:7ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17729,11 +18524,18 @@
2620:15a::,2620:15a:fff:ffff:ffff:ffff:ffff:ffff,US
2620:15b::,2620:15b:fff:ffff:ffff:ffff:ffff:ffff,US
2620:15c::,2620:15c:1:ffff:ffff:ffff:ffff:ffff,CA
-2620:15c:2::,2620:15c:4:ffff:ffff:ffff:ffff:ffff,US
-2620:15c:5::,2620:15c:5:ffff:ffff:ffff:ffff:ffff,BR
-2620:15c:6::,2620:15c:30:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:2::,2620:15c:3:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:4::,2620:15c:5:ffff:ffff:ffff:ffff:ffff,BR
+2620:15c:6::,2620:15c:2b:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:2c::,2620:15c:2c:ffff:ffff:ffff:ffff:ffff,BR
+2620:15c:2d::,2620:15c:30:ffff:ffff:ffff:ffff:ffff,US
2620:15c:31::,2620:15c:31:ffff:ffff:ffff:ffff:ffff,PE
-2620:15c:32::,2620:15c:fff:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:32::,2620:15c:60:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:61::,2620:15c:61:ffff:ffff:ffff:ffff:ffff,AR
+2620:15c:62::,2620:15c:62:ffff:ffff:ffff:ffff:ffff,BR
+2620:15c:63::,2620:15c:6e:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:6f::,2620:15c:6f:ffff:ffff:ffff:ffff:ffff,BR
+2620:15c:70::,2620:15c:fff:ffff:ffff:ffff:ffff:ffff,US
2620:15d::,2620:15f:fff:ffff:ffff:ffff:ffff:ffff,US
2620:160::,2620:160:ffff:ffff:ffff:ffff:ffff:ffff,US
2620:162::,2620:162:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -17826,7 +18628,6 @@
2620:17f::,2620:181:fff:ffff:ffff:ffff:ffff:ffff,US
2620:182::,2620:182:fff:ffff:ffff:ffff:ffff:ffff,US
2620:183::,2620:183:fff:ffff:ffff:ffff:ffff:ffff,US
-2620:184::,2620:184:fff:ffff:ffff:ffff:ffff:ffff,US
2620:185::,2620:185:fff:ffff:ffff:ffff:ffff:ffff,US
2620:186::,2620:186:fff:ffff:ffff:ffff:ffff:ffff,US
2620:187::,2620:187:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -17844,6 +18645,8 @@
2620:195::,2620:195:fff:ffff:ffff:ffff:ffff:ffff,US
2620:196::,2620:196:ffff:ffff:ffff:ffff:ffff:ffff,CA
2620:197::,2620:197:fff:ffff:ffff:ffff:ffff:ffff,US
+2620:198::,2620:198:fff:ffff:ffff:ffff:ffff:ffff,US
+2620:199::,2620:199:fff:ffff:ffff:ffff:ffff:ffff,US
2620:1a0::,2620:1a0:ffff:ffff:ffff:ffff:ffff:ffff,US
2620:1b0::,2620:1b0:ffff:ffff:ffff:ffff:ffff:ffff,US
2620:1c0::,2620:1c0:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -17878,8 +18681,8 @@
2620:1f2::,2620:1f4:fff:ffff:ffff:ffff:ffff:ffff,US
2620:1f5::,2620:1f5:fff:ffff:ffff:ffff:ffff:ffff,CA
2620:1f6::,2620:1f6:fff:ffff:ffff:ffff:ffff:ffff,US
-2620:1f7::,2620:1f7:38bf:ffff:ffff:ffff:ffff:ffff,US
-2620:1f7:38c0::,2620:1f7:38ff:ffff:ffff:ffff:ffff:ffff,MY
+2620:1f7::,2620:1f7:37ff:ffff:ffff:ffff:ffff:ffff,US
+2620:1f7:3800::,2620:1f7:38ff:ffff:ffff:ffff:ffff:ffff,MY
2620:1f7:3900::,2620:1f9:fff:ffff:ffff:ffff:ffff:ffff,US
2620:1fa::,2620:1fb:fff:ffff:ffff:ffff:ffff:ffff,US
2620:1fc::,2620:1fc:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -18246,7 +19049,7 @@
2801:15:8000::,2801:15:800f:ffff:ffff:ffff:ffff:ffff,CR
2801:15:9000::,2801:15:9000:ffff:ffff:ffff:ffff:ffff,AR
2801:15:a000::,2801:15:a000:ffff:ffff:ffff:ffff:ffff,DO
-2801:15:b000::,2801:15:b000:ffff:ffff:ffff:ffff:ffff,AR
+2801:15:b000::,2801:15:b3ff:ffff:ffff:ffff:ffff:ffff,AR
2801:15:c000::,2801:15:c000:ffff:ffff:ffff:ffff:ffff,GT
2801:15:d000::,2801:15:d000:ffff:ffff:ffff:ffff:ffff,CL
2801:15:e000::,2801:15:e000:ffff:ffff:ffff:ffff:ffff,DO
@@ -18282,6 +19085,7 @@
2801:17:c000::,2801:17:c000:ffff:ffff:ffff:ffff:ffff,PA
2801:17:d000::,2801:17:d000:ffff:ffff:ffff:ffff:ffff,CO
2801:17:e000::,2801:17:e000:ffff:ffff:ffff:ffff:ffff,AR
+2801:17:f000::,2801:17:f000:ffff:ffff:ffff:ffff:ffff,PY
2801:18::,2801:18::ffff:ffff:ffff:ffff:ffff,CR
2801:18:2000::,2801:18:2000:ffff:ffff:ffff:ffff:ffff,CO
2801:18:3000::,2801:18:3000:ffff:ffff:ffff:ffff:ffff,CO
@@ -18340,6 +19144,7 @@
2801:1b:c000::,2801:1b:c000:ffff:ffff:ffff:ffff:ffff,PA
2801:1b:d000::,2801:1b:d000:ffff:ffff:ffff:ffff:ffff,CO
2801:1b:e000::,2801:1b:e000:ffff:ffff:ffff:ffff:ffff,NI
+2801:1b:f000::,2801:1b:f000:ffff:ffff:ffff:ffff:ffff,AR
2801:1c::,2801:1c::ffff:ffff:ffff:ffff:ffff,PY
2801:1c:1000::,2801:1c:1000:ffff:ffff:ffff:ffff:ffff,AR
2801:1c:2000::,2801:1c:2000:ffff:ffff:ffff:ffff:ffff,PE
@@ -18694,9 +19499,18 @@
2801:80:2520::,2801:80:2520:ffff:ffff:ffff:ffff:ffff,BR
2801:80:2530::,2801:80:2530:ffff:ffff:ffff:ffff:ffff,BR
2801:80:2540::,2801:80:2540:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2550::,2801:80:2550:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2560::,2801:80:2560:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2570::,2801:80:2570:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2580::,2801:80:2587:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2590::,2801:80:2593:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:25a0::,2801:80:25a0:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:25b0::,2801:80:25b0:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:25c0::,2801:80:25c0:ffff:ffff:ffff:ffff:ffff,BR
2801:80:2600::,2801:80:26ff:ffff:ffff:ffff:ffff:ffff,BR
2801:80:2800::,2801:80:28ff:ffff:ffff:ffff:ffff:ffff,BR
2801:80:2c00::,2801:80:2cff:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2e00::,2801:80:2eff:ffff:ffff:ffff:ffff:ffff,BR
2801:82::,2801:82:ffff:ffff:ffff:ffff:ffff:ffff,BR
2801:84::,2801:84:ffff:ffff:ffff:ffff:ffff:ffff,BR
2801:86::,2801:86:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -18734,7 +19548,7 @@
2801:c4:12::,2801:c4:15:ffff:ffff:ffff:ffff:ffff,MX
2801:c4:17::,2801:c4:17:ffff:ffff:ffff:ffff:ffff,MX
2801:c4:19::,2801:c4:1d:ffff:ffff:ffff:ffff:ffff,MX
-2801:c4:20::,2801:c4:20:ffff:ffff:ffff:ffff:ffff,MX
+2801:c4:1f::,2801:c4:20:ffff:ffff:ffff:ffff:ffff,MX
2801:c4:30::,2801:c4:30:ffff:ffff:ffff:ffff:ffff,MX
2801:c4:50::,2801:c4:50:ffff:ffff:ffff:ffff:ffff,MX
2801:c4:60::,2801:c4:60:ffff:ffff:ffff:ffff:ffff,MX
@@ -18773,6 +19587,7 @@
2801:180::,2801:180:f:ffff:ffff:ffff:ffff:ffff,PA
2801:184::,2801:184:f:ffff:ffff:ffff:ffff:ffff,DO
2801:188::,2801:188:ff:ffff:ffff:ffff:ffff:ffff,AR
+2801:18c::,2801:18c:f:ffff:ffff:ffff:ffff:ffff,CO
2801:190::,2801:190:fff:ffff:ffff:ffff:ffff:ffff,CO
2801:194::,2801:194:f:ffff:ffff:ffff:ffff:ffff,CO
2801:198::,2801:198:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -18842,6 +19657,7 @@
2803:520::,2803:520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:540::,2803:540:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:580::,2803:580:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:5a0::,2803:5a0:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:5c0::,2803:5c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:600::,2803:600:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:620::,2803:620:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -18864,6 +19680,7 @@
2803:920::,2803:920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:940::,2803:940:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:980::,2803:980:ffff:ffff:ffff:ffff:ffff:ffff,CR
+2803:9a0::,2803:9a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9c0::,2803:9c0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:a00::,2803:a00:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:a20::,2803:a20:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -18886,6 +19703,7 @@
2803:d20::,2803:d20:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:d40::,2803:d40:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:d80::,2803:d87:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:da0::,2803:da0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:dc0::,2803:dc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e00::,2803:e00:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:e20::,2803:e20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -18932,6 +19750,7 @@
2803:1520::,2803:1520:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:1540::,2803:1540:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:1580::,2803:1580:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:15a0::,2803:15a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:15c0::,2803:15c0:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:1600::,2803:1600:ffff:ffff:ffff:ffff:ffff:ffff,BQ
2803:1620::,2803:1620:ffff:ffff:ffff:ffff:ffff:ffff,PY
@@ -18951,6 +19770,7 @@
2803:1900::,2803:1900:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:1920::,2803:1920:ffff:ffff:ffff:ffff:ffff:ffff,BO
2803:1940::,2803:1940:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:19a0::,2803:19a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:19c0::,2803:19c0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:1a00::,2803:1a00:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:1a20::,2803:1a20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19016,6 +19836,7 @@
2803:2520::,2803:2520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:2540::,2803:2540:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:2580::,2803:2580:ffff:ffff:ffff:ffff:ffff:ffff,HN
+2803:25a0::,2803:25a0:ffff:ffff:ffff:ffff:ffff:ffff,SV
2803:25c0::,2803:25c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:2600::,2803:2600:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:2620::,2803:2620:ffff:ffff:ffff:ffff:ffff:ffff,GT
@@ -19038,6 +19859,7 @@
2803:2920::,2803:2920:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:2940::,2803:2940:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:2980::,2803:2980:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:29a0::,2803:29a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:29c0::,2803:29c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:2a00::,2803:2a00:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:2a20::,2803:2a20:ffff:ffff:ffff:ffff:ffff:ffff,HN
@@ -19080,6 +19902,7 @@
2803:3120::,2803:3120:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3140::,2803:3140:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:3180::,2803:3180:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:31a0::,2803:31a0:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:31c0::,2803:31c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3200::,2803:3200:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:3220::,2803:3220:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19101,6 +19924,7 @@
2803:3520::,2803:3520:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:3540::,2803:3540:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3580::,2803:3580:ffff:ffff:ffff:ffff:ffff:ffff,PE
+2803:35a0::,2803:35a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:35c0::,2803:35c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3600::,2803:3600:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:3620::,2803:3620:ffff:ffff:ffff:ffff:ffff:ffff,PA
@@ -19123,6 +19947,7 @@
2803:3920::,2803:3920:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:3940::,2803:3940:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3980::,2803:3980:ffff:ffff:ffff:ffff:ffff:ffff,VE
+2803:39a0::,2803:39a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:39c0::,2803:39c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:3a00::,2803:3a00:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:3a20::,2803:3a20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19189,6 +20014,7 @@
2803:4520::,2803:4520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4540::,2803:4540:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:4580::,2803:4580:ffff:ffff:ffff:ffff:ffff:ffff,CR
+2803:45a0::,2803:45a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:45c0::,2803:45c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4600::,2803:4600:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:4620::,2803:4620:ffff:ffff:ffff:ffff:ffff:ffff,CO
@@ -19211,6 +20037,7 @@
2803:4920::,2803:4920:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:4940::,2803:4940:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4980::,2803:4980:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:49a0::,2803:49a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:49c0::,2803:49c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4a20::,2803:4a20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4a40::,2803:4a40:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19232,6 +20059,7 @@
2803:4d20::,2803:4d20:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:4d40::,2803:4d40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4d80::,2803:4d80:ffff:ffff:ffff:ffff:ffff:ffff,CW
+2803:4da0::,2803:4da0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4dc0::,2803:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:4e00::,2803:4e00:ffff:ffff:ffff:ffff:ffff:ffff,UY
2803:4e20::,2803:4e20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19277,6 +20105,7 @@
2803:5520::,2803:5520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:5540::,2803:5540:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:5580::,2803:5580:ffff:ffff:ffff:ffff:ffff:ffff,CR
+2803:55a0::,2803:55a0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:55c0::,2803:55c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:5600::,2803:5600:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:5620::,2803:5620:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19298,6 +20127,7 @@
2803:5920::,2803:5920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:5940::,2803:5940:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:5980::,2803:5980:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:59a0::,2803:59a0:ffff:ffff:ffff:ffff:ffff:ffff,SV
2803:59c0::,2803:59c0:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:5a00::,2803:5a00:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:5a20::,2803:5a20:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19364,6 +20194,7 @@
2803:6520::,2803:6520:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:6540::,2803:6540:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6580::,2803:6580:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:65a0::,2803:65a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:65c0::,2803:65c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:6600::,2803:6604:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6620::,2803:6620:ffff:ffff:ffff:ffff:ffff:ffff,EC
@@ -19385,6 +20216,7 @@
2803:6920::,2803:6920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6940::,2803:6940:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:6980::,2803:6980:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:69a0::,2803:69a0:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:69c0::,2803:69c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:6a00::,2803:6a00:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:6a20::,2803:6a20:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19429,6 +20261,7 @@
2803:7120::,2803:7120:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:7140::,2803:7140:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:7180::,2803:7180:ffff:ffff:ffff:ffff:ffff:ffff,PE
+2803:71a0::,2803:71a0:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:7200::,2803:7200:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:7220::,2803:7220:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:7240::,2803:7240:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19472,6 +20305,7 @@
2803:7920::,2803:7920:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:7940::,2803:7940:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:7980::,2803:7980:ffff:ffff:ffff:ffff:ffff:ffff,VE
+2803:79a0::,2803:79a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:79c0::,2803:79c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:7a00::,2803:7a00:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:7a20::,2803:7a20:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19539,6 +20373,7 @@
2803:8520::,2803:8520:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:8540::,2803:8540:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:8580::,2803:8580:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:85a0::,2803:85a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:85c0::,2803:85c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:8600::,2803:8600:ffff:ffff:ffff:ffff:ffff:ffff,HT
2803:8620::,2803:8620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19561,6 +20396,7 @@
2803:8920::,2803:8920:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:8940::,2803:8940:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:8980::,2803:8980:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:89a0::,2803:89a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:89c0::,2803:89c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:8a20::,2803:8a20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:8a40::,2803:8a40:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19626,6 +20462,7 @@
2803:9520::,2803:9520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9540::,2803:9540:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:9580::,2803:9580:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:95a0::,2803:95a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:95c0::,2803:95c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:9600::,2803:9600:ffff:ffff:ffff:ffff:ffff:ffff,CW
2803:9620::,2803:9620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19646,6 +20483,7 @@
2803:9920::,2803:9920:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:9940::,2803:9940:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9980::,2803:9980:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:99a0::,2803:99a0:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:99c0::,2803:99c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9a00::,2803:9a00:ffff:ffff:ffff:ffff:ffff:ffff,BZ
2803:9a20::,2803:9a20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19712,6 +20550,7 @@
2803:a520::,2803:a520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:a540::,2803:a540:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:a580::,2803:a580:ffff:ffff:ffff:ffff:ffff:ffff,HT
+2803:a5a0::,2803:a5a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:a5c0::,2803:a5c0:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:a600::,2803:a600:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:a620::,2803:a620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19733,6 +20572,7 @@
2803:a920::,2803:a920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:a940::,2803:a940:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:a980::,2803:a980:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:a9a0::,2803:a9a0:ffff:ffff:ffff:ffff:ffff:ffff,SV
2803:a9c0::,2803:a9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:aa00::,2803:aa00:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:aa20::,2803:aa20:ffff:ffff:ffff:ffff:ffff:ffff,EC
@@ -19774,6 +20614,7 @@
2803:b120::,2803:b120:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:b140::,2803:b140:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:b180::,2803:b180:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:b1a0::,2803:b1a0:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:b1c0::,2803:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:b200::,2803:b200:ffff:ffff:ffff:ffff:ffff:ffff,UY
2803:b220::,2803:b220:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19795,6 +20636,7 @@
2803:b500::,2803:b500:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:b520::,2803:b520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:b580::,2803:b580:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:b5a0::,2803:b5a0:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:b5c0::,2803:b5c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:b600::,2803:b600:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:b620::,2803:b620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19816,7 +20658,17 @@
2803:b900::,2803:b900:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:b920::,2803:b920:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:b940::,2803:b940:ffff:ffff:ffff:ffff:ffff:ffff,PE
-2803:b9c0::,2803:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:b9a0::,2803:b9a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:b9c0::,2803:b9c0:91ff:ffff:ffff:ffff:ffff:ffff,CO
+2803:b9c0:9200::,2803:b9c0:94ff:ffff:ffff:ffff:ffff:ffff,PE
+2803:b9c0:9500::,2803:b9c0:95ff:ffff:ffff:ffff:ffff:ffff,EC
+2803:b9c0:9600::,2803:b9c0:96ff:ffff:ffff:ffff:ffff:ffff,CL
+2803:b9c0:9700::,2803:b9c0:98ff:ffff:ffff:ffff:ffff:ffff,CO
+2803:b9c0:9900::,2803:b9c0:99ff:ffff:ffff:ffff:ffff:ffff,PE
+2803:b9c0:9a00::,2803:b9c0:9aff:ffff:ffff:ffff:ffff:ffff,EC
+2803:b9c0:9b00::,2803:b9c0:9dff:ffff:ffff:ffff:ffff:ffff,CO
+2803:b9c0:9e00::,2803:b9c0:9eff:ffff:ffff:ffff:ffff:ffff,PE
+2803:b9c0:9f00::,2803:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:ba00::,2803:ba00:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:ba20::,2803:ba20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ba40::,2803:ba40:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19882,6 +20734,7 @@
2803:c520::,2803:c520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:c540::,2803:c540:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:c580::,2803:c580:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:c5a0::,2803:c5a0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:c5c0::,2803:c5c0:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:c600::,2803:c600:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:c620::,2803:c620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19904,6 +20757,7 @@
2803:c920::,2803:c920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:c940::,2803:c940:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:c980::,2803:c980:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:c9a0::,2803:c9a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:c9c0::,2803:c9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ca00::,2803:ca00:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ca20::,2803:ca20:ffff:ffff:ffff:ffff:ffff:ffff,HN
@@ -19950,6 +20804,7 @@
2803:d120::,2803:d120:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:d140::,2803:d140:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:d180::,2803:d180:ffff:ffff:ffff:ffff:ffff:ffff,EC
+2803:d1a0::,2803:d1a0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:d1c0::,2803:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:d200::,2803:d200:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:d220::,2803:d220:ffff:ffff:ffff:ffff:ffff:ffff,EC
@@ -19971,6 +20826,7 @@
2803:d520::,2803:d520:ffff:ffff:ffff:ffff:ffff:ffff,BZ
2803:d540::,2803:d540:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:d580::,2803:d580:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:d5a0::,2803:d5a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:d5c0::,2803:d5c0:ffff:ffff:ffff:ffff:ffff:ffff,BZ
2803:d600::,2803:d600:ffff:ffff:ffff:ffff:ffff:ffff,UY
2803:d620::,2803:d620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19993,6 +20849,7 @@
2803:d920::,2803:d920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:d940::,2803:d940:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:d980::,2803:d980:ffff:ffff:ffff:ffff:ffff:ffff,PA
+2803:d9a0::,2803:d9a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:d9c0::,2803:d9c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:da00::,2803:da00:ffff:ffff:ffff:ffff:ffff:ffff,GY
2803:da20::,2803:da20:ffff:ffff:ffff:ffff:ffff:ffff,CO
@@ -20060,10 +20917,10 @@
2803:e520::,2803:e520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e540::,2803:e540:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e580::,2803:e580:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:e5a0::,2803:e5a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e5c0::,2803:e5c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e600::,2803:e600:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:e620::,2803:e620:ffff:ffff:ffff:ffff:ffff:ffff,EC
-2803:e640::,2803:e640:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:e680::,2803:e680:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:e6a0::,2803:e6a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e6c0::,2803:e6c0:ffff:ffff:ffff:ffff:ffff:ffff,SV
@@ -20081,6 +20938,7 @@
2803:e900::,2803:e900:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e920::,2803:e920:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:e940::,2803:e940:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:e9a0::,2803:e9a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e9c0::,2803:e9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ea00::,2803:ea00:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ea20::,2803:ea20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20125,6 +20983,7 @@
2803:f120::,2803:f120:ffff:ffff:ffff:ffff:ffff:ffff,UY
2803:f140::,2803:f140:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:f180::,2803:f180:ffff:ffff:ffff:ffff:ffff:ffff,HN
+2803:f1a0::,2803:f1a0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:f1c0::,2803:f1c0:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:f200::,2803:f200:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:f220::,2803:f220:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20147,6 +21006,7 @@
2803:f520::,2803:f520:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:f540::,2803:f540:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:f580::,2803:f580:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:f5a0::,2803:f5a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:f5c0::,2803:f5c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:f600::,2803:f600:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:f620::,2803:f620:ffff:ffff:ffff:ffff:ffff:ffff,PE
@@ -20168,6 +21028,7 @@
2803:f920::,2803:f920:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:f940::,2803:f940:ffff:ffff:ffff:ffff:ffff:ffff,SX
2803:f980::,2803:f980:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:f9a0::,2803:f9a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:f9c0::,2803:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:fa00::,2803:fa00:ffff:ffff:ffff:ffff:ffff:ffff,BO
2803:fa20::,2803:fa20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20395,7 +21256,6 @@
2804:350::,2804:350:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:354::,2804:354:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:358::,2804:358:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:35c::,2804:35c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:360::,2804:360:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:364::,2804:364:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:368::,2804:368:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -20405,7 +21265,9 @@
2804:378::,2804:378:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:37c::,2804:37c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:380::,2804:380:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:388::,2804:38b:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:388::,2804:388:129:13:ffff:ffff:ffff:ffff,BR
+2804:388:129:14::,2804:388:129:14:ffff:ffff:ffff:ffff,US
+2804:388:129:15::,2804:38b:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:390::,2804:390:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:394::,2804:394:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:39c::,2804:39c:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -20671,7 +21533,6 @@
2804:7e0::,2804:7e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:7e4::,2804:7e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:7e8::,2804:7e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:7ec::,2804:7ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:7f0::,2804:7f7:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:800::,2804:800:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:804::,2804:804:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -20951,7 +21812,6 @@
2804:c94::,2804:c94:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:c98::,2804:c98:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:c9c::,2804:c9c:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:ca0::,2804:ca0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:ca4::,2804:ca4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:ca8::,2804:ca8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:cac::,2804:cac:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -21235,7 +22095,6 @@
2804:1140::,2804:1140:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1144::,2804:1144:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1148::,2804:1148:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:114c::,2804:114c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1150::,2804:1150:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1154::,2804:1154:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1158::,2804:1158:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -21246,7 +22105,6 @@
2804:116c::,2804:116c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1170::,2804:1170:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1174::,2804:1174:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:1178::,2804:1178:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:117c::,2804:117c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1180::,2804:1180:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1184::,2804:1184:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -21902,6 +22760,7 @@
2804:1c04::,2804:1c04:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1c08::,2804:1c08:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1c0c::,2804:1c0c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:1c10::,2804:1c10:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1c14::,2804:1c14:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1c18::,2804:1c18:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1c1c::,2804:1c1c:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22102,6 +22961,7 @@
2804:1f30::,2804:1f30:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1f32::,2804:1f32:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1f34::,2804:1f34:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:1f36::,2804:1f36:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2000::,2804:2000:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2004::,2804:2004:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2008::,2804:2008:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22270,6 +23130,7 @@
2804:22bc::,2804:22bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:22c0::,2804:22c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:22c4::,2804:22c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:22cc::,2804:22cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:22d0::,2804:22d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:22d4::,2804:22d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:22d8::,2804:22d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22296,6 +23157,7 @@
2804:2330::,2804:2330:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2334::,2804:2334:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2338::,2804:2338:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:233c::,2804:233c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2340::,2804:2340:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2344::,2804:2344:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2348::,2804:2348:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22713,6 +23575,7 @@
2804:29fc::,2804:29fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2a00::,2804:2a00:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2a04::,2804:2a04:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:2a08::,2804:2a08:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2a0c::,2804:2a0c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2a10::,2804:2a10:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2a14::,2804:2a14:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22850,6 +23713,7 @@
2804:2c34::,2804:2c34:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2c38::,2804:2c38:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2c3c::,2804:2c3c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:2c40::,2804:2c40:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2c44::,2804:2c44:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2c48::,2804:2c48:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2c4c::,2804:2c4c:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22889,7 +23753,6 @@
2804:2cd4::,2804:2cd4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2cd8::,2804:2cd8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2cdc::,2804:2cdc:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:2ce0::,2804:2ce0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2ce4::,2804:2ce4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2ce8::,2804:2ce8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2cec::,2804:2cec:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -24090,7 +24953,6 @@
2804:3fa8::,2804:3fa8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3fac::,2804:3fac:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3fb0::,2804:3fb0:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:3fb4::,2804:3fb4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3fb8::,2804:3fb8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3fbc::,2804:3fbc:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3fc0::,2804:3fc0:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -25361,6 +26223,228 @@
2804:538c::,2804:538c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:5390::,2804:5390:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:5394::,2804:5394:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5398::,2804:5398:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:539c::,2804:539c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53a0::,2804:53a0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53a4::,2804:53a4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53a8::,2804:53a8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53ac::,2804:53ac:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53b0::,2804:53b0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53b4::,2804:53b4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53b8::,2804:53b8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53bc::,2804:53bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53c0::,2804:53c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53c4::,2804:53c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53c8::,2804:53c8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53cc::,2804:53cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53d0::,2804:53d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53d4::,2804:53d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53d8::,2804:53d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53dc::,2804:53dc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53e0::,2804:53e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53e4::,2804:53e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53e8::,2804:53e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53ec::,2804:53ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53f0::,2804:53f0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53f4::,2804:53f4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53f8::,2804:53f8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53fc::,2804:53fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5400::,2804:5400:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5404::,2804:5404:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5408::,2804:5408:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:540c::,2804:540c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5410::,2804:5410:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5414::,2804:5414:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5418::,2804:5418:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:541c::,2804:541c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5420::,2804:5420:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5424::,2804:5424:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5428::,2804:5428:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:542c::,2804:542c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5430::,2804:5430:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5434::,2804:5434:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5438::,2804:5438:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:543c::,2804:543c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5440::,2804:5440:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5444::,2804:5444:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5448::,2804:5448:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:544c::,2804:544c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5450::,2804:5450:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5454::,2804:5454:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5458::,2804:5458:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:545c::,2804:545c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5460::,2804:5460:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5464::,2804:5464:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5468::,2804:5468:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:546c::,2804:546c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5470::,2804:5470:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5474::,2804:5474:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5478::,2804:5478:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:547c::,2804:547c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5480::,2804:5480:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5484::,2804:5484:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5488::,2804:5488:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:548c::,2804:548c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5490::,2804:5490:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5494::,2804:5494:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5498::,2804:5498:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:549c::,2804:549c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54a0::,2804:54a0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54a4::,2804:54a4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54a8::,2804:54a8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54ac::,2804:54ac:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54b0::,2804:54b0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54b4::,2804:54b4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54b8::,2804:54b8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54bc::,2804:54bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54c0::,2804:54c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54c4::,2804:54c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54c8::,2804:54c8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54cc::,2804:54cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54d0::,2804:54d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54d4::,2804:54d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54d8::,2804:54d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54dc::,2804:54dc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54e0::,2804:54e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54e4::,2804:54e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54e8::,2804:54e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54ec::,2804:54ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54f0::,2804:54f0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54f4::,2804:54f4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54f8::,2804:54f8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54fc::,2804:54fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5500::,2804:5500:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5504::,2804:5504:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5508::,2804:5508:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:550c::,2804:550c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5510::,2804:5510:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5514::,2804:5514:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5518::,2804:5518:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:551c::,2804:551c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5520::,2804:5520:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5524::,2804:5524:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5528::,2804:5528:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:552c::,2804:552c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5530::,2804:5530:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5534::,2804:5534:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5538::,2804:5538:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:553c::,2804:553c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5540::,2804:5540:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5544::,2804:5544:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5548::,2804:5548:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:554c::,2804:554c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5550::,2804:5550:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5554::,2804:5554:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5558::,2804:5558:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:555c::,2804:555c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5560::,2804:5560:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5564::,2804:5564:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5568::,2804:5568:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:556c::,2804:556c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5570::,2804:5570:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5574::,2804:5574:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5578::,2804:5578:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:557c::,2804:557c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5580::,2804:5580:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5584::,2804:5584:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5588::,2804:5588:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:558c::,2804:558c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5590::,2804:5590:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5594::,2804:5594:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5598::,2804:5598:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:559c::,2804:559c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55a0::,2804:55a0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55a4::,2804:55a4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55a8::,2804:55a8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55ac::,2804:55ac:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55b0::,2804:55b0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55b4::,2804:55b4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55b8::,2804:55b8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55bc::,2804:55bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55c0::,2804:55c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55c4::,2804:55c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55c8::,2804:55c8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55cc::,2804:55cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55d0::,2804:55d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55d4::,2804:55d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55d8::,2804:55d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55dc::,2804:55dc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55e0::,2804:55e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55e4::,2804:55e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55e8::,2804:55e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55ec::,2804:55ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55f0::,2804:55f0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55f4::,2804:55f4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55f8::,2804:55f8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55fc::,2804:55fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5600::,2804:5600:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5604::,2804:5604:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5608::,2804:5608:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:560c::,2804:560c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5610::,2804:5610:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5614::,2804:5614:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5618::,2804:5618:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:561c::,2804:561c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5620::,2804:5620:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5624::,2804:5624:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5628::,2804:5628:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:562c::,2804:562c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5630::,2804:5630:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5634::,2804:5634:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5638::,2804:5638:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:563c::,2804:563c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5640::,2804:5640:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5644::,2804:5644:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5648::,2804:5648:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:564c::,2804:564c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5650::,2804:5650:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5654::,2804:5654:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5658::,2804:5658:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:565c::,2804:565c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5660::,2804:5660:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5664::,2804:5664:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5668::,2804:5668:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:566c::,2804:566c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5670::,2804:5670:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5674::,2804:5674:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5678::,2804:5678:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:567c::,2804:567c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5680::,2804:5680:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5684::,2804:5684:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5688::,2804:5688:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:568c::,2804:568c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5690::,2804:5690:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5694::,2804:5694:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5698::,2804:5698:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:569c::,2804:569c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56a0::,2804:56a0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56a4::,2804:56a4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56a8::,2804:56a8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56ac::,2804:56ac:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56b0::,2804:56b0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56b4::,2804:56b4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56b8::,2804:56b8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56bc::,2804:56bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56c0::,2804:56c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56c4::,2804:56c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56c8::,2804:56c8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56cc::,2804:56cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56d0::,2804:56d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56d4::,2804:56d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56d8::,2804:56d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56dc::,2804:56dc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56e0::,2804:56e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56e4::,2804:56e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56e8::,2804:56e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56ec::,2804:56ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56f0::,2804:56f0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56f4::,2804:56f4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56f8::,2804:56f8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56fc::,2804:56fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5700::,2804:5700:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5704::,2804:5704:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5708::,2804:5708:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:570c::,2804:570c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2806::,2806:f:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:200::,2806:215:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:217::,2806:220:ffff:ffff:ffff:ffff:ffff:ffff,MX
@@ -25378,9 +26462,9 @@
2806:2e0::,2806:2ee:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:2f0::,2806:2f0:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:2f4::,2806:2f4:ffff:ffff:ffff:ffff:ffff:ffff,MX
-2806:2f6::,2806:306:ffff:ffff:ffff:ffff:ffff:ffff,MX
-2806:30a::,2806:30a:ffff:ffff:ffff:ffff:ffff:ffff,MX
-2806:310::,2806:310:ffff:ffff:ffff:ffff:ffff:ffff,MX
+2806:2f6::,2806:312:ffff:ffff:ffff:ffff:ffff:ffff,MX
+2806:314::,2806:315:ffff:ffff:ffff:ffff:ffff:ffff,MX
+2806:317::,2806:317:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:320::,2806:320:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:330::,2806:330:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:350::,2806:350:ffff:ffff:ffff:ffff:ffff:ffff,MX
@@ -25532,7 +26616,11 @@
2a00:1010::,2a00:1010:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1018::,2a00:1018:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1020::,2a00:1020:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a00:1028::,2a00:102f:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a00:1028::,2a00:1028:96d2:7fff:ffff:ffff:ffff:ffff,CZ
+2a00:1028:96d2:8000::,2a00:1028:96d2:9fff:ffff:ffff:ffff:ffff,US
+2a00:1028:96d2:a000::,2a00:1028:96d2:bfff:ffff:ffff:ffff:ffff,CZ
+2a00:1028:96d2:c000::,2a00:1028:96d2:ffff:ffff:ffff:ffff:ffff,US
+2a00:1028:96d3::,2a00:102f:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a00:1030::,2a00:1030:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1040::,2a00:1040:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a00:1048::,2a00:1048:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -25584,7 +26672,9 @@
2a00:11c0:b::,2a00:11c0:b:ffff:ffff:ffff:ffff:ffff,IT
2a00:11c0:c::,2a00:11c0:f:ffff:ffff:ffff:ffff:ffff,AT
2a00:11c0:10::,2a00:11c0:10:ffff:ffff:ffff:ffff:ffff,BR
-2a00:11c0:11::,2a00:11c0:62:ffff:ffff:ffff:ffff:ffff,AT
+2a00:11c0:11::,2a00:11c0:1f:ffff:ffff:ffff:ffff:ffff,AT
+2a00:11c0:20::,2a00:11c0:3f:ffff:ffff:ffff:ffff:ffff,IN
+2a00:11c0:40::,2a00:11c0:62:ffff:ffff:ffff:ffff:ffff,AT
2a00:11c0:63::,2a00:11c0:63:ffff:ffff:ffff:ffff:ffff,NL
2a00:11c0:64::,2a00:11c0:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a00:11c8::,2a00:11c8:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -25593,7 +26683,7 @@
2a00:11e0::,2a00:11e0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:11e8::,2a00:11ef:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:11f0::,2a00:11f0:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a00:11f8::,2a00:11f8:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a00:11f8::,2a00:11ff:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:1200::,2a00:1200:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1208::,2a00:1208:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a00:1210::,2a00:1210:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -25657,7 +26747,6 @@
2a00:1390::,2a00:1390:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:1398::,2a00:139f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:13a0::,2a00:13a0:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a00:13a8::,2a00:13a8:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:13b0::,2a00:13b0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:13b8::,2a00:13b8:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a00:13c0::,2a00:13c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -25721,7 +26810,6 @@
2a00:1538::,2a00:1538:ffff:ffff:ffff:ffff:ffff:ffff,NG
2a00:1540::,2a00:1540:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:1548::,2a00:1548:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a00:1550::,2a00:1550:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a00:1558::,2a00:1558:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:1560::,2a00:1560:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a00:1568::,2a00:1568:ffff:ffff:ffff:ffff:ffff:ffff,DK
@@ -25826,19 +26914,24 @@
2a00:18f0::,2a00:18f0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:18f8::,2a00:18f8:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a00:1900::,2a00:1900:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:1908::,2a00:1908:bfff:ffff:ffff:ffff:ffff:ffff,UA
+2a00:1908:e47::,2a00:1908:e47:ffff:ffff:ffff:ffff:ffff,NO
+2a00:1908:a000::,2a00:1908:bfff:ffff:ffff:ffff:ffff:ffff,UA
2a00:1908:c000::,2a00:1908:dfff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:1908:e000::,2a00:1908:e964:ffff:ffff:ffff:ffff:ffff,UA
+2a00:1908:e000::,2a00:1908:e000:ffff:ffff:ffff:ffff:ffff,UA
+2a00:1908:e100::,2a00:1908:e100:ffff:ffff:ffff:ffff:ffff,UA
+2a00:1908:e700::,2a00:1908:e700:ffff:ffff:ffff:ffff:ffff,RU
2a00:1908:e965::,2a00:1908:e965:ffff:ffff:ffff:ffff:ffff,KW
-2a00:1908:e966::,2a00:1908:fff9:ffff:ffff:ffff:ffff:ffff,UA
+2a00:1908:faca::,2a00:1908:faca:ffff:ffff:ffff:ffff:ffff,UA
2a00:1908:fffb::,2a00:1908:fffb:ffff:ffff:ffff:ffff:ffff,DE
2a00:1908:fffc::,2a00:1908:fffc:ffff:ffff:ffff:ffff:ffff,UA
2a00:1908:fffd::,2a00:1908:fffd:ffff:ffff:ffff:ffff:ffff,DE
2a00:1908:fffe::,2a00:1908:fffe:ffff:ffff:ffff:ffff:ffff,FR
2a00:1908:ffff::,2a00:1908:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a00:1909::,2a00:1909:ffff:ffff:ffff:ffff:ffff:ffff,GR
-2a00:190a::,2a00:190a:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:190b::,2a00:190f:ffff:ffff:ffff:ffff:ffff:ffff,LT
+2a00:1909::,2a00:1909:3fff:ffff:ffff:ffff:ffff:ffff,GR
+2a00:190a::,2a00:190a:3fff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:190b::,2a00:190b:fff:ffff:ffff:ffff:ffff:ffff,FR
+2a00:190c::,2a00:190c:fff:ffff:ffff:ffff:ffff:ffff,GB
+2a00:190d::,2a00:190d:fff:ffff:ffff:ffff:ffff:ffff,KW
2a00:1910::,2a00:1917:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1918::,2a00:191f:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a00:1920::,2a00:1928:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -25860,8 +26953,7 @@
2a00:19b0::,2a00:19b0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:19b8::,2a00:19b8:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:19c0::,2a00:19c0:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a00:19c8::,2a00:19c8:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:19d0::,2a00:19d7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:19c8::,2a00:19d7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:19d8::,2a00:19d8:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:19e0::,2a00:19e7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:19e8::,2a00:19e8:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -25947,7 +27039,7 @@
2a00:1c28:4:2312::,2a00:1c2f:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:1c30::,2a00:1c30:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a00:1c38::,2a00:1c3f:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:1c40::,2a00:1c40:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a00:1c40::,2a00:1c47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:1c48::,2a00:1c49:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:1c50::,2a00:1c50:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a00:1c58::,2a00:1c58:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -26068,14 +27160,14 @@
2a00:1fe8::,2a00:1fe8:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1ff0::,2a00:1ff0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:1ff8::,2a00:1ff8:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:2000:100::,2a00:2000:208a:ffff:ffff:ffff:ffff:ffff,GB
+2a00:2000::,2a00:2000:208a:ffff:ffff:ffff:ffff:ffff,GB
2a00:2000:208b::,2a00:2000:208b:ffff:ffff:ffff:ffff:ffff,PL
2a00:2000:208c::,2a00:2000:208c:ffff:ffff:ffff:ffff:ffff,NO
2a00:2000:208d::,2a00:2000:5dff:ffff:ffff:ffff:ffff:ffff,GB
2a00:2000:5e00::,2a00:2000:5eff:ffff:ffff:ffff:ffff:ffff,PL
2a00:2000:5f00::,2a00:2000:5fff:ffff:ffff:ffff:ffff:ffff,NO
2a00:2000:6000::,2a00:23ff:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a00:4000::,2a00:4000:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a00:4000::,2a00:4007:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a00:4020::,2a00:4020:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a00:4040::,2a00:4040:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:4060::,2a00:4067:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -26157,7 +27249,7 @@
2a00:4a00::,2a00:4a00:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:4a20::,2a00:4a20:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:4a40::,2a00:4a40:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a00:4a60::,2a00:4a60:ffff:ffff:ffff:ffff:ffff:ffff,PS
+2a00:4a60::,2a00:4a67:ffff:ffff:ffff:ffff:ffff:ffff,PS
2a00:4a80::,2a00:4a80:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:4aa0::,2a00:4aa0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:4ae0::,2a00:4ae7:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -26214,7 +27306,7 @@
2a00:50e0::,2a00:50e7:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a00:5100::,2a00:5100:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a00:5120::,2a00:5120:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a00:5140::,2a00:5140:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a00:5140::,2a00:5147:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:5160::,2a00:5160:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:5180::,2a00:5180:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:51a0::,2a00:51a0:ffff:ffff:ffff:ffff:ffff:ffff,BG
@@ -26327,7 +27419,7 @@
2a00:5d80::,2a00:5d80:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:5da0::,2a00:5da0:ffff:ffff:ffff:ffff:ffff:ffff,KZ
2a00:5dc0::,2a00:5dc0:ffff:ffff:ffff:ffff:ffff:ffff,RO
-2a00:5de0::,2a00:5de0:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a00:5de0::,2a00:5de7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:5e00::,2a00:5e00:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:5e40::,2a00:5e40:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a00:5e60::,2a00:5e60:ffff:ffff:ffff:ffff:ffff:ffff,LB
@@ -26548,42 +27640,328 @@
2a00:7960::,2a00:7960:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:79a0::,2a00:79a0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:79c0::,2a00:79c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:79e0::,2a00:79e0:3:ffff:ffff:ffff:ffff:ffff,PL
+2a00:79e0::,2a00:79e0::ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:1::,2a00:79e0:2:ffff:ffff:ffff:ffff:ffff,PL
+2a00:79e0:3::,2a00:79e0:3:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:4::,2a00:79e0:4:ffff:ffff:ffff:ffff:ffff,FI
2a00:79e0:5::,2a00:79e0:5:ffff:ffff:ffff:ffff:ffff,IT
-2a00:79e0:8::,2a00:79e0:f:ffff:ffff:ffff:ffff:ffff,GB
-2a00:79e0:10::,2a00:79e0:13:ffff:ffff:ffff:ffff:ffff,GH
+2a00:79e0:6::,2a00:79e0:6:ffff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:8::,2a00:79e0:8:ffff:ffff:ffff:ffff:ffff,PL
+2a00:79e0:9::,2a00:79e0:a:ffff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:b::,2a00:79e0:b:ffff:ffff:ffff:ffff:ffff,IT
+2a00:79e0:c::,2a00:79e0:c:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:d::,2a00:79e0:f:ffff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:10::,2a00:79e0:13:ffff:ffff:ffff:ffff:ffff,PL
2a00:79e0:14::,2a00:79e0:14:ffff:ffff:ffff:ffff:ffff,ZA
-2a00:79e0:15::,2a00:79e0:17:ffff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:15::,2a00:79e0:15:ffff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:18::,2a00:79e0:18:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:19::,2a00:79e0:19:ffff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:1a::,2a00:79e0:1a:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:1b::,2a00:79e0:1b:ffff:ffff:ffff:ffff:ffff,CH
2a00:79e0:1c::,2a00:79e0:1c:ffff:ffff:ffff:ffff:ffff,NL
-2a00:79e0:1f::,2a00:79e0:1f:ffff:ffff:ffff:ffff:ffff,LT
-2a00:79e0:20::,2a00:79e0:22:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:1d::,2a00:79e0:1e:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:1f::,2a00:79e0:1f:ffff:ffff:ffff:ffff:ffff,AE
2a00:79e0:23::,2a00:79e0:23:ffff:ffff:ffff:ffff:ffff,GB
-2a00:79e0:24::,2a00:79e0:26:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:25::,2a00:79e0:25:ffff:ffff:ffff:ffff:ffff,DE
2a00:79e0:27::,2a00:79e0:27:ffff:ffff:ffff:ffff:ffff,NL
-2a00:79e0:28::,2a00:79e0:30:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:29::,2a00:79e0:29:ffff:ffff:ffff:ffff:ffff,NL
+2a00:79e0:2e::,2a00:79e0:2e:ffff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:2f::,2a00:79e0:2f:ffff:ffff:ffff:ffff:ffff,FR
2a00:79e0:31::,2a00:79e0:31:ffff:ffff:ffff:ffff:ffff,SK
-2a00:79e0:32::,2a00:79e0:36:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:35::,2a00:79e0:35:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:36::,2a00:79e0:36:ffff:ffff:ffff:ffff:ffff,IT
2a00:79e0:37::,2a00:79e0:37:ffff:ffff:ffff:ffff:ffff,DE
2a00:79e0:38::,2a00:79e0:38:ffff:ffff:ffff:ffff:ffff,IE
2a00:79e0:39::,2a00:79e0:39:ffff:ffff:ffff:ffff:ffff,PT
-2a00:79e0:3a::,2a00:79e0:41:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:3b::,2a00:79e0:3c:ffff:ffff:ffff:ffff:ffff,FI
+2a00:79e0:3f::,2a00:79e0:3f:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:40::,2a00:79e0:41:ffff:ffff:ffff:ffff:ffff,IE
2a00:79e0:42::,2a00:79e0:42:ffff:ffff:ffff:ffff:ffff,CH
-2a00:79e0:43::,2a00:79e0:43:ffff:ffff:ffff:ffff:ffff,IE
-2a00:79e0:60::,2a00:79e0:60:ffff:ffff:ffff:ffff:ffff,CH
-2a00:79e0:100::,2a00:79e0:ffe2:4ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:43::,2a00:79e0:46:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:60::,2a00:79e0:61:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:62::,2a00:79e0:63:ffff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:64::,2a00:79e0:7f:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:a0::,2a00:79e0:a0:ffff:ffff:ffff:ffff:ffff,FR
+2a00:79e0:a3::,2a00:79e0:a3:ffff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:100::,2a00:79e0:1ff:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200::,2a00:79e0:200:ff:ffff:ffff:ffff:ffff,IN
+2a00:79e0:200:100::,2a00:79e0:200:1ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:200::,2a00:79e0:200:2ff:ffff:ffff:ffff:ffff,BR
+2a00:79e0:200:300::,2a00:79e0:200:3ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:200:400::,2a00:79e0:200:4ff:ffff:ffff:ffff:ffff,JP
+2a00:79e0:200:500::,2a00:79e0:200:5ff:ffff:ffff:ffff:ffff,CN
+2a00:79e0:200:600::,2a00:79e0:200:6ff:ffff:ffff:ffff:ffff,AU
+2a00:79e0:200:700::,2a00:79e0:200:7ff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:200:800::,2a00:79e0:200:8ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:900::,2a00:79e0:200:9ff:ffff:ffff:ffff:ffff,RU
+2a00:79e0:200:a00::,2a00:79e0:200:aff:ffff:ffff:ffff:ffff,US
+2a00:79e0:200:b00::,2a00:79e0:200:bff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:c00::,2a00:79e0:200:cff:ffff:ffff:ffff:ffff,AR
+2a00:79e0:200:d00::,2a00:79e0:200:dff:ffff:ffff:ffff:ffff,UA
+2a00:79e0:200:e00::,2a00:79e0:200:fff:ffff:ffff:ffff:ffff,US
+2a00:79e0:200:1000::,2a00:79e0:200:10ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:1100::,2a00:79e0:200:11ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:200:1200::,2a00:79e0:200:12ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:1300::,2a00:79e0:200:13ff:ffff:ffff:ffff:ffff,KR
+2a00:79e0:200:1400::,2a00:79e0:200:5cff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:5d00::,2a00:79e0:200:5dff:ffff:ffff:ffff:ffff,US
+2a00:79e0:200:5e00::,2a00:79e0:300:ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:300:100::,2a00:79e0:300:1ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:300:200::,2a00:79e0:ffdf:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe0::,2a00:79e0:ffe0:ff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:ffe0:100::,2a00:79e0:ffe0:1ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe0:200::,2a00:79e0:ffe0:7ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe0:800::,2a00:79e0:ffe0:8ff:ffff:ffff:ffff:ffff,TW
+2a00:79e0:ffe0:900::,2a00:79e0:ffe0:9ff:ffff:ffff:ffff:ffff,IN
+2a00:79e0:ffe0:a00::,2a00:79e0:ffe0:cff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe0:d00::,2a00:79e0:ffe0:dff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe0:e00::,2a00:79e0:ffe0:fff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe0:1000::,2a00:79e0:ffe0:11ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe0:1200::,2a00:79e0:ffe0:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1::,2a00:79e0:ffe1:2ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe1:300::,2a00:79e0:ffe1:3fff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:4000::,2a00:79e0:ffe1:48ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe1:4900::,2a00:79e0:ffe1:49ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:4a00::,2a00:79e0:ffe1:4aff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe1:4b00::,2a00:79e0:ffe1:4bff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:4c00::,2a00:79e0:ffe1:4dff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe1:4e00::,2a00:79e0:ffe1:4fff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:5000::,2a00:79e0:ffe1:51ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe1:5200::,2a00:79e0:ffe1:7fff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:8000::,2a00:79e0:ffe1:81ff:ffff:ffff:ffff:ffff,IN
+2a00:79e0:ffe1:8200::,2a00:79e0:ffe1:82ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:8300::,2a00:79e0:ffe1:83ff:ffff:ffff:ffff:ffff,IN
+2a00:79e0:ffe1:8400::,2a00:79e0:ffe1:c0ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:c100::,2a00:79e0:ffe1:c1ff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:ffe1:c200::,2a00:79e0:ffe1:c2ff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:ffe1:c300::,2a00:79e0:ffe1:c3ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:c400::,2a00:79e0:ffe1:c4ff:ffff:ffff:ffff:ffff,FR
+2a00:79e0:ffe1:c500::,2a00:79e0:ffe2:1ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:200::,2a00:79e0:ffe2:4ff:ffff:ffff:ffff:ffff,US
2a00:79e0:ffe2:500::,2a00:79e0:ffe2:5ff:ffff:ffff:ffff:ffff,IE
-2a00:79e0:ffe2:600::,2a00:79e1:abb:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:600::,2a00:79e0:ffe2:6ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:700::,2a00:79e0:ffe2:7ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:800::,2a00:79e0:ffe2:8ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:900::,2a00:79e0:ffe2:bff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:c00::,2a00:79e0:ffe2:cff:ffff:ffff:ffff:ffff,AR
+2a00:79e0:ffe2:d00::,2a00:79e0:ffe2:dff:ffff:ffff:ffff:ffff,CA
+2a00:79e0:ffe2:e00::,2a00:79e0:ffe2:eff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:f00::,2a00:79e0:ffe2:fff:ffff:ffff:ffff:ffff,BR
+2a00:79e0:ffe2:1000::,2a00:79e0:ffe2:11ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:1200::,2a00:79e0:ffe2:12ff:ffff:ffff:ffff:ffff,BR
+2a00:79e0:ffe2:1300::,2a00:79e0:ffe2:13ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:1400::,2a00:79e0:ffe2:14ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:1500::,2a00:79e0:ffe2:15ff:ffff:ffff:ffff:ffff,AE
+2a00:79e0:ffe2:1600::,2a00:79e0:ffe2:1bff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:1c00::,2a00:79e0:ffe2:1cff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:ffe2:1d00::,2a00:79e0:ffe2:1dff:ffff:ffff:ffff:ffff,TW
+2a00:79e0:ffe2:1e00::,2a00:79e0:ffe2:1eff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:1f00::,2a00:79e0:ffe2:1fff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:2000::,2a00:79e0:ffe2:20ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:2100::,2a00:79e0:ffe2:21ff:ffff:ffff:ffff:ffff,PL
+2a00:79e0:ffe2:2200::,2a00:79e0:ffe2:22ff:ffff:ffff:ffff:ffff,AE
+2a00:79e0:ffe2:2300::,2a00:79e0:ffe2:23ff:ffff:ffff:ffff:ffff,BR
+2a00:79e0:ffe2:2400::,2a00:79e0:ffe2:24ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:2500::,2a00:79e0:ffe2:25ff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:ffe2:2600::,2a00:79e0:ffe2:26ff:ffff:ffff:ffff:ffff,FR
+2a00:79e0:ffe2:2700::,2a00:79e0:ffe2:29ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:2a00::,2a00:79e0:ffe2:2aff:ffff:ffff:ffff:ffff,MY
+2a00:79e0:ffe2:2b00::,2a00:79e0:ffe2:2bff:ffff:ffff:ffff:ffff,SK
+2a00:79e0:ffe2:2c00::,2a00:79e0:ffe2:2cff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:2d00::,2a00:79e0:ffe2:2dff:ffff:ffff:ffff:ffff,KR
+2a00:79e0:ffe2:2e00::,2a00:79e0:ffe2:32ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:3300::,2a00:79e0:ffe2:33ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:3400::,2a00:79e0:ffe2:37ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:3800::,2a00:79e0:ffe2:39ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:3a00::,2a00:79e0:ffe2:3aff:ffff:ffff:ffff:ffff,NL
+2a00:79e0:ffe2:3b00::,2a00:79e0:ffe2:3bff:ffff:ffff:ffff:ffff,AR
+2a00:79e0:ffe2:3c00::,2a00:79e0:ffe2:3dff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:3e00::,2a00:79e0:ffe2:3eff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:3f00::,2a00:79e0:ffe2:3fff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:4000::,2a00:79e0:ffe2:41ff:ffff:ffff:ffff:ffff,TW
+2a00:79e0:ffe2:4200::,2a00:79e0:ffe2:42ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:4300::,2a00:79e0:ffe2:43ff:ffff:ffff:ffff:ffff,TW
+2a00:79e0:ffe2:4400::,2a00:79e0:ffe2:44ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:4500::,2a00:79e0:ffe2:45ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:4600::,2a00:79e0:ffe2:46ff:ffff:ffff:ffff:ffff,NZ
+2a00:79e0:ffe2:4700::,2a00:79e0:ffe2:47ff:ffff:ffff:ffff:ffff,AU
+2a00:79e0:ffe2:4800::,2a00:79e0:ffe2:48ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:4900::,2a00:79e0:ffe2:4aff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:4b00::,2a00:79e0:ffe2:4bff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:ffe2:4c00::,2a00:79e0:ffe2:4cff:ffff:ffff:ffff:ffff,CN
+2a00:79e0:ffe2:4d00::,2a00:79e0:ffe2:4dff:ffff:ffff:ffff:ffff,IT
+2a00:79e0:ffe2:4e00::,2a00:79e0:ffe2:4eff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:4f00::,2a00:79e0:ffe2:4fff:ffff:ffff:ffff:ffff,TW
+2a00:79e0:ffe2:5000::,2a00:79e0:ffe2:50ff:ffff:ffff:ffff:ffff,NL
+2a00:79e0:ffe2:5100::,2a00:79e0:ffe2:51ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:5200::,2a00:79e0:ffe2:52ff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:ffe2:5300::,2a00:79e0:ffe2:54ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:5500::,2a00:79e0:ffe2:55ff:ffff:ffff:ffff:ffff,PT
+2a00:79e0:ffe2:5600::,2a00:79e0:ffe2:56ff:ffff:ffff:ffff:ffff,IN
+2a00:79e0:ffe2:5700::,2a00:79e0:ffe2:59ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:5a00::,2a00:79e0:ffe2:5aff:ffff:ffff:ffff:ffff,FR
+2a00:79e0:ffe2:5b00::,2a00:79e0:ffe2:5eff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:5f00::,2a00:79e0:ffe2:5fff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:6000::,2a00:79e0:ffe2:60ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:6100::,2a00:79e0:ffe2:61ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:6200::,2a00:79e0:ffe2:62ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:6300::,2a00:79e0:ffe2:63ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:6400::,2a00:79e0:ffe2:64ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:6500::,2a00:79e0:ffe2:65ff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:ffe2:6600::,2a00:79e0:ffe2:66ff:ffff:ffff:ffff:ffff,AU
+2a00:79e0:ffe2:6700::,2a00:79e0:ffe2:67ff:ffff:ffff:ffff:ffff,MY
+2a00:79e0:ffe2:6800::,2a00:79e0:ffe2:68ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:6900::,2a00:79e0:ffe2:69ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:6a00::,2a00:79e0:ffe2:6aff:ffff:ffff:ffff:ffff,KR
+2a00:79e0:ffe2:6b00::,2a00:79e0:ffe2:6bff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:ffe2:6c00::,2a00:79e0:ffe2:6cff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:6d00::,2a00:79e0:ffe2:6dff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:6e00::,2a00:79e1::ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e1:1::,2a00:79e1:1:ffff:ffff:ffff:ffff:ffff,CN
+2a00:79e1:2::,2a00:79e1:7f:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e1:80::,2a00:79e1:80:ff:ffff:ffff:ffff:ffff,NL
+2a00:79e1:80:100::,2a00:79e1:abb:ffff:ffff:ffff:ffff:ffff,CH
2a00:79e1:abc::,2a00:79e1:abc:ff:ffff:ffff:ffff:ffff,GB
-2a00:79e1:abc:100::,2a00:79e1:abc:dff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:100::,2a00:79e1:abc:1ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:200::,2a00:79e1:abc:3ff:ffff:ffff:ffff:ffff,CH
+2a00:79e1:abc:400::,2a00:79e1:abc:4ff:ffff:ffff:ffff:ffff,IN
+2a00:79e1:abc:500::,2a00:79e1:abc:5ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:600::,2a00:79e1:abc:6ff:ffff:ffff:ffff:ffff,IN
+2a00:79e1:abc:700::,2a00:79e1:abc:7ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:800::,2a00:79e1:abc:8ff:ffff:ffff:ffff:ffff,NZ
+2a00:79e1:abc:900::,2a00:79e1:abc:dff:ffff:ffff:ffff:ffff,US
2a00:79e1:abc:e00::,2a00:79e1:abc:fff:ffff:ffff:ffff:ffff,IN
-2a00:79e1:abc:1000::,2a00:79e1:abc:11ff:ffff:ffff:ffff:ffff,IE
-2a00:79e1:abc:1200::,2a00:79e1:abc:6eff:ffff:ffff:ffff:ffff,US
-2a00:79e1:abc:6f00::,2a00:79e1:abc:6fff:ffff:ffff:ffff:ffff,TW
-2a00:79e1:abc:7000::,2a00:79e1:abc:90ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:1000::,2a00:79e1:abc:10ff:ffff:ffff:ffff:ffff,DK
+2a00:79e1:abc:1100::,2a00:79e1:abc:11ff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:1200::,2a00:79e1:abc:17ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:1800::,2a00:79e1:abc:19ff:ffff:ffff:ffff:ffff,PH
+2a00:79e1:abc:1a00::,2a00:79e1:abc:1bff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:1c00::,2a00:79e1:abc:1cff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:1d00::,2a00:79e1:abc:1dff:ffff:ffff:ffff:ffff,CH
+2a00:79e1:abc:1e00::,2a00:79e1:abc:1fff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:2000::,2a00:79e1:abc:20ff:ffff:ffff:ffff:ffff,CA
+2a00:79e1:abc:2100::,2a00:79e1:abc:21ff:ffff:ffff:ffff:ffff,CN
+2a00:79e1:abc:2200::,2a00:79e1:abc:23ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:2400::,2a00:79e1:abc:24ff:ffff:ffff:ffff:ffff,AR
+2a00:79e1:abc:2500::,2a00:79e1:abc:25ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:2600::,2a00:79e1:abc:26ff:ffff:ffff:ffff:ffff,JP
+2a00:79e1:abc:2700::,2a00:79e1:abc:29ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:2a00::,2a00:79e1:abc:2cff:ffff:ffff:ffff:ffff,AU
+2a00:79e1:abc:2d00::,2a00:79e1:abc:2dff:ffff:ffff:ffff:ffff,BR
+2a00:79e1:abc:2e00::,2a00:79e1:abc:2eff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:2f00::,2a00:79e1:abc:2fff:ffff:ffff:ffff:ffff,CO
+2a00:79e1:abc:3000::,2a00:79e1:abc:32ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:3300::,2a00:79e1:abc:33ff:ffff:ffff:ffff:ffff,CA
+2a00:79e1:abc:3400::,2a00:79e1:abc:34ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:3500::,2a00:79e1:abc:35ff:ffff:ffff:ffff:ffff,BR
+2a00:79e1:abc:3600::,2a00:79e1:abc:36ff:ffff:ffff:ffff:ffff,JP
+2a00:79e1:abc:3700::,2a00:79e1:abc:37ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:3800::,2a00:79e1:abc:3aff:ffff:ffff:ffff:ffff,IN
+2a00:79e1:abc:3b00::,2a00:79e1:abc:3dff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:3e00::,2a00:79e1:abc:3eff:ffff:ffff:ffff:ffff,IT
+2a00:79e1:abc:3f00::,2a00:79e1:abc:40ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:4100::,2a00:79e1:abc:41ff:ffff:ffff:ffff:ffff,BR
+2a00:79e1:abc:4200::,2a00:79e1:abc:43ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:4400::,2a00:79e1:abc:44ff:ffff:ffff:ffff:ffff,NL
+2a00:79e1:abc:4500::,2a00:79e1:abc:4aff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:4b00::,2a00:79e1:abc:4bff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:4c00::,2a00:79e1:abc:4dff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:4e00::,2a00:79e1:abc:4eff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:4f00::,2a00:79e1:abc:4fff:ffff:ffff:ffff:ffff,PL
+2a00:79e1:abc:5000::,2a00:79e1:abc:50ff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:5100::,2a00:79e1:abc:51ff:ffff:ffff:ffff:ffff,JP
+2a00:79e1:abc:5200::,2a00:79e1:abc:52ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:5300::,2a00:79e1:abc:54ff:ffff:ffff:ffff:ffff,KR
+2a00:79e1:abc:5500::,2a00:79e1:abc:56ff:ffff:ffff:ffff:ffff,MY
+2a00:79e1:abc:5700::,2a00:79e1:abc:57ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:5800::,2a00:79e1:abc:58ff:ffff:ffff:ffff:ffff,TH
+2a00:79e1:abc:5900::,2a00:79e1:abc:61ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:6200::,2a00:79e1:abc:62ff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:6300::,2a00:79e1:abc:63ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:6400::,2a00:79e1:abc:64ff:ffff:ffff:ffff:ffff,CA
+2a00:79e1:abc:6500::,2a00:79e1:abc:68ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:6900::,2a00:79e1:abc:69ff:ffff:ffff:ffff:ffff,HK
+2a00:79e1:abc:6a00::,2a00:79e1:abc:6dff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:6e00::,2a00:79e1:abc:6fff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:7000::,2a00:79e1:abc:78ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:7900::,2a00:79e1:abc:79ff:ffff:ffff:ffff:ffff,BE
+2a00:79e1:abc:7a00::,2a00:79e1:abc:83ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:8400::,2a00:79e1:abc:84ff:ffff:ffff:ffff:ffff,BE
+2a00:79e1:abc:8500::,2a00:79e1:abc:85ff:ffff:ffff:ffff:ffff,BR
+2a00:79e1:abc:8600::,2a00:79e1:abc:86ff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:8700::,2a00:79e1:abc:87ff:ffff:ffff:ffff:ffff,ES
+2a00:79e1:abc:8800::,2a00:79e1:abc:88ff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:8900::,2a00:79e1:abc:89ff:ffff:ffff:ffff:ffff,FI
+2a00:79e1:abc:8a00::,2a00:79e1:abc:8aff:ffff:ffff:ffff:ffff,AR
+2a00:79e1:abc:8b00::,2a00:79e1:abc:8bff:ffff:ffff:ffff:ffff,FR
+2a00:79e1:abc:8c00::,2a00:79e1:abc:8cff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:8d00::,2a00:79e1:abc:8dff:ffff:ffff:ffff:ffff,NL
+2a00:79e1:abc:8e00::,2a00:79e1:abc:8eff:ffff:ffff:ffff:ffff,IT
+2a00:79e1:abc:8f00::,2a00:79e1:abc:90ff:ffff:ffff:ffff:ffff,US
2a00:79e1:abc:9100::,2a00:79e1:abc:91ff:ffff:ffff:ffff:ffff,TW
-2a00:79e1:abc:9200::,2a00:79e1:abc:b1ff:ffff:ffff:ffff:ffff,US
-2a00:79e1:abc:b200::,2a00:79e1:abc:b2ff:ffff:ffff:ffff:ffff,TW
-2a00:79e1:abc:b300::,2a00:79e1:abc:ffff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:9200::,2a00:79e1:abc:92ff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:9300::,2a00:79e1:abc:93ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:9400::,2a00:79e1:abc:94ff:ffff:ffff:ffff:ffff,CZ
+2a00:79e1:abc:9500::,2a00:79e1:abc:95ff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:9600::,2a00:79e1:abc:96ff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:9700::,2a00:79e1:abc:97ff:ffff:ffff:ffff:ffff,GR
+2a00:79e1:abc:9800::,2a00:79e1:abc:98ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:9900::,2a00:79e1:abc:99ff:ffff:ffff:ffff:ffff,PL
+2a00:79e1:abc:9a00::,2a00:79e1:abc:9aff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:9b00::,2a00:79e1:abc:9bff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:9c00::,2a00:79e1:abc:9cff:ffff:ffff:ffff:ffff,DK
+2a00:79e1:abc:9d00::,2a00:79e1:abc:9dff:ffff:ffff:ffff:ffff,KE
+2a00:79e1:abc:9e00::,2a00:79e1:abc:9eff:ffff:ffff:ffff:ffff,HU
+2a00:79e1:abc:9f00::,2a00:79e1:abc:9fff:ffff:ffff:ffff:ffff,RU
+2a00:79e1:abc:a000::,2a00:79e1:abc:a0ff:ffff:ffff:ffff:ffff,IL
+2a00:79e1:abc:a100::,2a00:79e1:abc:a1ff:ffff:ffff:ffff:ffff,AU
+2a00:79e1:abc:a200::,2a00:79e1:abc:a2ff:ffff:ffff:ffff:ffff,IL
+2a00:79e1:abc:a300::,2a00:79e1:abc:a3ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:a400::,2a00:79e1:abc:a4ff:ffff:ffff:ffff:ffff,NG
+2a00:79e1:abc:a500::,2a00:79e1:abc:a5ff:ffff:ffff:ffff:ffff,PL
+2a00:79e1:abc:a600::,2a00:79e1:abc:a6ff:ffff:ffff:ffff:ffff,PT
+2a00:79e1:abc:a700::,2a00:79e1:abc:a7ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:a800::,2a00:79e1:abc:a8ff:ffff:ffff:ffff:ffff,SE
+2a00:79e1:abc:a900::,2a00:79e1:abc:a9ff:ffff:ffff:ffff:ffff,UA
+2a00:79e1:abc:aa00::,2a00:79e1:abc:aaff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:ab00::,2a00:79e1:abc:abff:ffff:ffff:ffff:ffff,CN
+2a00:79e1:abc:ac00::,2a00:79e1:abc:acff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:ad00::,2a00:79e1:abc:adff:ffff:ffff:ffff:ffff,KR
+2a00:79e1:abc:ae00::,2a00:79e1:abc:afff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:b000::,2a00:79e1:abc:b0ff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:b100::,2a00:79e1:abc:b2ff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:b300::,2a00:79e1:abc:b3ff:ffff:ffff:ffff:ffff,AE
+2a00:79e1:abc:b400::,2a00:79e1:abc:b4ff:ffff:ffff:ffff:ffff,IT
+2a00:79e1:abc:b500::,2a00:79e1:abc:b5ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:b600::,2a00:79e1:abc:b6ff:ffff:ffff:ffff:ffff,TR
+2a00:79e1:abc:b700::,2a00:79e1:abc:b7ff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:b800::,2a00:79e1:abc:b8ff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:b900::,2a00:79e1:abc:bbff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:bc00::,2a00:79e1:abc:bdff:ffff:ffff:ffff:ffff,PL
+2a00:79e1:abc:be00::,2a00:79e1:abc:beff:ffff:ffff:ffff:ffff,FR
+2a00:79e1:abc:bf00::,2a00:79e1:abc:c1ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:c200::,2a00:79e1:abc:c2ff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:c300::,2a00:79e1:abc:c4ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:c500::,2a00:79e1:abc:c5ff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:c600::,2a00:79e1:abc:c7ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:c800::,2a00:79e1:abc:c8ff:ffff:ffff:ffff:ffff,FI
+2a00:79e1:abc:c900::,2a00:79e1:abc:caff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:cb00::,2a00:79e1:abc:cbff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:cc00::,2a00:79e1:abc:cdff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:ce00::,2a00:79e1:abc:ceff:ffff:ffff:ffff:ffff,CA
+2a00:79e1:abc:cf00::,2a00:79e1:abc:cfff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:d000::,2a00:79e1:abc:d0ff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:d100::,2a00:79e1:abc:d4ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:d500::,2a00:79e1:abc:d5ff:ffff:ffff:ffff:ffff,MY
+2a00:79e1:abc:d600::,2a00:79e1:abc:d6ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:d700::,2a00:79e1:abc:d7ff:ffff:ffff:ffff:ffff,PT
+2a00:79e1:abc:d800::,2a00:79e1:abc:d8ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:d900::,2a00:79e1:abc:d9ff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:da00::,2a00:79e1:abc:ddff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:de00::,2a00:79e1:abc:deff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:df00::,2a00:79e1:abc:e1ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:e200::,2a00:79e1:abc:e2ff:ffff:ffff:ffff:ffff,IN
+2a00:79e1:abc:e300::,2a00:79e1:abc:ffff:ffff:ffff:ffff:ffff,US
2a00:79e1:ac0::,2a00:79e1:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a00:7a00::,2a00:7a00:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a00:7a20::,2a00:7a20:ffff:ffff:ffff:ffff:ffff:ffff,FI
@@ -26627,7 +28005,6 @@
2a00:7f20::,2a00:7f20:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a00:7f40::,2a00:7f40:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:7f60::,2a00:7f60:ffff:ffff:ffff:ffff:ffff:ffff,AE
-2a00:7f80::,2a00:7f87:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a00:7fc0::,2a00:7fc0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:7fe0::,2a00:7fe0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a00:8000::,2a00:8007:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -26661,7 +28038,7 @@
2a00:83a0::,2a00:83a0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a00:83c0::,2a00:83c0:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a00:83e0::,2a00:83e0:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a00:8420::,2a00:8420:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a00:8420::,2a00:8427:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:8440::,2a00:8440:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:8460::,2a00:8460:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:8480::,2a00:8480:ffff:ffff:ffff:ffff:ffff:ffff,LV
@@ -26708,10 +28085,10 @@
2a00:89e0::,2a00:89e0:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a00:8a00::,2a00:8a00:afff:ffff:ffff:ffff:ffff:ffff,BR
2a00:8a00:b000::,2a00:8a00:bfff:ffff:ffff:ffff:ffff:ffff,IN
-2a00:8a00:c000::,2a00:8a00:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2a00:8a00:c000::,2a00:8a07:ffff:ffff:ffff:ffff:ffff:ffff,BR
2a00:8a20::,2a00:8a20:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a00:8a40::,2a00:8a40:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a00:8a60::,2a00:8a60:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:8a60::,2a00:8a67:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:8a80::,2a00:8a87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a00:8aa0::,2a00:8aa0:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a00:8ac0::,2a00:8ac0:ffff:ffff:ffff:ffff:ffff:ffff,IQ
@@ -26802,7 +28179,7 @@
2a00:9560::,2a00:9567:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a00:9580::,2a00:9580:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:95a0::,2a00:95a0:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a00:95c0::,2a00:95c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:95c0::,2a00:95c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:95e0::,2a00:95e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:9600::,2a00:9600:83ff:ffff:ffff:ffff:ffff:ffff,GB
2a00:9600:8400::,2a00:9600:8400:ffff:ffff:ffff:ffff:ffff,US
@@ -26879,7 +28256,7 @@
2a00:9ea0::,2a00:9ea0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a00:9ec0::,2a00:9ec0:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a00:9ee0::,2a00:9ee0:ffff:ffff:ffff:ffff:ffff:ffff,SK
-2a00:9f00::,2a00:9f00:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a00:9f00::,2a00:9f07:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a00:9f20::,2a00:9f20:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a00:9f40::,2a00:9f47:ffff:ffff:ffff:ffff:ffff:ffff,AL
2a00:9f60::,2a00:9f60:ffff:ffff:ffff:ffff:ffff:ffff,IL
@@ -27025,7 +28402,8 @@
2a00:b160::,2a00:b160:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:b180::,2a00:b180:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:b1a0::,2a00:b1a0:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a00:b1c0::,2a00:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a00:b1c0::,2a00:b1c0:fffe:ffff:ffff:ffff:ffff:ffff,RU
+2a00:b1c0:ffff::,2a00:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2a00:b1e0::,2a00:b1e0:ffff:ffff:ffff:ffff:ffff:ffff,LU
2a00:b200::,2a00:b200:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a00:b220::,2a00:b220:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -27083,7 +28461,6 @@
2a00:b960::,2a00:b960:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a00:b980::,2a00:b987:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:b9a0::,2a00:b9a0:ffff:ffff:ffff:ffff:ffff:ffff,FI
-2a00:b9c0::,2a00:b9c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:b9e0::,2a00:b9e0:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a00:ba00::,2a00:ba00:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a00:ba20::,2a00:ba20:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -27275,7 +28652,7 @@
2a00:d0c0::,2a00:d0c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:d0e0::,2a00:d0e0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:d100::,2a00:d107:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a00:d120::,2a00:d120:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:d120::,2a00:d127:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:d140::,2a00:d140:ffff:ffff:ffff:ffff:ffff:ffff,RS
2a00:d160::,2a00:d160:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:d180::,2a00:d180:ffff:ffff:ffff:ffff:ffff:ffff,PT
@@ -27406,9 +28783,7 @@
2a00:e120::,2a00:e120:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:e140::,2a00:e140:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a00:e160::,2a00:e160:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a00:e180::,2a00:e180:123f:ffff:ffff:ffff:ffff:ffff,DE
-2a00:e180:1240::,2a00:e180:127f:ffff:ffff:ffff:ffff:ffff,US
-2a00:e180:1280::,2a00:e180:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:e180::,2a00:e180:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:e1a0::,2a00:e1a0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:e1c0::,2a00:e1c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:e1e0::,2a00:e1e0:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -27565,7 +28940,7 @@
2a00:f5e0::,2a00:f5e0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:f600::,2a00:f600:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a00:f620::,2a00:f620:ffff:ffff:ffff:ffff:ffff:ffff,BE
-2a00:f640::,2a00:f640:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a00:f640::,2a00:f647:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a00:f660::,2a00:f660:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:f680::,2a00:f680:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a00:f6a0::,2a00:f6a0:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -27614,7 +28989,7 @@
2a00:fb80::,2a00:fb80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:fba0::,2a00:fba0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:fbc0::,2a00:fbc0:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a00:fbe0::,2a00:fbe0:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a00:fbe0::,2a00:fbe7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a00:fc00::,2a00:fc00:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a00:fc20::,2a00:fc20:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a00:fc40::,2a00:fc40:ffff:ffff:ffff:ffff:ffff:ffff,BG
@@ -27686,14 +29061,12 @@
2a01:d0::,2a01:d0:3ff:ffff:ffff:ffff:ffff:ffff,UA
2a01:d0:400::,2a01:d0:3fff:ffff:ffff:ffff:ffff:ffff,GI
2a01:d0:4000::,2a01:d0:47ff:ffff:ffff:ffff:ffff:ffff,UA
-2a01:d0:4800::,2a01:d0:88ff:ffff:ffff:ffff:ffff:ffff,GI
-2a01:d0:8900::,2a01:d0:897f:ffff:ffff:ffff:ffff:ffff,UA
-2a01:d0:8980::,2a01:d0:93ff:ffff:ffff:ffff:ffff:ffff,GI
+2a01:d0:4800::,2a01:d0:87ff:ffff:ffff:ffff:ffff:ffff,GI
+2a01:d0:8800::,2a01:d0:8bff:ffff:ffff:ffff:ffff:ffff,UA
+2a01:d0:8c00::,2a01:d0:93ff:ffff:ffff:ffff:ffff:ffff,GI
2a01:d0:9400::,2a01:d0:97ff:ffff:ffff:ffff:ffff:ffff,UA
-2a01:d0:9800::,2a01:d0:e3ff:ffff:ffff:ffff:ffff:ffff,GI
-2a01:d0:e400::,2a01:d0:e7ff:ffff:ffff:ffff:ffff:ffff,UA
-2a01:d0:e800::,2a01:d0:ebff:ffff:ffff:ffff:ffff:ffff,GI
-2a01:d0:ec00::,2a01:d0:efff:ffff:ffff:ffff:ffff:ffff,UA
+2a01:d0:9800::,2a01:d0:e7ff:ffff:ffff:ffff:ffff:ffff,GI
+2a01:d0:e800::,2a01:d0:efff:ffff:ffff:ffff:ffff:ffff,UA
2a01:d0:f000::,2a01:d0:ffff:ffff:ffff:ffff:ffff:ffff,GI
2a01:d8::,2a01:d8:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:e0::,2a01:e0:ffff:ffff:ffff:ffff:ffff:ffff,SK
@@ -27809,7 +29182,9 @@
2a01:111:f330:1793::,2a01:111:f330:1794:ffff:ffff:ffff:ffff,US
2a01:111:f330:1795::,2a01:111:f330:17cf:ffff:ffff:ffff:ffff,GB
2a01:111:f330:17d0::,2a01:111:f330:17d0:ffff:ffff:ffff:ffff,US
-2a01:111:f330:17d1::,2a01:111:f3ff:ffff:ffff:ffff:ffff:ffff,GB
+2a01:111:f330:17d1::,2a01:111:f335:1791:ffff:ffff:ffff:ffff,GB
+2a01:111:f335:1792::,2a01:111:f335:1792:ffff:ffff:ffff:ffff,US
+2a01:111:f335:1793::,2a01:111:f3ff:ffff:ffff:ffff:ffff:ffff,GB
2a01:111:f400::,2a01:111:f400:2c:ffff:ffff:ffff:ffff,US
2a01:111:f400:2d::,2a01:111:f400:2d:ffff:ffff:ffff:ffff,GB
2a01:111:f400:2e::,2a01:111:f400:5c:ffff:ffff:ffff:ffff,US
@@ -28007,9 +29382,11 @@
2a01:111:f400:7800::,2a01:111:f400:7c0f:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7c10::,2a01:111:f400:7c17:ffff:ffff:ffff:ffff,US
2a01:111:f400:7c18::,2a01:111:f400:7c18:ffff:ffff:ffff:ffff,HK
-2a01:111:f400:7c19::,2a01:111:f400:7d03:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:7d04::,2a01:111:f400:7d04:ffff:ffff:ffff:ffff,US
-2a01:111:f400:7d05::,2a01:111:f400:7e01:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7c19::,2a01:111:f400:7cff:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7d00::,2a01:111:f400:7d00:ffff:ffff:ffff:ffff,AT
+2a01:111:f400:7d01::,2a01:111:f400:7d03:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7d04::,2a01:111:f400:7d05:ffff:ffff:ffff:ffff,US
+2a01:111:f400:7d06::,2a01:111:f400:7e01:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e02::,2a01:111:f400:7e03:ffff:ffff:ffff:ffff,IE
2a01:111:f400:7e04::,2a01:111:f400:7e04:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e05::,2a01:111:f400:7e05:ffff:ffff:ffff:ffff,FI
@@ -28044,15 +29421,15 @@
2a01:111:f400:7e51::,2a01:111:f400:7e51:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e52::,2a01:111:f400:7e52:ffff:ffff:ffff:ffff,US
2a01:111:f400:7e53::,2a01:111:f400:7e53:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:7e54::,2a01:111:f400:7e57:ffff:ffff:ffff:ffff,US
-2a01:111:f400:7e58::,2a01:111:f400:7e5a:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7e54::,2a01:111:f400:7e58:ffff:ffff:ffff:ffff,US
+2a01:111:f400:7e59::,2a01:111:f400:7e5a:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e5b::,2a01:111:f400:7e5b:ffff:ffff:ffff:ffff,US
2a01:111:f400:7e5c::,2a01:111:f400:7e5e:ffff:ffff:ffff:ffff,CA
2a01:111:f400:7e5f::,2a01:111:f400:7e7f:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e80::,2a01:111:f400:7e80:ffff:ffff:ffff:ffff,US
2a01:111:f400:7e81::,2a01:111:f400:7e82:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:7e83::,2a01:111:f400:7e83:ffff:ffff:ffff:ffff,US
-2a01:111:f400:7e84::,2a01:111:f400:7e89:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7e83::,2a01:111:f400:7e84:ffff:ffff:ffff:ffff,US
+2a01:111:f400:7e85::,2a01:111:f400:7e89:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e8a::,2a01:111:f400:7e8a:ffff:ffff:ffff:ffff,US
2a01:111:f400:7e8b::,2a01:111:f400:7e8d:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e8e::,2a01:111:f400:7e8e:ffff:ffff:ffff:ffff,US
@@ -28063,11 +29440,15 @@
2a01:111:f400:7e94::,2a01:111:f400:7e95:ffff:ffff:ffff:ffff,IN
2a01:111:f400:7e96::,2a01:111:f400:7e96:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e97::,2a01:111:f400:7e97:ffff:ffff:ffff:ffff,SG
-2a01:111:f400:7e98::,2a01:111:f400:7e9d:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7e98::,2a01:111:f400:7e99:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7e9a::,2a01:111:f400:7e9a:ffff:ffff:ffff:ffff,US
+2a01:111:f400:7e9b::,2a01:111:f400:7e9d:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e9e::,2a01:111:f400:7e9f:ffff:ffff:ffff:ffff,JP
2a01:111:f400:7ea0::,2a01:111:f400:7ea3:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7ea4::,2a01:111:f400:7ea7:ffff:ffff:ffff:ffff,IN
-2a01:111:f400:7ea8::,2a01:111:f400:7eb3:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7ea8::,2a01:111:f400:7ea8:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7ea9::,2a01:111:f400:7ea9:ffff:ffff:ffff:ffff,US
+2a01:111:f400:7eaa::,2a01:111:f400:7eb3:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7eb4::,2a01:111:f400:7eb5:ffff:ffff:ffff:ffff,AU
2a01:111:f400:7eb6::,2a01:111:f400:7eb7:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7eb8::,2a01:111:f400:7eb8:ffff:ffff:ffff:ffff,HK
@@ -28290,9 +29671,11 @@
2a01:111:f400:fc14::,2a01:111:f400:fc17:ffff:ffff:ffff:ffff,GB
2a01:111:f400:fc18::,2a01:111:f400:fc1b:ffff:ffff:ffff:ffff,HK
2a01:111:f400:fc1c::,2a01:111:f400:fc1c:ffff:ffff:ffff:ffff,IE
-2a01:111:f400:fc1d::,2a01:111:f400:fd03:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:fd04::,2a01:111:f400:fd04:ffff:ffff:ffff:ffff,US
-2a01:111:f400:fd05::,2a01:111:f400:fe01:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:fc1d::,2a01:111:f400:fd01:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:fd02::,2a01:111:f400:fd02:ffff:ffff:ffff:ffff,US
+2a01:111:f400:fd03::,2a01:111:f400:fd03:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:fd04::,2a01:111:f400:fd05:ffff:ffff:ffff:ffff,US
+2a01:111:f400:fd06::,2a01:111:f400:fe01:ffff:ffff:ffff:ffff,GB
2a01:111:f400:fe02::,2a01:111:f400:fe02:ffff:ffff:ffff:ffff,IE
2a01:111:f400:fe03::,2a01:111:f400:fe03:ffff:ffff:ffff:ffff,GB
2a01:111:f400:fe04::,2a01:111:f400:fe04:ffff:ffff:ffff:ffff,IE
@@ -28475,7 +29858,7 @@
2a01:188::,2a01:188:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a01:190::,2a01:197:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a01:198::,2a01:198:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a01:1a0::,2a01:1a0:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a01:1a0::,2a01:1a7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a01:1a8::,2a01:1a8:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:1b0::,2a01:1b7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a01:1b8::,2a01:1b8::ffff:ffff:ffff:ffff:ffff,EE
@@ -28485,7 +29868,7 @@
2a01:1d0::,2a01:1d7:ffff:ffff:ffff:ffff:ffff:ffff,JO
2a01:1d8::,2a01:1df:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a01:1e0::,2a01:1e0:ffff:ffff:ffff:ffff:ffff:ffff,IE
-2a01:1e8::,2a01:1e8:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a01:1e8::,2a01:1ef:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:1f0::,2a01:1f0:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a01:1f8::,2a01:1f8:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:200::,2a01:200:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -28542,8 +29925,8 @@
2a01:378::,2a01:37f:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a01:380::,2a01:380:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a01:388::,2a01:388:377:ffff:ffff:ffff:ffff:ffff,GB
-2a01:388:378::,2a01:388:37b:ffff:ffff:ffff:ffff:ffff,NL
-2a01:388:37c::,2a01:38f:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a01:388:378::,2a01:388:379:ffff:ffff:ffff:ffff:ffff,NL
+2a01:388:37a::,2a01:38f:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:390::,2a01:397:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a01:398::,2a01:398:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:3a0::,2a01:3a7:ffff:ffff:ffff:ffff:ffff:ffff,DK
@@ -28641,7 +30024,11 @@
2a01:4f8:151:227::,2a01:4f8:151:227:ffff:ffff:ffff:ffff,AQ
2a01:4f8:151:228::,2a01:4f8:1c0c:4059:ffff:ffff:ffff:ffff,DE
2a01:4f8:1c0c:405a::,2a01:4f8:1c0c:405a:ffff:ffff:ffff:ffff,BV
-2a01:4f8:1c0c:405b::,2a01:4ff:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a01:4f8:1c0c:405b::,2a01:4f9:2a:a2e:ffff:ffff:ffff:ffff,DE
+2a01:4f9:2a:a2f::,2a01:4f9:2a:a2f:ffff:ffff:ffff:ffff,FI
+2a01:4f9:2a:a30::,2a01:4f9:2a:1669:ffff:ffff:ffff:ffff,DE
+2a01:4f9:2a:166a::,2a01:4f9:2a:166a:ffff:ffff:ffff:ffff,FI
+2a01:4f9:2a:166b::,2a01:4ff:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:500::,2a01:500:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:508::,2a01:508:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:510::,2a01:510:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -28776,8 +30163,8 @@
2a01:7a7:2:1054::,2a01:7a7:2:1059:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:105a::,2a01:7a7:2:105b:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:105c::,2a01:7a7:2:106b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:106c::,2a01:7a7:2:106e:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:106f::,2a01:7a7:2:1073:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:106c::,2a01:7a7:2:106d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:106e::,2a01:7a7:2:1073:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1074::,2a01:7a7:2:1076:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1077::,2a01:7a7:2:107a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:107b::,2a01:7a7:2:107c:ffff:ffff:ffff:ffff,FR
@@ -28890,8 +30277,8 @@
2a01:7a7:2:1157::,2a01:7a7:2:115a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:115b::,2a01:7a7:2:115c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:115d::,2a01:7a7:2:1161:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1162::,2a01:7a7:2:1164:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1165::,2a01:7a7:2:1165:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1162::,2a01:7a7:2:1163:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1164::,2a01:7a7:2:1165:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1166::,2a01:7a7:2:116b:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:116c::,2a01:7a7:2:116c:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:116d::,2a01:7a7:2:116f:ffff:ffff:ffff:ffff,FR
@@ -28909,9 +30296,7 @@
2a01:7a7:2:1185::,2a01:7a7:2:1185:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1186::,2a01:7a7:2:118a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:118b::,2a01:7a7:2:118c:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:118d::,2a01:7a7:2:118e:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:118f::,2a01:7a7:2:118f:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1190::,2a01:7a7:2:1190:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:118d::,2a01:7a7:2:1190:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1191::,2a01:7a7:2:1191:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1192::,2a01:7a7:2:1192:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1193::,2a01:7a7:2:1197:ffff:ffff:ffff:ffff,FR
@@ -28924,8 +30309,8 @@
2a01:7a7:2:11a7::,2a01:7a7:2:11a8:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:11a9::,2a01:7a7:2:11ab:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:11ac::,2a01:7a7:2:11ac:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:11ad::,2a01:7a7:2:11af:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:11b0::,2a01:7a7:2:11b1:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:11ad::,2a01:7a7:2:11ae:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:11af::,2a01:7a7:2:11b1:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:11b2::,2a01:7a7:2:11b3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:11b4::,2a01:7a7:2:11b4:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:11b5::,2a01:7a7:2:11b7:ffff:ffff:ffff:ffff,FR
@@ -29053,8 +30438,8 @@
2a01:7a7:2:12b4::,2a01:7a7:2:12b9:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:12ba::,2a01:7a7:2:12ba:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:12bb::,2a01:7a7:2:12be:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:12bf::,2a01:7a7:2:12bf:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:12c0::,2a01:7a7:2:12c3:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:12bf::,2a01:7a7:2:12c1:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:12c2::,2a01:7a7:2:12c3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:12c4::,2a01:7a7:2:12c6:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:12c7::,2a01:7a7:2:12c7:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:12c8::,2a01:7a7:2:12c9:ffff:ffff:ffff:ffff,DE
@@ -29138,8 +30523,8 @@
2a01:7a7:2:13a3::,2a01:7a7:2:13a3:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:13a4::,2a01:7a7:2:13a5:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:13a6::,2a01:7a7:2:13a6:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:13a7::,2a01:7a7:2:13ac:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:13ad::,2a01:7a7:2:13ad:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:13a7::,2a01:7a7:2:13ab:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:13ac::,2a01:7a7:2:13ad:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:13ae::,2a01:7a7:2:13b0:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:13b1::,2a01:7a7:2:13b1:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:13b2::,2a01:7a7:2:13b3:ffff:ffff:ffff:ffff,FR
@@ -29178,7 +30563,9 @@
2a01:7a7:2:140e::,2a01:7a7:2:140f:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1410::,2a01:7a7:2:1411:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1412::,2a01:7a7:2:1412:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1413::,2a01:7a7:2:141a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1413::,2a01:7a7:2:1413:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1414::,2a01:7a7:2:1414:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1415::,2a01:7a7:2:141a:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:141b::,2a01:7a7:2:141c:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:141d::,2a01:7a7:2:141e:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:141f::,2a01:7a7:2:141f:ffff:ffff:ffff:ffff,DE
@@ -29204,21 +30591,27 @@
2a01:7a7:2:144c::,2a01:7a7:2:144d:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:144e::,2a01:7a7:2:144f:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1450::,2a01:7a7:2:1451:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1452::,2a01:7a7:2:145c:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1452::,2a01:7a7:2:1454:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1455::,2a01:7a7:2:1455:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1456::,2a01:7a7:2:1459:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:145a::,2a01:7a7:2:145a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:145b::,2a01:7a7:2:145c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:145d::,2a01:7a7:2:1460:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1461::,2a01:7a7:2:1464:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1465::,2a01:7a7:2:1465:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1466::,2a01:7a7:2:1467:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1468::,2a01:7a7:2:1469:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:146a::,2a01:7a7:2:146a:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:146b::,2a01:7a7:2:146b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:146c::,2a01:7a7:2:146d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:146b::,2a01:7a7:2:146c:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:146d::,2a01:7a7:2:146d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:146e::,2a01:7a7:2:146e:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:146f::,2a01:7a7:2:1476:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1477::,2a01:7a7:2:1478:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1479::,2a01:7a7:2:1481:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1482::,2a01:7a7:2:1482:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1483::,2a01:7a7:2:1492:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1483::,2a01:7a7:2:1488:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1489::,2a01:7a7:2:1489:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:148a::,2a01:7a7:2:1492:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1493::,2a01:7a7:2:1493:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1494::,2a01:7a7:2:1497:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1498::,2a01:7a7:2:1498:ffff:ffff:ffff:ffff,DE
@@ -29232,8 +30625,10 @@
2a01:7a7:2:14ad::,2a01:7a7:2:14ad:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:14ae::,2a01:7a7:2:14b3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:14b4::,2a01:7a7:2:14b4:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:14b5::,2a01:7a7:2:14b8:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:14b9::,2a01:7a7:2:14b9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:14b5::,2a01:7a7:2:14b5:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:14b6::,2a01:7a7:2:14b6:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:14b7::,2a01:7a7:2:14b7:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:14b8::,2a01:7a7:2:14b9:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:14ba::,2a01:7a7:2:14c3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:14c4::,2a01:7a7:2:14c4:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:14c5::,2a01:7a7:2:14ca:ffff:ffff:ffff:ffff,FR
@@ -29262,21 +30657,25 @@
2a01:7a7:2:1514::,2a01:7a7:2:1517:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1518::,2a01:7a7:2:151a:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:151b::,2a01:7a7:2:151b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:151c::,2a01:7a7:2:1522:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1523::,2a01:7a7:2:1524:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:151c::,2a01:7a7:2:1521:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1522::,2a01:7a7:2:1524:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1525::,2a01:7a7:2:1526:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1527::,2a01:7a7:2:1529:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:152a::,2a01:7a7:2:152c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:152d::,2a01:7a7:2:152d:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:152e::,2a01:7a7:2:153d:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:153e::,2a01:7a7:2:153e:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:152e::,2a01:7a7:2:153c:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:153d::,2a01:7a7:2:153e:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:153f::,2a01:7a7:2:1544:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1545::,2a01:7a7:2:1545:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1546::,2a01:7a7:2:1550:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1551::,2a01:7a7:2:1551:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1552::,2a01:7a7:2:1554:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1555::,2a01:7a7:2:1555:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1556::,2a01:7a7:2:1561:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1556::,2a01:7a7:2:1556:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1557::,2a01:7a7:2:1558:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1559::,2a01:7a7:2:155e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:155f::,2a01:7a7:2:1560:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1561::,2a01:7a7:2:1561:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1562::,2a01:7a7:2:1563:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1564::,2a01:7a7:2:1569:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:156a::,2a01:7a7:2:156b:ffff:ffff:ffff:ffff,DE
@@ -29288,13 +30687,17 @@
2a01:7a7:2:1585::,2a01:7a7:2:1585:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1586::,2a01:7a7:2:1586:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1587::,2a01:7a7:2:1587:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1588::,2a01:7a7:2:1596:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1588::,2a01:7a7:2:158c:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:158d::,2a01:7a7:2:158d:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:158e::,2a01:7a7:2:1596:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1597::,2a01:7a7:2:1597:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1598::,2a01:7a7:2:1599:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:159a::,2a01:7a7:2:159a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1598::,2a01:7a7:2:1598:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1599::,2a01:7a7:2:159a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:159b::,2a01:7a7:2:15a1:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:15a2::,2a01:7a7:2:15a2:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:15a3::,2a01:7a7:2:15a6:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:15a3::,2a01:7a7:2:15a4:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:15a5::,2a01:7a7:2:15a5:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:15a6::,2a01:7a7:2:15a6:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:15a7::,2a01:7a7:2:15a8:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:15a9::,2a01:7a7:2:15a9:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:15aa::,2a01:7a7:2:15ad:ffff:ffff:ffff:ffff,DE
@@ -29318,9 +30721,13 @@
2a01:7a7:2:15ed::,2a01:7a7:2:15ed:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:15ee::,2a01:7a7:2:15f4:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:15f5::,2a01:7a7:2:15f5:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:15f6::,2a01:7a7:2:1606:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:15f6::,2a01:7a7:2:1601:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1602::,2a01:7a7:2:1602:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1603::,2a01:7a7:2:1606:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1607::,2a01:7a7:2:1607:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1608::,2a01:7a7:2:160a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1608::,2a01:7a7:2:1608:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1609::,2a01:7a7:2:1609:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:160a::,2a01:7a7:2:160a:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:160b::,2a01:7a7:2:160c:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:160d::,2a01:7a7:2:160d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:160e::,2a01:7a7:2:160e:ffff:ffff:ffff:ffff,DE
@@ -29332,7 +30739,9 @@
2a01:7a7:2:161d::,2a01:7a7:2:161d:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:161e::,2a01:7a7:2:1624:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1625::,2a01:7a7:2:1625:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1626::,2a01:7a7:2:162e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1626::,2a01:7a7:2:1629:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:162a::,2a01:7a7:2:162a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:162b::,2a01:7a7:2:162e:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:162f::,2a01:7a7:2:162f:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1630::,2a01:7a7:2:1636:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1637::,2a01:7a7:2:1637:ffff:ffff:ffff:ffff,DE
@@ -29342,21 +30751,27 @@
2a01:7a7:2:1647::,2a01:7a7:2:1648:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1649::,2a01:7a7:2:1649:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:164a::,2a01:7a7:2:164a:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:164b::,2a01:7a7:2:1651:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:164b::,2a01:7a7:2:164f:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1650::,2a01:7a7:2:1650:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1651::,2a01:7a7:2:1651:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1652::,2a01:7a7:2:1652:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1653::,2a01:7a7:2:1654:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1655::,2a01:7a7:2:1655:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1656::,2a01:7a7:2:1664:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1665::,2a01:7a7:2:1665:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1656::,2a01:7a7:2:1663:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1664::,2a01:7a7:2:1665:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1666::,2a01:7a7:2:1669:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:166a::,2a01:7a7:2:166b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:166c::,2a01:7a7:2:166d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:166a::,2a01:7a7:2:166c:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:166d::,2a01:7a7:2:166d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:166e::,2a01:7a7:2:166f:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1670::,2a01:7a7:2:1670:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1671::,2a01:7a7:2:1672:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1673::,2a01:7a7:2:167d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1673::,2a01:7a7:2:167b:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:167c::,2a01:7a7:2:167c:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:167d::,2a01:7a7:2:167d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:167e::,2a01:7a7:2:167f:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1680::,2a01:7a7:2:1684:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1680::,2a01:7a7:2:1682:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1683::,2a01:7a7:2:1683:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1684::,2a01:7a7:2:1684:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1685::,2a01:7a7:2:1686:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1687::,2a01:7a7:2:1688:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1689::,2a01:7a7:2:1689:ffff:ffff:ffff:ffff,DE
@@ -29366,11 +30781,17 @@
2a01:7a7:2:1692::,2a01:7a7:2:1693:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1694::,2a01:7a7:2:1699:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:169a::,2a01:7a7:2:169a:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:169b::,2a01:7a7:2:16a1:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:169b::,2a01:7a7:2:169e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:169f::,2a01:7a7:2:169f:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16a0::,2a01:7a7:2:16a1:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16a2::,2a01:7a7:2:16a2:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:16a3::,2a01:7a7:2:16aa:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16ab::,2a01:7a7:2:16ab:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16ac::,2a01:7a7:2:16bd:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16ac::,2a01:7a7:2:16ac:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16ad::,2a01:7a7:2:16ad:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16ae::,2a01:7a7:2:16af:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16b0::,2a01:7a7:2:16b0:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16b1::,2a01:7a7:2:16bd:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16be::,2a01:7a7:2:16bf:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:16c0::,2a01:7a7:2:16c1:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16c2::,2a01:7a7:2:16c3:ffff:ffff:ffff:ffff,DE
@@ -29379,32 +30800,36 @@
2a01:7a7:2:16c9::,2a01:7a7:2:16ca:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16cb::,2a01:7a7:2:16cb:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:16cc::,2a01:7a7:2:16d5:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:16d6::,2a01:7a7:2:16d7:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16d8::,2a01:7a7:2:16d9:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:16da::,2a01:7a7:2:16da:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16db::,2a01:7a7:2:16df:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:16e0::,2a01:7a7:2:16e0:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16e1::,2a01:7a7:2:16e9:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16d6::,2a01:7a7:2:16d8:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16d9::,2a01:7a7:2:16d9:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16da::,2a01:7a7:2:16db:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16dc::,2a01:7a7:2:16de:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16df::,2a01:7a7:2:16e0:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16e1::,2a01:7a7:2:16e5:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16e6::,2a01:7a7:2:16e7:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16e8::,2a01:7a7:2:16e9:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16ea::,2a01:7a7:2:16ea:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16eb::,2a01:7a7:2:16ed:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16eb::,2a01:7a7:2:16eb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16ec::,2a01:7a7:2:16ec:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16ed::,2a01:7a7:2:16ed:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16ee::,2a01:7a7:2:16ef:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:16f0::,2a01:7a7:2:16f0:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16f1::,2a01:7a7:2:16f3:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:16f4::,2a01:7a7:2:16f4:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16f5::,2a01:7a7:2:16f6:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16f7::,2a01:7a7:2:16f9:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:16fa::,2a01:7a7:2:16fd:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16fe::,2a01:7a7:2:16fe:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:16ff::,2a01:7a7:2:1700:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1701::,2a01:7a7:2:1706:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1707::,2a01:7a7:2:170b:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16f7::,2a01:7a7:2:16f7:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16f8::,2a01:7a7:2:170b:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:170c::,2a01:7a7:2:1711:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1712::,2a01:7a7:2:1712:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1713::,2a01:7a7:2:171a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1713::,2a01:7a7:2:1716:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1717::,2a01:7a7:2:1717:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1718::,2a01:7a7:2:171a:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:171b::,2a01:7a7:2:171b:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:171c::,2a01:7a7:2:171c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:171d::,2a01:7a7:2:171d:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:171e::,2a01:7a7:2:1726:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:171e::,2a01:7a7:2:1723:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1724::,2a01:7a7:2:1725:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1726::,2a01:7a7:2:1726:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1727::,2a01:7a7:2:1727:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1728::,2a01:7a7:2:1735:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1736::,2a01:7a7:2:1736:ffff:ffff:ffff:ffff,DE
@@ -29420,10 +30845,12 @@
2a01:7a7:2:1755::,2a01:7a7:2:1755:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1756::,2a01:7a7:2:175d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:175e::,2a01:7a7:2:175e:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:175f::,2a01:7a7:2:176b:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:175f::,2a01:7a7:2:1769:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:176a::,2a01:7a7:2:176a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:176b::,2a01:7a7:2:176b:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:176c::,2a01:7a7:2:176d:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:176e::,2a01:7a7:2:1776:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1777::,2a01:7a7:2:1777:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:176e::,2a01:7a7:2:1775:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1776::,2a01:7a7:2:1777:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1778::,2a01:7a7:2:1778:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1779::,2a01:7a7:2:1779:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:177a::,2a01:7a7:2:177e:ffff:ffff:ffff:ffff,FR
@@ -29438,8 +30865,8 @@
2a01:7a7:2:1798::,2a01:7a7:2:179a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:179b::,2a01:7a7:2:179c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:179d::,2a01:7a7:2:179f:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:17a0::,2a01:7a7:2:17ad:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:17ae::,2a01:7a7:2:17ae:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:17a0::,2a01:7a7:2:17ac:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:17ad::,2a01:7a7:2:17ae:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17af::,2a01:7a7:2:17b2:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17b3::,2a01:7a7:2:17b3:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17b4::,2a01:7a7:2:17b6:ffff:ffff:ffff:ffff,FR
@@ -29450,8 +30877,8 @@
2a01:7a7:2:17bc::,2a01:7a7:2:17bd:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17be::,2a01:7a7:2:17be:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17bf::,2a01:7a7:2:17c0:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:17c1::,2a01:7a7:2:17c2:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:17c3::,2a01:7a7:2:17c4:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:17c1::,2a01:7a7:2:17c1:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:17c2::,2a01:7a7:2:17c4:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17c5::,2a01:7a7:2:17c6:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17c7::,2a01:7a7:2:17c7:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17c8::,2a01:7a7:2:17d3:ffff:ffff:ffff:ffff,FR
@@ -29464,7 +30891,9 @@
2a01:7a7:2:17e2::,2a01:7a7:2:17e2:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17e3::,2a01:7a7:2:17e8:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17e9::,2a01:7a7:2:17e9:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:17ea::,2a01:7a7:2:17f1:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:17ea::,2a01:7a7:2:17eb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:17ec::,2a01:7a7:2:17ec:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:17ed::,2a01:7a7:2:17f1:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17f2::,2a01:7a7:2:17f2:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17f3::,2a01:7a7:2:17fb:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17fc::,2a01:7a7:2:17fc:ffff:ffff:ffff:ffff,DE
@@ -29472,8 +30901,8 @@
2a01:7a7:2:1806::,2a01:7a7:2:1807:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1808::,2a01:7a7:2:1817:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1818::,2a01:7a7:2:1818:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1819::,2a01:7a7:2:181b:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:181c::,2a01:7a7:2:181d:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1819::,2a01:7a7:2:181a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:181b::,2a01:7a7:2:181d:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:181e::,2a01:7a7:2:1821:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1822::,2a01:7a7:2:1823:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1824::,2a01:7a7:2:1824:ffff:ffff:ffff:ffff,FR
@@ -29493,9 +30922,7 @@
2a01:7a7:2:184f::,2a01:7a7:2:1858:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1859::,2a01:7a7:2:185a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:185b::,2a01:7a7:2:1867:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1868::,2a01:7a7:2:1868:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1869::,2a01:7a7:2:1869:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:186a::,2a01:7a7:2:186a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1868::,2a01:7a7:2:186a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:186b::,2a01:7a7:2:186e:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:186f::,2a01:7a7:2:186f:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1870::,2a01:7a7:2:1870:ffff:ffff:ffff:ffff,FR
@@ -29506,7 +30933,9 @@
2a01:7a7:2:1876::,2a01:7a7:2:1876:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1877::,2a01:7a7:2:187b:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:187c::,2a01:7a7:2:187c:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:187d::,2a01:7a7:2:1888:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:187d::,2a01:7a7:2:1883:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1884::,2a01:7a7:2:1884:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1885::,2a01:7a7:2:1888:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1889::,2a01:7a7:2:1889:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:188a::,2a01:7a7:2:188c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:188d::,2a01:7a7:2:188d:ffff:ffff:ffff:ffff,DE
@@ -29524,31 +30953,37 @@
2a01:7a7:2:18b2::,2a01:7a7:2:18b2:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:18b3::,2a01:7a7:2:18b9:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:18ba::,2a01:7a7:2:18ba:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18bb::,2a01:7a7:2:18bc:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:18bd::,2a01:7a7:2:18be:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18bf::,2a01:7a7:2:18c4:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:18c5::,2a01:7a7:2:18c5:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18bb::,2a01:7a7:2:18bb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18bc::,2a01:7a7:2:18be:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18bf::,2a01:7a7:2:18c3:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18c4::,2a01:7a7:2:18c5:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:18c6::,2a01:7a7:2:18c7:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:18c8::,2a01:7a7:2:18c8:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18c9::,2a01:7a7:2:18da:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:18db::,2a01:7a7:2:18db:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18dc::,2a01:7a7:2:18e3:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18c9::,2a01:7a7:2:18d9:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18da::,2a01:7a7:2:18db:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18dc::,2a01:7a7:2:18de:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18df::,2a01:7a7:2:18df:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18e0::,2a01:7a7:2:18e3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:18e4::,2a01:7a7:2:18e4:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:18e5::,2a01:7a7:2:18e7:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:18e8::,2a01:7a7:2:18e8:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18e9::,2a01:7a7:2:18ed:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18e8::,2a01:7a7:2:18ea:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18eb::,2a01:7a7:2:18ed:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:18ee::,2a01:7a7:2:18ee:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:18ef::,2a01:7a7:2:18f7:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:18f8::,2a01:7a7:2:18f8:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18f9::,2a01:7a7:2:1904:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18f9::,2a01:7a7:2:18fc:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18fd::,2a01:7a7:2:18fd:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18fe::,2a01:7a7:2:1904:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1905::,2a01:7a7:2:1905:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1906::,2a01:7a7:2:1907:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1908::,2a01:7a7:2:1909:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:190a::,2a01:7a7:2:190f:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1910::,2a01:7a7:2:1910:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1911::,2a01:7a7:2:1917:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1918::,2a01:7a7:2:1918:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1919::,2a01:7a7:2:192d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1911::,2a01:7a7:2:1916:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1917::,2a01:7a7:2:1918:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1919::,2a01:7a7:2:1923:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1924::,2a01:7a7:2:1924:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1925::,2a01:7a7:2:192d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:192e::,2a01:7a7:2:192f:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1930::,2a01:7a7:2:193e:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:193f::,2a01:7a7:2:193f:ffff:ffff:ffff:ffff,DE
@@ -29562,11 +30997,19 @@
2a01:7a7:2:1966::,2a01:7a7:2:1966:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1967::,2a01:7a7:2:1969:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:196a::,2a01:7a7:2:196a:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:196b::,2a01:7a7:2:1983:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:196b::,2a01:7a7:2:1973:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1974::,2a01:7a7:2:1974:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1975::,2a01:7a7:2:1975:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1976::,2a01:7a7:2:1976:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1977::,2a01:7a7:2:197d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:197e::,2a01:7a7:2:197e:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:197f::,2a01:7a7:2:1983:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1984::,2a01:7a7:2:1984:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1985::,2a01:7a7:2:1985:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1986::,2a01:7a7:2:1986:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1987::,2a01:7a7:2:1997:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1987::,2a01:7a7:2:198e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:198f::,2a01:7a7:2:198f:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1990::,2a01:7a7:2:1997:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1998::,2a01:7a7:2:1999:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:199a::,2a01:7a7:2:199c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:199d::,2a01:7a7:2:199d:ffff:ffff:ffff:ffff,DE
@@ -29576,13 +31019,19 @@
2a01:7a7:2:19a4::,2a01:7a7:2:19a5:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:19a6::,2a01:7a7:2:19a9:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19aa::,2a01:7a7:2:19aa:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:19ab::,2a01:7a7:2:19ba:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19ab::,2a01:7a7:2:19ad:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19ae::,2a01:7a7:2:19b0:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:19b1::,2a01:7a7:2:19b8:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19b9::,2a01:7a7:2:19b9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:19ba::,2a01:7a7:2:19ba:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19bb::,2a01:7a7:2:19bb:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:19bc::,2a01:7a7:2:19cb:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19cc::,2a01:7a7:2:19cc:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:19cd::,2a01:7a7:2:19d4:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19d5::,2a01:7a7:2:19d5:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:19d6::,2a01:7a7:2:19dd:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19d6::,2a01:7a7:2:19d8:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19d9::,2a01:7a7:2:19d9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:19da::,2a01:7a7:2:19dd:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19de::,2a01:7a7:2:19e0:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:19e1::,2a01:7a7:2:19e6:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19e7::,2a01:7a7:2:19e7:ffff:ffff:ffff:ffff,DE
@@ -29592,62 +31041,134 @@
2a01:7a7:2:19ee::,2a01:7a7:2:19ee:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:19ef::,2a01:7a7:2:19f7:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19f8::,2a01:7a7:2:19f8:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:19f9::,2a01:7a7:2:1a02:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19f9::,2a01:7a7:2:19f9:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19fa::,2a01:7a7:2:19fa:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:19fb::,2a01:7a7:2:1a02:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a03::,2a01:7a7:2:1a03:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a04::,2a01:7a7:2:1a0d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a0e::,2a01:7a7:2:1a0f:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a10::,2a01:7a7:2:1a24:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a10::,2a01:7a7:2:1a1c:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a1d::,2a01:7a7:2:1a1d:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a1e::,2a01:7a7:2:1a24:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a25::,2a01:7a7:2:1a26:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a27::,2a01:7a7:2:1a27:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a28::,2a01:7a7:2:1a28:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a29::,2a01:7a7:2:1a31:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1a32::,2a01:7a7:2:1a36:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a37::,2a01:7a7:2:1a41:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1a42::,2a01:7a7:2:1a42:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a43::,2a01:7a7:2:1a4d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a32::,2a01:7a7:2:1a37:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a38::,2a01:7a7:2:1a38:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a39::,2a01:7a7:2:1a3a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a3b::,2a01:7a7:2:1a41:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a42::,2a01:7a7:2:1a43:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a44::,2a01:7a7:2:1a4d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a4e::,2a01:7a7:2:1a4e:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a4f::,2a01:7a7:2:1a53:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a54::,2a01:7a7:2:1a54:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a55::,2a01:7a7:2:1a55:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a56::,2a01:7a7:2:1a56:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a57::,2a01:7a7:2:1a6b:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a57::,2a01:7a7:2:1a60:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a61::,2a01:7a7:2:1a61:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a62::,2a01:7a7:2:1a64:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a65::,2a01:7a7:2:1a65:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a66::,2a01:7a7:2:1a6b:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a6c::,2a01:7a7:2:1a6d:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a6e::,2a01:7a7:2:1a70:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a71::,2a01:7a7:2:1a71:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a72::,2a01:7a7:2:1a8d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a72::,2a01:7a7:2:1a84:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a85::,2a01:7a7:2:1a85:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a86::,2a01:7a7:2:1a8d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a8e::,2a01:7a7:2:1a8e:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a8f::,2a01:7a7:2:1a97:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a98::,2a01:7a7:2:1a98:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a99::,2a01:7a7:2:1a9e:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1a9f::,2a01:7a7:2:1a9f:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1aa0::,2a01:7a7:2:1abb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a99::,2a01:7a7:2:1a99:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a9a::,2a01:7a7:2:1a9a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a9b::,2a01:7a7:2:1a9e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a9f::,2a01:7a7:2:1aa0:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1aa1::,2a01:7a7:2:1aa3:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1aa4::,2a01:7a7:2:1aa5:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1aa6::,2a01:7a7:2:1abb:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1abc::,2a01:7a7:2:1abc:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1abd::,2a01:7a7:2:1ac4:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1ac5::,2a01:7a7:2:1ac5:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1ac6::,2a01:7a7:2:1ad0:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1ad1::,2a01:7a7:2:1ad1:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1ad2::,2a01:7a7:2:1adb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1ac5::,2a01:7a7:2:1ac6:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1ac7::,2a01:7a7:2:1acb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1acc::,2a01:7a7:2:1acd:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1ace::,2a01:7a7:2:1ad0:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1ad1::,2a01:7a7:2:1ad2:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1ad3::,2a01:7a7:2:1adb:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1adc::,2a01:7a7:2:1adc:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1add::,2a01:7a7:2:1ae3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1ae4::,2a01:7a7:2:1ae5:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1ae6::,2a01:7a7:2:1afb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1ae6::,2a01:7a7:2:1aee:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1aef::,2a01:7a7:2:1af0:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1af1::,2a01:7a7:2:1af5:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1af6::,2a01:7a7:2:1af6:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1af7::,2a01:7a7:2:1afb:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1afc::,2a01:7a7:2:1afc:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1afd::,2a01:7a7:2:1b0a:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1b0b::,2a01:7a7:2:1b0b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1b0c::,2a01:7a7:2:1b16:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1b17::,2a01:7a7:2:1b18:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b0b::,2a01:7a7:2:1b0c:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b0d::,2a01:7a7:2:1b14:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b15::,2a01:7a7:2:1b18:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1b19::,2a01:7a7:2:1b2f:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1b30::,2a01:7a7:2:1b30:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1b31::,2a01:7a7:2:1b44:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1b45::,2a01:7a7:2:1b45:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1b46::,2a01:7a7:2:1b5b:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1b5c::,2a01:7a7:2:1b5c:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1b5d::,2a01:7a7:2:1b7d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b46::,2a01:7a7:2:1b4d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b4e::,2a01:7a7:2:1b4f:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b50::,2a01:7a7:2:1b50:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b51::,2a01:7a7:2:1b52:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b53::,2a01:7a7:2:1b5a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b5b::,2a01:7a7:2:1b5c:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b5d::,2a01:7a7:2:1b61:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b62::,2a01:7a7:2:1b64:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b65::,2a01:7a7:2:1b69:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b6a::,2a01:7a7:2:1b6b:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b6c::,2a01:7a7:2:1b7d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1b7e::,2a01:7a7:2:1b7e:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1b7f::,2a01:7a7:2:1b9a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b7f::,2a01:7a7:2:1b8f:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b90::,2a01:7a7:2:1b90:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b91::,2a01:7a7:2:1b94:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b95::,2a01:7a7:2:1b95:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b96::,2a01:7a7:2:1b9a:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1b9b::,2a01:7a7:2:1b9b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1b9c::,2a01:7a7:2:1c14:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1c15::,2a01:7a7:2:ffff:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b9c::,2a01:7a7:2:1ba6:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1ba7::,2a01:7a7:2:1ba9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1baa::,2a01:7a7:2:1bb3:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1bb4::,2a01:7a7:2:1bb5:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1bb6::,2a01:7a7:2:1bb8:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1bb9::,2a01:7a7:2:1bb9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1bba::,2a01:7a7:2:1bce:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1bcf::,2a01:7a7:2:1bcf:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1bd0::,2a01:7a7:2:1bd2:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1bd3::,2a01:7a7:2:1bd4:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1bd5::,2a01:7a7:2:1bf6:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1bf7::,2a01:7a7:2:1bf7:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1bf8::,2a01:7a7:2:1c06:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c07::,2a01:7a7:2:1c07:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c08::,2a01:7a7:2:1c0f:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c10::,2a01:7a7:2:1c10:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c11::,2a01:7a7:2:1c15:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c16::,2a01:7a7:2:1c16:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c17::,2a01:7a7:2:1c25:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c26::,2a01:7a7:2:1c26:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c27::,2a01:7a7:2:1c2e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c2f::,2a01:7a7:2:1c2f:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c30::,2a01:7a7:2:1c47:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c48::,2a01:7a7:2:1c48:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c49::,2a01:7a7:2:1c49:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c4a::,2a01:7a7:2:1c4a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c4b::,2a01:7a7:2:1c4c:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c4d::,2a01:7a7:2:1c4e:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c4f::,2a01:7a7:2:1c50:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c51::,2a01:7a7:2:1c52:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c53::,2a01:7a7:2:1ca6:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1ca7::,2a01:7a7:2:1ca7:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1ca8::,2a01:7a7:2:1cc5:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1cc6::,2a01:7a7:2:1cc6:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1cc7::,2a01:7a7:2:1cd9:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1cda::,2a01:7a7:2:1cda:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1cdb::,2a01:7a7:2:1cf8:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1cf9::,2a01:7a7:2:1cf9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1cfa::,2a01:7a7:2:1d49:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1d4a::,2a01:7a7:2:ffff:ffff:ffff:ffff:ffff,DE
2a01:7a7:3::,2a01:7a7:4:ff:ffff:ffff:ffff:ffff,FR
2a01:7a7:4:100::,2a01:7a7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:7a8::,2a01:7a8:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -29740,7 +31261,7 @@
2a01:4700::,2a01:4700:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a01:4720::,2a01:4720:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:4740::,2a01:4740:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a01:4760::,2a01:4760:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a01:4760::,2a01:4767:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:47a0::,2a01:47a0:ffff:ffff:ffff:ffff:ffff:ffff,GE
2a01:47c0::,2a01:47c7:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a01:47e0::,2a01:47e0:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -29931,7 +31452,9 @@
2a01:5e60::,2a01:5e60:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a01:5e80::,2a01:5e80:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a01:5ea0::,2a01:5ea0:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a01:5ec0::,2a01:5ec0:6fff:ffff:ffff:ffff:ffff:ffff,IR
+2a01:5ec0::,2a01:5ec0:4fff:ffff:ffff:ffff:ffff:ffff,IR
+2a01:5ec0:5000::,2a01:5ec0:53ff:ffff:ffff:ffff:ffff:ffff,NL
+2a01:5ec0:5400::,2a01:5ec0:6fff:ffff:ffff:ffff:ffff:ffff,IR
2a01:5ec0:7000::,2a01:5ec0:73ff:ffff:ffff:ffff:ffff:ffff,DE
2a01:5ec0:7400::,2a01:5ec0:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a01:5ee0::,2a01:5ee0:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -29952,7 +31475,6 @@
2a01:60c0::,2a01:60c0:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a01:60e0::,2a01:60e0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a01:6100::,2a01:6100:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a01:6120::,2a01:6120:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:6140::,2a01:6147:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a01:6160::,2a01:6160:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:6180::,2a01:6180:ffff:ffff:ffff:ffff:ffff:ffff,FI
@@ -29980,7 +31502,7 @@
2a01:6460::,2a01:6460:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a01:6480::,2a01:6480:ffff:ffff:ffff:ffff:ffff:ffff,AZ
2a01:64c0::,2a01:64c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a01:64e0::,2a01:64e0:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a01:64e0::,2a01:64e0:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a01:6500::,2a01:6500:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a01:6520::,2a01:6520:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:6540::,2a01:6540:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -30134,7 +31656,7 @@
2a01:76e0::,2a01:76e0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a01:7700::,2a01:7700:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:7720::,2a01:7720:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a01:7740::,2a01:7740:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a01:7740::,2a01:7747:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:7760::,2a01:7760:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:7780::,2a01:7780:ffff:ffff:ffff:ffff:ffff:ffff,KW
2a01:77a0::,2a01:77a0:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -30411,9 +31933,8 @@
2a01:9840::,2a01:9840:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a01:9860::,2a01:9860:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:9880::,2a01:9880:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a01:98a0::,2a01:98a0:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a01:98c0::,2a01:98c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a01:98e0::,2a01:98e0:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a01:98e0::,2a01:98e7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a01:9900::,2a01:9900:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a01:9920::,2a01:9920:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a01:9940::,2a01:9940:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -30584,7 +32105,6 @@
2a01:aea0::,2a01:aea0:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a01:aec0::,2a01:aec0:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a01:aee0::,2a01:aee0:ffff:ffff:ffff:ffff:ffff:ffff,AT
-2a01:af00::,2a01:af00:ffff:ffff:ffff:ffff:ffff:ffff,KZ
2a01:af20::,2a01:af20:ffff:ffff:ffff:ffff:ffff:ffff,CY
2a01:af40::,2a01:af40:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a01:af60::,2a01:af60:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -30682,7 +32202,6 @@
2a01:b9a0::,2a01:b9a0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:b9c0::,2a01:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,IS
2a01:b9e0::,2a01:b9e0:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a01:ba00::,2a01:ba07:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a01:ba20::,2a01:ba20:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:ba40::,2a01:ba40:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a01:ba60::,2a01:ba67:ffff:ffff:ffff:ffff:ffff:ffff,PS
@@ -30716,7 +32235,6 @@
2a01:be60::,2a01:be60:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a01:be80::,2a01:be80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:bea0::,2a01:bea0:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a01:bec0::,2a01:bec0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:bee0::,2a01:bee0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a01:bf00::,2a01:bf00:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a01:bf20::,2a01:bf20:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -31037,7 +32555,19 @@
2a02:6b8:fc0d::,2a02:6b8:fc0d:ffff:ffff:ffff:ffff:ffff,FI
2a02:6b8:fc0e::,2a02:6b8:fc10:ffff:ffff:ffff:ffff:ffff,RU
2a02:6b8:fc11::,2a02:6b8:fc13:ffff:ffff:ffff:ffff:ffff,FI
-2a02:6b8:fc14::,2a02:6b8:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a02:6b8:fc14::,2a02:6bf:fff0:7ff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:800::,2a02:6bf:fff0:80f:ffff:ffff:ffff:ffff,BY
+2a02:6bf:fff0:810::,2a02:6bf:fff0:8ff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:900::,2a02:6bf:fff0:90f:ffff:ffff:ffff:ffff,TR
+2a02:6bf:fff0:910::,2a02:6bf:fff0:bff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:c00::,2a02:6bf:fff0:c0f:ffff:ffff:ffff:ffff,CH
+2a02:6bf:fff0:c10::,2a02:6bf:fff0:eff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:f00::,2a02:6bf:fff0:f0f:ffff:ffff:ffff:ffff,DE
+2a02:6bf:fff0:f10::,2a02:6bf:fff0:fff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:1000::,2a02:6bf:fff0:100f:ffff:ffff:ffff:ffff,FI
+2a02:6bf:fff0:1010::,2a02:6bf:fff0:10ff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:1100::,2a02:6bf:fff0:110f:ffff:ffff:ffff:ffff,US
+2a02:6bf:fff0:1110::,2a02:6bf:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:6c0::,2a02:6c0:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a02:6c8::,2a02:6c8:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:6d0::,2a02:6d0:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -31235,7 +32765,6 @@
2a02:cd8::,2a02:cd8:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:ce0::,2a02:ce0:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a02:ce8::,2a02:ce8:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a02:cf0::,2a02:cf0:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a02:d00::,2a02:d00:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a02:d08::,2a02:d0f:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a02:d10::,2a02:d17:ffff:ffff:ffff:ffff:ffff:ffff,RO
@@ -31330,17 +32859,18 @@
2a02:fe8::,2a02:fe9:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:ff0::,2a02:ff0:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a02:1000::,2a02:11ff:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a02:1200::,2a02:1205:34f9:8fff:ffff:ffff:ffff:ffff,CH
-2a02:1205:34f9:9000::,2a02:1205:34f9:9fff:ffff:ffff:ffff:ffff,IT
-2a02:1205:34f9:a000::,2a02:1205:5017:ffff:ffff:ffff:ffff:ffff,CH
-2a02:1205:5018::,2a02:1205:5018:7fff:ffff:ffff:ffff:ffff,FR
-2a02:1205:5018:8000::,2a02:1205:506f:ffff:ffff:ffff:ffff:ffff,CH
-2a02:1205:5070::,2a02:1205:5070:1fff:ffff:ffff:ffff:ffff,DE
-2a02:1205:5070:2000::,2a02:120b:2c27:ffff:ffff:ffff:ffff:ffff,CH
-2a02:120b:2c28::,2a02:120b:2c28:3fff:ffff:ffff:ffff:ffff,FR
-2a02:120b:2c28:4000::,2a02:120b:2c43:bfff:ffff:ffff:ffff:ffff,CH
-2a02:120b:2c43:c000::,2a02:120b:2c43:ffff:ffff:ffff:ffff:ffff,FR
-2a02:120b:2c44::,2a02:121f:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a02:1200::,2a02:1205:34f9:7fff:ffff:ffff:ffff:ffff,CH
+2a02:1205:34f9:8000::,2a02:1205:34f9:9fff:ffff:ffff:ffff:ffff,IT
+2a02:1205:34f9:a000::,2a02:1205:34f9:b7ff:ffff:ffff:ffff:ffff,DE
+2a02:1205:34f9:b800::,2a02:1205:c6af:ffff:ffff:ffff:ffff:ffff,CH
+2a02:1205:c6b0::,2a02:1205:c6b0:7fff:ffff:ffff:ffff:ffff,DE
+2a02:1205:c6b0:8000::,2a02:120b:2c3c:ffff:ffff:ffff:ffff:ffff,CH
+2a02:120b:2c3d::,2a02:120b:2c3d:1fff:ffff:ffff:ffff:ffff,IT
+2a02:120b:2c3d:2000::,2a02:120b:c3e5:7fff:ffff:ffff:ffff:ffff,CH
+2a02:120b:c3e5:8000::,2a02:120b:c3e5:bfff:ffff:ffff:ffff:ffff,FR
+2a02:120b:c3e5:c000::,2a02:120b:c3f4:bfff:ffff:ffff:ffff:ffff,CH
+2a02:120b:c3f4:c000::,2a02:120b:c3f4:dfff:ffff:ffff:ffff:ffff,GB
+2a02:120b:c3f4:e000::,2a02:121f:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:1300::,2a02:1300:ffff:ffff:ffff:ffff:ffff:ffff,IS
2a02:1308::,2a02:130f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:1310::,2a02:1310:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -31391,7 +32921,7 @@
2a02:1670::,2a02:1670:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:1678::,2a02:1678:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a02:1680:1::,2a02:1680:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a02:1688::,2a02:1688:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a02:1688::,2a02:168f:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a02:1698::,2a02:1698:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:16a0::,2a02:16a0:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:16a8::,2a02:16a8:dc41:ff:ffff:ffff:ffff:ffff,AT
@@ -31435,7 +32965,7 @@
2a02:17c8::,2a02:17c8:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a02:17d0::,2a02:17d0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:17d8::,2a02:17d8:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a02:17e0::,2a02:17e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a02:17e0::,2a02:17e0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a02:17e8::,2a02:17e8:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:17f0::,2a02:17f0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a02:17f8::,2a02:17f8:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -31488,7 +33018,7 @@
2a02:2178::,2a02:217f:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a02:2180::,2a02:2180:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a02:2188::,2a02:2188:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a02:2190::,2a02:2190:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a02:2190::,2a02:2197:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a02:2198::,2a02:219f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:21a0::,2a02:21a0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a02:21a8::,2a02:21a8:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -31598,7 +33128,7 @@
2a02:24f8::,2a02:24f8:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a02:2500::,2a02:2500:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:2510::,2a02:2510:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a02:2518::,2a02:2518:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a02:2518::,2a02:251f:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:2520::,2a02:2520:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:2528::,2a02:252f:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:2530::,2a02:2530:ffff:ffff:ffff:ffff:ffff:ffff,DK
@@ -32002,7 +33532,7 @@
2a02:5440::,2a02:5440:ffff:ffff:ffff:ffff:ffff:ffff,GR
2a02:5480::,2a02:5480:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a02:54a0::,2a02:54a0:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a02:54c0::,2a02:54c0:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a02:54c0::,2a02:54c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a02:54e0::,2a02:54e7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a02:5500::,2a02:5507:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:5520::,2a02:5520:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -32224,7 +33754,7 @@
2a02:6f20::,2a02:6f20:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:6f40::,2a02:6f40:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a02:6f60::,2a02:6f60:ffff:ffff:ffff:ffff:ffff:ffff,DK
-2a02:6f80::,2a02:6f80:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a02:6f80::,2a02:6f87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a02:6fa0::,2a02:6fa0:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a02:6fc0::,2a02:6fc0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a02:6fe0::,2a02:6fe0:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -32311,7 +33841,9 @@
2a02:7a40::,2a02:7a40:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:7a60::,2a02:7a60:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:7a80::,2a02:7a80:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2a02:7aa0::,2a02:7aa0:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a02:7aa0::,2a02:7aa0:fff:ffff:ffff:ffff:ffff:ffff,SE
+2a02:7aa0:1000::,2a02:7aa0:13ff:ffff:ffff:ffff:ffff:ffff,GB
+2a02:7aa0:1400::,2a02:7aa0:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a02:7ac0::,2a02:7ac0:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a02:7ae0::,2a02:7ae0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a02:7b00::,2a02:7b07:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -32364,7 +33896,9 @@
2a02:80e0::,2a02:80e3:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a02:8100::,2a02:811f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:8200::,2a02:821f:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a02:8300::,2a02:830f:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a02:8300::,2a02:8308:a041:ffff:ffff:ffff:ffff:ffff,CZ
+2a02:8308:a042::,2a02:8308:a043:ffff:ffff:ffff:ffff:ffff,UA
+2a02:8308:a044::,2a02:830f:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a02:8380::,2a02:838f:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a02:8400::,2a02:847f:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a02:8800::,2a02:88ff:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -32372,12 +33906,18 @@
2a02:9940::,2a02:9940:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:a000::,2a02:a03f:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a02:a200::,2a02:a21f:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a02:a300::,2a02:a31f:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a02:a300::,2a02:a317:4fff:ffff:ffff:ffff:ffff:ffff,PL
+2a02:a317:5000::,2a02:a317:503e:f080:dc32:b96b:b5cb:ec83,NO
+2a02:a317:503e:f080:dc32:b96b:b5cb:ec84,2a02:a317:503e:f080:dc32:b96b:b5cb:ec84,PL
+2a02:a317:503e:f080:dc32:b96b:b5cb:ec85,2a02:a317:53ff:ffff:ffff:ffff:ffff:ffff,NO
+2a02:a317:5400::,2a02:a31f:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a02:a400::,2a02:a47f:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:a800::,2a02:a83f:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a02:aa00::,2a02:aa12:83ff:ffff:ffff:ffff:ffff:ffff,CH
2a02:aa12:8400::,2a02:aa12:87ff:ffff:ffff:ffff:ffff:ffff,DE
-2a02:aa12:8800::,2a02:aa1f:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a02:aa12:8800::,2a02:aa15:23ff:ffff:ffff:ffff:ffff:ffff,CH
+2a02:aa15:2400::,2a02:aa15:27ff:ffff:ffff:ffff:ffff:ffff,DE
+2a02:aa15:2800::,2a02:aa1f:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:ab00::,2a02:ab07:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a02:ab40::,2a02:ab47:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:ab80::,2a02:ab8f:ffff:ffff:ffff:ffff:ffff:ffff,HU
@@ -32863,7 +34403,7 @@
2a03:1480::,2a03:1480:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:14a0::,2a03:14a0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:14c0::,2a03:14c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a03:14e0::,2a03:14e0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a03:14e0::,2a03:14e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:1500::,2a03:1500:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a03:1520::,2a03:1520:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a03:1560::,2a03:1560:ffff:ffff:ffff:ffff:ffff:ffff,RS
@@ -32932,7 +34472,7 @@
2a03:1d40::,2a03:1d40:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:1d60::,2a03:1d60:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:1d80::,2a03:1d80:ffff:ffff:ffff:ffff:ffff:ffff,SK
-2a03:1da0::,2a03:1da0:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a03:1da0::,2a03:1da7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:1dc0::,2a03:1dc0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:1de0::,2a03:1de0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:1e00::,2a03:1e03:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -32941,7 +34481,9 @@
2a03:1e60::,2a03:1e60:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:1e80::,2a03:1e84:33e:ffff:ffff:ffff:ffff:ffff,DE
2a03:1e84:33f::,2a03:1e84:33f:ffff:ffff:ffff:ffff:ffff,RU
-2a03:1e84:340::,2a03:1e87:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a03:1e84:340::,2a03:1e84:abe:ffff:ffff:ffff:ffff:ffff,DE
+2a03:1e84:abf::,2a03:1e84:abf:ffff:ffff:ffff:ffff:ffff,NL
+2a03:1e84:ac0::,2a03:1e87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:1ea0::,2a03:1ea0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:1ec0::,2a03:1ec0:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a03:1ee0::,2a03:1ee0:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -33016,18 +34558,14 @@
2a03:2820::,2a03:2820:ffff:ffff:ffff:ffff:ffff:ffff,GE
2a03:2840::,2a03:2840:ffff:ffff:ffff:ffff:ffff:ffff,US
2a03:2860::,2a03:2860:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a03:2880::,2a03:2880:3f:ffff:ffff:ffff:ffff:ffff,US
-2a03:2880:40::,2a03:2880:7f:ffff:ffff:ffff:ffff:ffff,IE
-2a03:2880:80::,2a03:2880:ff:ffff:ffff:ffff:ffff:ffff,US
-2a03:2880:100::,2a03:2880:fff:ffff:ffff:ffff:ffff:ffff,IE
-2a03:2880:1000::,2a03:2880:103f:ffff:ffff:ffff:ffff:ffff,US
-2a03:2880:1040::,2a03:2880:10ff:ffff:ffff:ffff:ffff:ffff,IE
-2a03:2880:1100::,2a03:2880:11ff:ffff:ffff:ffff:ffff:ffff,US
+2a03:2880::,2a03:2880:3ff:ffff:ffff:ffff:ffff:ffff,US
+2a03:2880:400::,2a03:2880:fff:ffff:ffff:ffff:ffff:ffff,IE
+2a03:2880:1000::,2a03:2880:11ff:ffff:ffff:ffff:ffff:ffff,US
2a03:2880:1200::,2a03:2880:1fff:ffff:ffff:ffff:ffff:ffff,IE
-2a03:2880:2000::,2a03:2880:213f:ffff:ffff:ffff:ffff:ffff,US
-2a03:2880:2140::,2a03:2880:21bf:ffff:ffff:ffff:ffff:ffff,IE
-2a03:2880:21c0::,2a03:2880:21ff:ffff:ffff:ffff:ffff:ffff,US
-2a03:2880:2200::,2a03:2887:ffff:ffff:ffff:ffff:ffff:ffff,IE
+2a03:2880:2000::,2a03:2880:217f:ffff:ffff:ffff:ffff:ffff,US
+2a03:2880:2180::,2a03:2880:2fff:ffff:ffff:ffff:ffff:ffff,IE
+2a03:2880:3000::,2a03:2880:33ff:ffff:ffff:ffff:ffff:ffff,US
+2a03:2880:3400::,2a03:2887:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a03:28a0::,2a03:28a0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a03:28c0::,2a03:28c0:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a03:28e0::,2a03:28e0:ffff:ffff:ffff:ffff:ffff:ffff,SE
@@ -33040,7 +34578,6 @@
2a03:29c0::,2a03:29c0:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a03:29e0::,2a03:29e0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:2a00::,2a03:2a07:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a03:2a20::,2a03:2a20:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a03:2a40::,2a03:2a40:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a03:2a60::,2a03:2a60:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a03:2a80::,2a03:2a80:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -33099,7 +34636,6 @@
2a03:3180::,2a03:3180:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a03:31a0::,2a03:31a0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:31c0::,2a03:31c0:ffff:ffff:ffff:ffff:ffff:ffff,BE
-2a03:31e0::,2a03:31e0:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a03:3200::,2a03:3200:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:3220::,2a03:3220:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a03:3240::,2a03:3240:ffff:ffff:ffff:ffff:ffff:ffff,UZ
@@ -33157,7 +34693,7 @@
2a03:38e0::,2a03:38e0:ffff:ffff:ffff:ffff:ffff:ffff,LU
2a03:3900::,2a03:3900:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a03:3920::,2a03:3920:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a03:3940::,2a03:3940:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a03:3940::,2a03:3947:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:3960::,2a03:3960:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:3980::,2a03:3980:ffff:ffff:ffff:ffff:ffff:ffff,BY
2a03:39a0::,2a03:39a0:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -33238,7 +34774,7 @@
2a03:43e0::,2a03:43e0:ffff:ffff:ffff:ffff:ffff:ffff,LI
2a03:4400::,2a03:4407:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a03:4420::,2a03:4420:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a03:4440::,2a03:4440:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a03:4440::,2a03:4447:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a03:4460::,2a03:4460:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a03:4480::,2a03:4480:ffff:ffff:ffff:ffff:ffff:ffff,AZ
2a03:44a0::,2a03:44a0:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -33362,7 +34898,7 @@
2a03:50a0::,2a03:50a0:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a03:50c0::,2a03:50c0:ffff:ffff:ffff:ffff:ffff:ffff,GI
2a03:50e0::,2a03:50e0:ffff:ffff:ffff:ffff:ffff:ffff,MT
-2a03:5100::,2a03:5100:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a03:5100::,2a03:5107:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a03:5120::,2a03:5120:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a03:5140::,2a03:5140:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:5160::,2a03:5160:ffff:ffff:ffff:ffff:ffff:ffff,TR
@@ -33410,7 +34946,6 @@
2a03:56c0::,2a03:56c0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:5700::,2a03:5700:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a03:5720::,2a03:5720:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a03:5740::,2a03:5740:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a03:5760::,2a03:5760:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:5780::,2a03:5780:ffff:ffff:ffff:ffff:ffff:ffff,KW
2a03:57a0::,2a03:57a0:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -34043,7 +35578,7 @@
2a03:a5a0::,2a03:a5a0:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a03:a5c0::,2a03:a5c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:a5e0::,2a03:a5e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a03:a600::,2a03:a600:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a03:a600::,2a03:a607:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a03:a620::,2a03:a620:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:a640::,2a03:a640:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:a660::,2a03:a660:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -34218,8 +35753,8 @@
2a03:b0c0:3:d0::,2a03:b0c0:3:d0:ffff:ffff:ffff:ffff,DE
2a03:b0c0:3:d1::,2a03:b0c0:3:df:ffff:ffff:ffff:ffff,GB
2a03:b0c0:3:e0::,2a03:b0c0:3:e0:ffff:ffff:ffff:ffff,DE
-2a03:b0c0:3:e1::,2a03:b0c0:3:ffff:ffff:ffff:ffff:ffff,GB
-2a03:b0c0:4::,2a03:b0c0:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a03:b0c0:3:e1::,2a03:b0c0:3ff:ffff:ffff:ffff:ffff:ffff,GB
+2a03:b0c0:400::,2a03:b0c0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a03:b0e0::,2a03:b0e0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:b100::,2a03:b100:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a03:b140::,2a03:b140:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -34228,7 +35763,6 @@
2a03:b200::,2a03:b207:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:b240::,2a03:b247:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a03:b280::,2a03:b280:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a03:b2c0::,2a03:b2c0:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a03:b300::,2a03:b300:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:b340::,2a03:b340:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a03:b380::,2a03:b380:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -34876,7 +36410,7 @@
2a03:da80::,2a03:da80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:dac0::,2a03:dac0:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a03:db00::,2a03:db07:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a03:db40::,2a03:db47:ffff:ffff:ffff:ffff:ffff:ffff,CY
+2a03:db40::,2a03:db47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:db80::,2a03:db80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:dbc0::,2a03:dbc0:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a03:dc00::,2a03:dc00:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -34921,7 +36455,11 @@
2a03:e480::,2a03:e480:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:e500::,2a03:e500:ffff:ffff:ffff:ffff:ffff:ffff,GR
2a03:e540::,2a03:e540:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a03:e580::,2a03:e587:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a03:e580::,2a03:e581:1:ffff:ffff:ffff:ffff:ffff,FI
+2a03:e581:2::,2a03:e581:2:ffff:ffff:ffff:ffff:ffff,SE
+2a03:e581:3::,2a03:e581:e:ffff:ffff:ffff:ffff:ffff,FI
+2a03:e581:f::,2a03:e581:f:ffff:ffff:ffff:ffff:ffff,GB
+2a03:e581:10::,2a03:e587:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a03:e5c0::,2a03:e5c0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a03:e600::,2a03:e600:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a03:e640::,2a03:e640:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -35429,7 +36967,6 @@
2a04:5ac0::,2a04:5ac7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a04:5b00::,2a04:5b07:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a04:5b40::,2a04:5b47:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a04:5b80::,2a04:5b87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a04:5bc0::,2a04:5bc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a04:5c00::,2a04:5c07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a04:5c40::,2a04:5c47:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -35444,10 +36981,13 @@
2a04:5e00::,2a04:5e07:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a04:5e40::,2a04:5e47:ffff:ffff:ffff:ffff:ffff:ffff,AZ
2a04:5e80::,2a04:5e87:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a04:5ec0::,2a04:5ec7:ffff:ffff:ffff:ffff:ffff:ffff,VG
+2a04:5ec0::,2a04:5ec6:ffff:ffff:ffff:ffff:ffff:ffff,VG
+2a04:5ec7::,2a04:5ec7::ffff:ffff:ffff:ffff:ffff,MD
+2a04:5ec7:1::,2a04:5ec7:ffff:ffff:ffff:ffff:ffff:ffff,VG
2a04:5f00::,2a04:5f07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a04:5f40::,2a04:5f47:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a04:5f81::,2a04:5f81::ffff:ffff:ffff:ffff:ffff,US
+2a04:5f87::,2a04:5f87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a04:5fc0::,2a04:5fc7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a04:6000::,2a04:6007:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a04:6040::,2a04:6047:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -35477,6 +37017,7 @@
2a04:6640::,2a04:6647:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a04:6650::,2a04:6651:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a04:6680::,2a04:6687:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a04:66c0::,2a04:66c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a04:6700::,2a04:6707:ffff:ffff:ffff:ffff:ffff:ffff,MT
2a04:6740::,2a04:6747:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a04:6780::,2a04:6787:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -35712,7 +37253,7 @@
2a04:9c40::,2a04:9c47:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a04:9c80::,2a04:9c87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a04:9cc0::,2a04:9cc7:ffff:ffff:ffff:ffff:ffff:ffff,LB
-2a04:9d00::,2a04:9d07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a04:9d00::,2a04:9d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a04:9d40::,2a04:9d47:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a04:9d80::,2a04:9d87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a04:9dc0::,2a04:9dc7:ffff:ffff:ffff:ffff:ffff:ffff,RO
@@ -35843,7 +37384,7 @@
2a04:bc00::,2a04:bc07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a04:bc40::,2a04:bc40:1dc0:ffff:ffff:ffff:ffff:ffff,UA
2a04:bc40:1dc1::,2a04:bc40:1dc1:ffff:ffff:ffff:ffff:ffff,NL
-2a04:bc40:1dc2::,2a04:bc40:1dc2:ffff:ffff:ffff:ffff:ffff,RU
+2a04:bc40:1dc2::,2a04:bc40:1dc2:ffff:ffff:ffff:ffff:ffff,BE
2a04:bc40:1dc3::,2a04:bc40:1dc3:ffff:ffff:ffff:ffff:ffff,UA
2a04:bc40:1dc4::,2a04:bc40:1dc4:ffff:ffff:ffff:ffff:ffff,RO
2a04:bc40:1dc5::,2a04:bc40:1dc5:ffff:ffff:ffff:ffff:ffff,CZ
@@ -36132,7 +37673,7 @@
2a04:fa40::,2a04:fa47:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a04:fa80::,2a04:fa80::ffff:ffff:ffff:ffff:ffff,DE
2a04:fa80:1::,2a04:fa87:ffff:ffff:ffff:ffff:ffff:ffff,IE
-2a04:fac0::,2a04:fac7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a04:fac0::,2a04:fac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a04:fb00::,2a04:fb07:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a04:fb40::,2a04:fb47:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a04:fb80::,2a04:fb87:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -36145,7 +37686,7 @@
2a04:fd40::,2a04:fd47:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a04:fd80::,2a04:fd87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a04:fdc0::,2a04:fdc7:ffff:ffff:ffff:ffff:ffff:ffff,IE
-2a04:fe00::,2a04:fe07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a04:fe00::,2a04:fe07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a04:fe40::,2a04:fe47:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a04:fe80::,2a04:fe87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a04:fec0::,2a04:fec0:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -36189,7 +37730,6 @@
2a05:7c0::,2a05:7cf:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a05:800::,2a05:807:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a05:840::,2a05:843:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a05:860::,2a05:863:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:880::,2a05:887:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a05:8c0::,2a05:8c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a05:900::,2a05:907:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36218,10 +37758,10 @@
2a05:f00::,2a05:f07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a05:f40::,2a05:f47:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:f80::,2a05:f87:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a05:fc0::,2a05:fc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a05:fc0::,2a05:fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:1000::,2a05:1007:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:1040::,2a05:1047:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a05:1080::,2a05:1087:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a05:1080::,2a05:1087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:10c0::,2a05:10c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a05:1100::,2a05:1107:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:1140::,2a05:1147:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -36234,12 +37774,13 @@
2a05:12c0::,2a05:12c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a05:1300::,2a05:1307:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a05:1340::,2a05:1347:ffff:ffff:ffff:ffff:ffff:ffff,IR
-2a05:1380::,2a05:1387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:1400::,2a05:1407:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a05:1440::,2a05:1447:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:1480::,2a05:1487:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a05:14c0::,2a05:14c7:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a05:1500::,2a05:1507:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a05:1500::,2a05:1500:2ff:ffff:ffff:ffff:ffff:ffff,NL
+2a05:1500:300::,2a05:1500:3ff:ffff:ffff:ffff:ffff:ffff,ES
+2a05:1500:400::,2a05:1507:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a05:1540::,2a05:1547:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a05:1580::,2a05:1587:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a05:15c0::,2a05:15c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36248,7 +37789,7 @@
2a05:1680::,2a05:1687:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a05:16c0::,2a05:16c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a05:1700::,2a05:1707:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a05:1780::,2a05:1787:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a05:1780::,2a05:1787:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:17c0::,2a05:17c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a05:1800::,2a05:1807:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:1840::,2a05:1847:ffff:ffff:ffff:ffff:ffff:ffff,HR
@@ -36308,18 +37849,14 @@
2a05:2700::,2a05:2707:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a05:2740::,2a05:2747:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a05:2780::,2a05:2787:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a05:27c0::,2a05:27c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a05:27c0::,2a05:27c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:2800::,2a05:2807:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a05:2840::,2a05:2847:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a05:2880::,2a05:2887:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a05:28c0::,2a05:28c0::ffff:ffff:ffff:ffff:ffff,DE
-2a05:28c0:1::,2a05:28c1:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c1:8000::,2a05:28c2:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c2:8000::,2a05:28c4:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c4:8000::,2a05:28c5:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c5:8000::,2a05:28c6:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c6:8000::,2a05:28c7:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c7:8000::,2a05:28c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a05:28c0:1::,2a05:28c6:3fff:ffff:ffff:ffff:ffff:ffff,PT
+2a05:28c6:8000::,2a05:28c7:3fff:ffff:ffff:ffff:ffff:ffff,PT
+2a05:28c7:8000::,2a05:28c7:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a05:2900::,2a05:2907:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a05:2940::,2a05:2947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:2980::,2a05:2987:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36346,6 +37883,7 @@
2a05:2d40::,2a05:2d47:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a05:2d80::,2a05:2d87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a05:2dc0::,2a05:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a05:2e00::,2a05:2e00:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a05:2e40::,2a05:2e40::ffff:ffff:ffff:ffff:ffff,RU
2a05:2e40:1::,2a05:2e47:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a05:2e80::,2a05:2e87:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36405,7 +37943,7 @@
2a05:3c00::,2a05:3c07:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a05:3c40::,2a05:3c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:3c80::,2a05:3c87:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a05:3cc0::,2a05:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a05:3cc0::,2a05:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:3d00::,2a05:3d07:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a05:3d40::,2a05:3d47:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a05:3d80::,2a05:3d87:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -36474,7 +38012,7 @@
2a05:4a00::,2a05:4a07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a05:4a40::,2a05:4a47:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a05:4a80::,2a05:4a87:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a05:4ac0::,2a05:4ac7:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a05:4ac0::,2a05:4ac0:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a05:4b00::,2a05:4b07:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a05:4b40::,2a05:4b47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a05:4b80::,2a05:4b87:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -36535,6 +38073,7 @@
2a05:5880::,2a05:5887:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a05:58c0::,2a05:58c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:5900::,2a05:5907:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a05:5940::,2a05:5947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:5980::,2a05:5987:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:59c0::,2a05:59c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:5a00::,2a05:5a07:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36603,7 +38142,7 @@
2a05:66c6:c000::,2a05:66c7:4097:ffff:ffff:ffff:ffff:ffff,US
2a05:66c7:40a0::,2a05:66c7:7fff:ffff:ffff:ffff:ffff:ffff,US
2a05:66c7:c000::,2a05:66c7:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a05:6700::,2a05:6707:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a05:6700::,2a05:6707:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a05:6740::,2a05:6747:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a05:6780::,2a05:6787:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:67c0::,2a05:67c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -36706,7 +38245,6 @@
2a05:7f00::,2a05:7f07:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a05:7f40::,2a05:7f47:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a05:7f80::,2a05:7f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a05:7fc0::,2a05:7fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:8000::,2a05:8007:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a05:8040::,2a05:8047:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:8080::,2a05:8087:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -36790,13 +38328,15 @@
2a05:9400::,2a05:9400:ffff:ffff:ffff:ffff:ffff:ffff,US
2a05:9401::,2a05:9401:ffff:ffff:ffff:ffff:ffff:ffff,SG
2a05:9402::,2a05:9402:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a05:9403::,2a05:9407:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a05:9403::,2a05:9403:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a05:9404::,2a05:9407:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a05:9440::,2a05:9447:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:9480::,2a05:9487:ffff:ffff:ffff:ffff:ffff:ffff,IS
2a05:94c0::,2a05:94c7:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:9500::,2a05:9507:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a05:9540::,2a05:9547:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a05:9580::,2a05:9587:ffff:ffff:ffff:ffff:ffff:ffff,HU
+2a05:95c0::,2a05:95c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a05:9600::,2a05:9607:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a05:9640::,2a05:9647:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a05:9680::,2a05:9687:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -36833,7 +38373,8 @@
2a05:9e40::,2a05:9e47:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:9e80::,2a05:9e87:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a05:9ec0::,2a05:9ec7:ffff:ffff:ffff:ffff:ffff:ffff,TR
-2a05:9f00::,2a05:9f07:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2a05:9f00::,2a05:9f05:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2a05:9f06::,2a05:9f07:ffff:ffff:ffff:ffff:ffff:ffff,SC
2a05:9f41:1a::,2a05:9f41:1a:ffff:ffff:ffff:ffff:ffff,RO
2a05:9f41:1b::,2a05:9f41:1c:ffff:ffff:ffff:ffff:ffff,SE
2a05:9f80::,2a05:9f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36932,7 +38473,6 @@
2a05:b380::,2a05:b387:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a05:b3c0::,2a05:b3c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:b400::,2a05:b400:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a05:b440::,2a05:b447:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a05:b4c0::,2a05:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a05:b500::,2a05:b507:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:b540::,2a05:b547:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -37296,14 +38836,7 @@
2a05:f400::,2a05:f407:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a05:f440::,2a05:f447:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:f480::,2a05:f487:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a05:f4c0:4000::,2a05:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c1:4000::,2a05:f4c1:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c2:4000::,2a05:f4c2:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c3:4000::,2a05:f4c3:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c4:4000::,2a05:f4c4:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c5:4000::,2a05:f4c5:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c6:4000::,2a05:f4c6:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c7:4000::,2a05:f4c7:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a05:f4c0::,2a05:f4c7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a05:f500::,2a05:f507:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a05:f540::,2a05:f547:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:f580::,2a05:f587:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -37365,7 +38898,6 @@
2a06:380::,2a06:387:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a06:3c0::,2a06:3c7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a06:400::,2a06:407:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a06:440::,2a06:447:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:480::,2a06:487:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:4c0::,2a06:4c7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a06:500::,2a06:507:ffff:ffff:ffff:ffff:ffff:ffff,NO
@@ -37394,7 +38926,6 @@
2a06:b00::,2a06:b07:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a06:b40::,2a06:b47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:b80::,2a06:b87:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:bc0::,2a06:bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:c00::,2a06:c07:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a06:c40::,2a06:c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:c80::,2a06:c87:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -37435,7 +38966,7 @@
2a06:1400::,2a06:1407:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a06:1440::,2a06:1447:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a06:1480::,2a06:1487:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a06:14c0::,2a06:14c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a06:14c0::,2a06:14c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:1500::,2a06:1507:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a06:1540::,2a06:1547:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:15c0::,2a06:15c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -37556,22 +39087,7 @@
2a06:2f80::,2a06:2f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:2fc0::,2a06:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a06:3000::,2a06:3007:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3040::,2a06:3040:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3040:4000::,2a06:3040:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3041::,2a06:3041:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3041:4000::,2a06:3041:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3042::,2a06:3042:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3042:4000::,2a06:3042:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3043::,2a06:3043:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3043:4000::,2a06:3043:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3044::,2a06:3044:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3044:4000::,2a06:3044:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3045::,2a06:3045:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3045:4000::,2a06:3045:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3046::,2a06:3046:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3046:4000::,2a06:3046:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3047::,2a06:3047:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3047:4000::,2a06:3047:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a06:3040::,2a06:3047:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:3080::,2a06:3087:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:30c0::,2a06:30c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:3100::,2a06:3107:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -37684,7 +39200,7 @@
2a06:46c6:4000::,2a06:46c6:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a06:46c7::,2a06:46c7:3fff:ffff:ffff:ffff:ffff:ffff,US
2a06:46c7:4000::,2a06:46c7:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a06:4700::,2a06:4707:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a06:4700::,2a06:4707:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:4740::,2a06:4747:ffff:ffff:ffff:ffff:ffff:ffff,US
2a06:4780::,2a06:4787:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:47c0::,2a06:47c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -37695,21 +39211,7 @@
2a06:4900::,2a06:4907:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:4940::,2a06:4947:ffff:ffff:ffff:ffff:ffff:ffff,LU
2a06:49c0::,2a06:49c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a06:4a00::,2a06:4a01:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a01:4000::,2a06:4a01:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a01:8000::,2a06:4a02:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a02:4000::,2a06:4a02:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a02:8000::,2a06:4a03:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a03:4000::,2a06:4a03:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a03:8000::,2a06:4a04:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a04:4000::,2a06:4a04:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a04:8000::,2a06:4a05:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a05:4000::,2a06:4a05:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a05:8000::,2a06:4a06:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a06:4000::,2a06:4a06:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a06:8000::,2a06:4a07:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a07:4000::,2a06:4a07:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a07:8000::,2a06:4a07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a06:4a00::,2a06:4a07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:4a40::,2a06:4a47:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a06:4a80::,2a06:4a87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:4ac0::,2a06:4ac7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -37801,7 +39303,7 @@
2a06:5dc0::,2a06:5dc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:5e00::,2a06:5e07:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a06:5e40::,2a06:5e47:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2a06:5e80::,2a06:5e87:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a06:5e80::,2a06:5e87:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a06:5ec0::,2a06:5ec7:ffff:ffff:ffff:ffff:ffff:ffff,HR
2a06:5f00::,2a06:5f07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:5f40::,2a06:5f40:ffff:ffff:ffff:ffff:ffff:ffff,BE
@@ -37869,7 +39371,7 @@
2a06:6f00::,2a06:6f07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:6f40::,2a06:6f47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:6fc0::,2a06:6fc7:ffff:ffff:ffff:ffff:ffff:ffff,SI
-2a06:7000::,2a06:7007:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a06:7000::,2a06:7007:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:7040::,2a06:7047:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a06:7080::,2a06:7087:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a06:70c0::,2a06:70c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -37886,7 +39388,6 @@
2a06:7244::,2a06:7244:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a06:7245::,2a06:7245::ffff:ffff:ffff:ffff:ffff,DE
2a06:7246::,2a06:7246:1f:ffff:ffff:ffff:ffff:ffff,US
-2a06:7247::,2a06:7247:1f:ffff:ffff:ffff:ffff:ffff,NL
2a06:7280::,2a06:7287:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a06:72c0::,2a06:72c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:7300::,2a06:7307:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -37925,7 +39426,6 @@
2a06:7a06::,2a06:7a06:f:ffff:ffff:ffff:ffff:ffff,NL
2a06:7a07::,2a06:7a07:1f:ffff:ffff:ffff:ffff:ffff,AU
2a06:7a40::,2a06:7a47:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:7a80::,2a06:7a87:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a06:7ac0::,2a06:7ac7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a06:7b00::,2a06:7b07:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a06:7b40::,2a06:7b47:ffff:ffff:ffff:ffff:ffff:ffff,FI
@@ -37977,8 +39477,8 @@
2a06:8186:c300::,2a06:8186:feff:ffff:ffff:ffff:ffff:ffff,GB
2a06:8187::,2a06:8187:bdff:ffff:ffff:ffff:ffff:ffff,GB
2a06:8187:be00::,2a06:8187:be03:ffff:ffff:ffff:ffff:ffff,CH
-2a06:8187:be04::,2a06:8187:faff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:8187:fb00::,2a06:8187:fcff:ffff:ffff:ffff:ffff:ffff,DE
+2a06:8187:be04::,2a06:8187:f7ff:ffff:ffff:ffff:ffff:ffff,GB
+2a06:8187:f800::,2a06:8187:fcff:ffff:ffff:ffff:ffff:ffff,DE
2a06:8187:fd00::,2a06:8187:fd02:ffff:ffff:ffff:ffff:ffff,FR
2a06:8187:fd03::,2a06:8187:fd03:ffff:ffff:ffff:ffff:ffff,IE
2a06:8187:fd04::,2a06:8187:fd98:ffff:ffff:ffff:ffff:ffff,FR
@@ -38025,7 +39525,7 @@
2a06:81c0::,2a06:81c7:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a06:8280::,2a06:8280:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a06:8281::,2a06:8281:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:8282::,2a06:8286:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a06:8282::,2a06:8287:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a06:82c0::,2a06:82c0::ffff:ffff:ffff:ffff:ffff,FR
2a06:82c1::,2a06:82c1::ffff:ffff:ffff:ffff:ffff,US
2a06:82c2::,2a06:82c2:f:ffff:ffff:ffff:ffff:ffff,GB
@@ -38076,6 +39576,7 @@
2a06:8d40::,2a06:8d47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:8d80::,2a06:8d87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:8dc0::,2a06:8dc0:3f:ffff:ffff:ffff:ffff:ffff,RO
+2a06:8dc2::,2a06:8dc2:f:ffff:ffff:ffff:ffff:ffff,DE
2a06:8dc4::,2a06:8dc4:1f:ffff:ffff:ffff:ffff:ffff,GB
2a06:8dc6::,2a06:8dc6:f:ffff:ffff:ffff:ffff:ffff,GB
2a06:8dc7::,2a06:8dc7::ffff:ffff:ffff:ffff:ffff,GB
@@ -38170,9 +39671,16 @@
2a06:9fc0::,2a06:9fc7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a06:a000::,2a06:a005:ff:ffff:ffff:ffff:ffff:ffff,IS
2a06:a005:100::,2a06:a005:1ff:ffff:ffff:ffff:ffff:ffff,AT
-2a06:a005:200::,2a06:a005:ffff:ffff:ffff:ffff:ffff:ffff,IS
-2a06:a006::,2a06:a006:3ff:ffff:ffff:ffff:ffff:ffff,US
-2a06:a006:400::,2a06:a006:ffff:ffff:ffff:ffff:ffff:ffff,IS
+2a06:a005:200::,2a06:a006:c1:ffff:ffff:ffff:ffff:ffff,IS
+2a06:a006:c2::,2a06:a006:c2:ffff:ffff:ffff:ffff:ffff,GB
+2a06:a006:c3::,2a06:a006:c3:ffff:ffff:ffff:ffff:ffff,NL
+2a06:a006:c4::,2a06:a006:c4:ffff:ffff:ffff:ffff:ffff,IM
+2a06:a006:c5::,2a06:a006:c5:ffff:ffff:ffff:ffff:ffff,US
+2a06:a006:c6::,2a06:a006:ef:ffff:ffff:ffff:ffff:ffff,IS
+2a06:a006:f0::,2a06:a006:f2:ffff:ffff:ffff:ffff:ffff,US
+2a06:a006:f3::,2a06:a006:f3:ffff:ffff:ffff:ffff:ffff,NL
+2a06:a006:f4::,2a06:a006:ff:ffff:ffff:ffff:ffff:ffff,US
+2a06:a006:100::,2a06:a006:ffff:ffff:ffff:ffff:ffff:ffff,IS
2a06:a007::,2a06:a007:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a06:a040::,2a06:a047:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a06:a080::,2a06:a087:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -38198,7 +39706,7 @@
2a06:a580::,2a06:a587:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a06:a5c0::,2a06:a5c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:a600::,2a06:a607:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a06:a640::,2a06:a647:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a06:a640::,2a06:a647:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a06:a680::,2a06:a687:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a06:a6c0::,2a06:a6c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a06:a700::,2a06:a707:ffff:ffff:ffff:ffff:ffff:ffff,FI
@@ -38210,6 +39718,7 @@
2a06:a880::,2a06:a887:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a06:a900::,2a06:a907:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:a940::,2a06:a947:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a06:a980::,2a06:a987:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a06:a9c0::,2a06:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:aa00::,2a06:aa07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:aa40::,2a06:aa47:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -38459,7 +39968,6 @@
2a06:e500::,2a06:e507:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a06:e540::,2a06:e547:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a06:e580::,2a06:e587:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a06:e5c0::,2a06:e5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:e600::,2a06:e607:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:e640::,2a06:e647:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a06:e680::,2a06:e687:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -38478,12 +39986,10 @@
2a06:e881:1100::,2a06:e881:110f:ffff:ffff:ffff:ffff:ffff,FR
2a06:e881:1500::,2a06:e881:150f:ffff:ffff:ffff:ffff:ffff,GB
2a06:e881:1700::,2a06:e881:170f:ffff:ffff:ffff:ffff:ffff,DE
-2a06:e881:2000::,2a06:e881:200f:ffff:ffff:ffff:ffff:ffff,DE
-2a06:e881:2100::,2a06:e881:210f:ffff:ffff:ffff:ffff:ffff,DE
+2a06:e881:2000::,2a06:e881:23ff:ffff:ffff:ffff:ffff:ffff,DE
2a06:e881:3700::,2a06:e881:370f:ffff:ffff:ffff:ffff:ffff,DE
2a06:e881:3800::,2a06:e881:380f:ffff:ffff:ffff:ffff:ffff,CN
2a06:e881:4001::,2a06:e881:4001:ffff:ffff:ffff:ffff:ffff,GB
-2a06:e881:f000::,2a06:e881:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:e8c0::,2a06:e8c7:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a06:e900::,2a06:e907:ffff:ffff:ffff:ffff:ffff:ffff,US
2a06:e9c0::,2a06:e9c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -38590,9 +40096,7 @@
2a07:380::,2a07:387:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a07:3c0::,2a07:3c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:400::,2a07:407:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a07:440::,2a07:440:1fff:ffff:ffff:ffff:ffff:ffff,DE
-2a07:440:2000::,2a07:440:2000:7fff:ffff:ffff:ffff:ffff,US
-2a07:440:2000:8000::,2a07:447:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a07:440::,2a07:447:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:480::,2a07:487:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:4c0::,2a07:4c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:500::,2a07:507:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -38631,6 +40135,7 @@
2a07:d40::,2a07:d47:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a07:d80::,2a07:d87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:dc0::,2a07:dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:e00::,2a07:e07:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a07:e40::,2a07:e47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:e80::,2a07:e87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:ec0::,2a07:ec7:ffff:ffff:ffff:ffff:ffff:ffff,DK
@@ -38703,7 +40208,8 @@
2a07:1c44:60a::,2a07:1c44:60a:ffff:ffff:ffff:ffff:ffff,DE
2a07:1c44:60b::,2a07:1c44:619:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c44:61a::,2a07:1c44:61a:ffff:ffff:ffff:ffff:ffff,KR
-2a07:1c44:61b::,2a07:1c44:67f:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:61b::,2a07:1c44:67e:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:67f::,2a07:1c44:67f:ffff:ffff:ffff:ffff:ffff,ES
2a07:1c44:680::,2a07:1c44:6bf:ffff:ffff:ffff:ffff:ffff,KR
2a07:1c44:6c0::,2a07:1c44:6ff:ffff:ffff:ffff:ffff:ffff,DE
2a07:1c44:700::,2a07:1c44:70f:ffff:ffff:ffff:ffff:ffff,US
@@ -38723,13 +40229,22 @@
2a07:1c44:4311::,2a07:1c44:43ff:ffff:ffff:ffff:ffff:ffff,HR
2a07:1c44:4400::,2a07:1c44:4fff:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c44:5000::,2a07:1c44:51ff:ffff:ffff:ffff:ffff:ffff,US
-2a07:1c44:5200::,2a07:1c44:61ff:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:5200::,2a07:1c44:5fff:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:6000::,2a07:1c44:61ff:ffff:ffff:ffff:ffff:ffff,PL
2a07:1c44:6200::,2a07:1c44:62ff:ffff:ffff:ffff:ffff:ffff,DE
-2a07:1c44:6300::,2a07:1c44:86ff:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:6300::,2a07:1c44:63ff:ffff:ffff:ffff:ffff:ffff,PL
+2a07:1c44:6400::,2a07:1c44:86ff:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c44:8700::,2a07:1c44:87fd:ffff:ffff:ffff:ffff:ffff,HK
2a07:1c44:87fe::,2a07:1c44:87fe:ffff:ffff:ffff:ffff:ffff,GB
2a07:1c44:87ff::,2a07:1c44:87ff:ffff:ffff:ffff:ffff:ffff,SG
-2a07:1c44:8800::,2a07:1c45:1fff:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:8800::,2a07:1c44:9110:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:9111::,2a07:1c44:9111:ffff:ffff:ffff:ffff:ffff,DE
+2a07:1c44:9112::,2a07:1c44:9198:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:9199::,2a07:1c44:9199:ffff:ffff:ffff:ffff:ffff,JP
+2a07:1c44:919a::,2a07:1c44:9600:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:9601::,2a07:1c44:9601:ffff:ffff:ffff:ffff:ffff,US
+2a07:1c44:9602::,2a07:1c44:9602:ffff:ffff:ffff:ffff:ffff,DE
+2a07:1c44:9603::,2a07:1c45:1fff:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c45:2000::,2a07:1c45:20ff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:1c45:2100::,2a07:1c45:2fff:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c45:3000::,2a07:1c45:30ff:ffff:ffff:ffff:ffff:ffff,GB
@@ -38820,7 +40335,7 @@
2a07:3040::,2a07:3047:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:3080::,2a07:3087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:30c0::,2a07:30c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a07:3100::,2a07:3107:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a07:3100::,2a07:3107:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a07:3140::,2a07:3147:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a07:3180::,2a07:3180:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a07:3181::,2a07:3181:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -38845,7 +40360,9 @@
2a07:3500::,2a07:3507:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:3540::,2a07:3547:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:3580::,2a07:3587:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a07:35c0::,2a07:35c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a07:35c0::,2a07:35c1:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a07:35c2::,2a07:35c2:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:35c3::,2a07:35c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a07:3600::,2a07:3607:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:3640::,2a07:3647:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:3680::,2a07:3687:ffff:ffff:ffff:ffff:ffff:ffff,LB
@@ -38860,13 +40377,11 @@
2a07:38c0::,2a07:38c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:3900::,2a07:3907:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a07:3940::,2a07:3947:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a07:3980::,2a07:3987:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a07:3980::,2a07:3987:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a07:39c0::,2a07:39c7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a07:3a00::,2a07:3a07:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a07:3a40::,2a07:3a47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:3a80::,2a07:3a87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a07:3ac0::,2a07:3ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a07:3b00::,2a07:3b07:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a07:3b40::,2a07:3b47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:3b80::,2a07:3b87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:3bc0::,2a07:3bc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -38874,7 +40389,6 @@
2a07:3c40::,2a07:3c47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:3cc0::,2a07:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:3d00::,2a07:3d07:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a07:3d40::,2a07:3d47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:3d80::,2a07:3d87:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:3dc0::,2a07:3dc7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a07:3e00::,2a07:3e07:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -38913,8 +40427,8 @@
2a07:4640::,2a07:4647:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:4680::,2a07:4687:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a07:4700::,2a07:4707:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a07:4740::,2a07:4747:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a07:4780::,2a07:4787:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a07:4740::,2a07:4747:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a07:4780::,2a07:4787:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:47c0::,2a07:47c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a07:4800::,2a07:4807:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a07:4840::,2a07:4847:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -38929,8 +40443,6 @@
2a07:4a80::,2a07:4a87:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a07:4ac0::,2a07:4ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:4b00::,2a07:4b07:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a07:4b40::,2a07:4b40::ffff:ffff:ffff:ffff:ffff,NL
-2a07:4b40:1::,2a07:4b47:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a07:4b80::,2a07:4b87:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:4bc0::,2a07:4bc7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:4c00::,2a07:4c07:ffff:ffff:ffff:ffff:ffff:ffff,IR
@@ -38987,7 +40499,20 @@
2a07:5980::,2a07:5987:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:59c0::,2a07:59c1:1fff:ffff:ffff:ffff:ffff:ffff,IT
2a07:59c1:2000::,2a07:59c1:20ff:ffff:ffff:ffff:ffff:ffff,PL
-2a07:59c1:2100::,2a07:59c1:3fff:ffff:ffff:ffff:ffff:ffff,IT
+2a07:59c1:2100::,2a07:59c1:2fff:ffff:ffff:ffff:ffff:ffff,IT
+2a07:59c1:3000::,2a07:59c1:3010:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:3011::,2a07:59c1:3011:ffff:ffff:ffff:ffff:ffff,DE
+2a07:59c1:3012::,2a07:59c1:3016:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:3017::,2a07:59c1:3017:ffff:ffff:ffff:ffff:ffff,HK
+2a07:59c1:3018::,2a07:59c1:3060:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:3061::,2a07:59c1:3061:ffff:ffff:ffff:ffff:ffff,HK
+2a07:59c1:3062::,2a07:59c1:3062:ffff:ffff:ffff:ffff:ffff,SG
+2a07:59c1:3063::,2a07:59c1:3070:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:3071::,2a07:59c1:3071:ffff:ffff:ffff:ffff:ffff,US
+2a07:59c1:3072::,2a07:59c1:309f:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:30a0::,2a07:59c1:30a0:ffff:ffff:ffff:ffff:ffff,JP
+2a07:59c1:30a1::,2a07:59c1:30ff:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:3100::,2a07:59c1:3fff:ffff:ffff:ffff:ffff:ffff,IT
2a07:59c1:4000::,2a07:59c1:40ff:ffff:ffff:ffff:ffff:ffff,PL
2a07:59c1:4100::,2a07:59c6:7fff:ffff:ffff:ffff:ffff:ffff,IT
2a07:59c6:8000::,2a07:59c6:8fff:ffff:ffff:ffff:ffff:ffff,DE
@@ -39177,10 +40702,13 @@
2a07:8080::,2a07:8087:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:80c0::,2a07:80c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:8100::,2a07:8107:ffff:ffff:ffff:ffff:ffff:ffff,VA
-2a07:8140::,2a07:8147:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a07:8140::,2a07:8141:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a07:8142::,2a07:8142:fff:ffff:ffff:ffff:ffff:ffff,US
+2a07:8142:1000::,2a07:8143:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a07:8144::,2a07:8144:fff:ffff:ffff:ffff:ffff:ffff,HK
+2a07:8144:1000::,2a07:8147:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a07:8180::,2a07:8187:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:81c0::,2a07:81c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a07:8200::,2a07:8207:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:8240::,2a07:8247:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a07:8280::,2a07:8287:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:82c0::,2a07:82c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -39224,7 +40752,6 @@
2a07:8b40::,2a07:8b47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:8b80::,2a07:8b83:ffff:ffff:ffff:ffff:ffff:ffff,SI
2a07:8bc0::,2a07:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,BE
-2a07:8c00::,2a07:8c07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:8c40::,2a07:8c47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:8c80::,2a07:8c87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:8cc0::,2a07:8cc7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -39295,7 +40822,6 @@
2a07:9a00::,2a07:9a07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:9a40::,2a07:9a47:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a07:9a80::,2a07:9a87:ffff:ffff:ffff:ffff:ffff:ffff,IR
-2a07:9ac0::,2a07:9ac7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a07:9b00::,2a07:9b07:ffff:ffff:ffff:ffff:ffff:ffff,GR
2a07:9b40::,2a07:9b47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:9b80::,2a07:9b87:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -39350,7 +40876,7 @@
2a07:a343:f220::,2a07:a347:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:a380::,2a07:a387:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:a3c0::,2a07:a3c7:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a07:a400::,2a07:a407:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a07:a400::,2a07:a407:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:a440::,2a07:a443:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:a444::,2a07:a447:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:a480::,2a07:a487:ffff:ffff:ffff:ffff:ffff:ffff,NO
@@ -39416,9 +40942,7 @@
2a07:a906:f191::,2a07:a906:f1ff:ffff:ffff:ffff:ffff:ffff,GB
2a07:a906:f200::,2a07:a906:f200:ffff:ffff:ffff:ffff:ffff,DE
2a07:a906:f201::,2a07:a906:fffe:ffff:ffff:ffff:ffff:ffff,GB
-2a07:a907::,2a07:a907:509:ffff:ffff:ffff:ffff:ffff,GB
-2a07:a907:50a::,2a07:a907:50a:ffff:ffff:ffff:ffff:ffff,NL
-2a07:a907:50b::,2a07:a907:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a07:a907::,2a07:a907:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:a940::,2a07:a947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:a980::,2a07:a987:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a07:a9c0::,2a07:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -39493,7 +41017,6 @@
2a07:ba40::,2a07:ba47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:ba80::,2a07:ba87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a07:bac0::,2a07:bac7:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a07:bb00::,2a07:bb07:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a07:bb40::,2a07:bb47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:bb80::,2a07:bb87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:bbc0::,2a07:bbc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -39502,7 +41025,7 @@
2a07:bc80::,2a07:bc87:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a07:bcc0::,2a07:bcc7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:bd00::,2a07:bd07:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a07:bd40::,2a07:bd47:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a07:bd40::,2a07:bd47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:bd80::,2a07:bd87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:bdc0::,2a07:bdc7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:be00::,2a07:be07:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -39514,7 +41037,6 @@
2a07:bf80::,2a07:bf87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:bfc0::,2a07:bfc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:c000::,2a07:c007:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a07:c040::,2a07:c047:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a07:c080::,2a07:c087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:c0c0::,2a07:c0c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a07:c100::,2a07:c107:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -39548,7 +41070,7 @@
2a07:c800::,2a07:c807:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:c840::,2a07:c847:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a07:c880::,2a07:c887:ffff:ffff:ffff:ffff:ffff:ffff,LU
-2a07:c8c0::,2a07:c8c7:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a07:c8c0::,2a07:c8c7:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a07:c900::,2a07:c907:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a07:c940::,2a07:c947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:c9c0::,2a07:c9c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -39564,6 +41086,14 @@
2a07:cb40::,2a07:cb47:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:cb80::,2a07:cb87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:cbc0::,2a07:cbc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a07:cc00::,2a07:cc07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a07:cc40::,2a07:cc47:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:cc80::,2a07:cc87:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a07:ccc0::,2a07:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:cd00::,2a07:cd07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a07:cd40::,2a07:cd47:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a07:cd80::,2a07:cd87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:cdc0::,2a07:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:ce00::,2a07:ce07:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:ce40::,2a07:ce47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:ce80::,2a07:ce87:ffff:ffff:ffff:ffff:ffff:ffff,IQ
@@ -39604,7 +41134,6 @@
2a07:dec0::,2a07:dec7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:df00::,2a07:df07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:df40::,2a07:df47:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a07:df80::,2a07:df87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:dfc0::,2a07:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e000::,2a07:e007:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:e040::,2a07:e047:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -39619,7 +41148,6 @@
2a07:e280::,2a07:e287:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:e2c0::,2a07:e2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e300::,2a07:e307:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a07:e340::,2a07:e347:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e380::,2a07:e387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e3c0::,2a07:e3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e400::,2a07:e407:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -39646,7 +41174,7 @@
2a07:e940::,2a07:e947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e980::,2a07:e987:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:e9c0::,2a07:e9c7:ffff:ffff:ffff:ffff:ffff:ffff,IR
-2a07:ea00::,2a07:ea07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a07:ea00::,2a07:ea07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:ea40::,2a07:ea47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:ea80::,2a07:ea87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:eac0::,2a07:eac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -39669,8 +41197,7 @@
2a07:ef00::,2a07:ef07:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:ef40::,2a07:ef47:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:efc0::,2a07:efc0:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a07:f000::,2a07:f007:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a07:f040::,2a07:f047:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:f000::,2a07:f007:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:f080::,2a07:f087:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:f0c0::,2a07:f0c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:f100::,2a07:f107:ffff:ffff:ffff:ffff:ffff:ffff,LB
@@ -39680,7 +41207,7 @@
2a07:f200::,2a07:f207:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:f240::,2a07:f247:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:f280::,2a07:f287:ffff:ffff:ffff:ffff:ffff:ffff,TR
-2a07:f2c0::,2a07:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a07:f2c0::,2a07:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a07:f300::,2a07:f307:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:f340::,2a07:f340:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:f380::,2a07:f387:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -39693,7 +41220,7 @@
2a07:f540::,2a07:f547:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:f580::,2a07:f587:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:f5c0::,2a07:f5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a07:f600::,2a07:f607:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a07:f600::,2a07:f607:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:f640::,2a07:f647:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:f680::,2a07:f687:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a07:f6c0::,2a07:f6c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -39734,6 +41261,299 @@
2a07:ff80::,2a07:ff80:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a07:ffc0::,2a07:ffc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a08::,2a08:1fff:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09::,2a09:7:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:80::,2a09:87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:100::,2a09:100:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a09:180::,2a09:180:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:200::,2a09:207:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:280::,2a09:287:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:300::,2a09:307:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:380::,2a09:387:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:400::,2a09:407:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:480::,2a09:487:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a09:500::,2a09:507:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:580::,2a09:587:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:600::,2a09:607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:680::,2a09:687:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:700::,2a09:707:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:780::,2a09:787:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:800::,2a09:807:ffff:ffff:ffff:ffff:ffff:ffff,IE
+2a09:880::,2a09:887:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:900::,2a09:907:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:980::,2a09:987:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a00::,2a09:a07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:a80::,2a09:a87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:b00::,2a09:b07:ffff:ffff:ffff:ffff:ffff:ffff,LV
+2a09:b80::,2a09:b87:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a09:c00::,2a09:c07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:c80::,2a09:c87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d00::,2a09:d07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:d80::,2a09:d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:e00::,2a09:e07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:e80::,2a09:e87:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:f00::,2a09:f07:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:f80::,2a09:f87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1000::,2a09:1007:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:1080::,2a09:1087:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1100::,2a09:1107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1180::,2a09:1187:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:1200::,2a09:1207:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1280::,2a09:1287:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1300::,2a09:1307:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:1380::,2a09:1387:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:1400::,2a09:1407:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a09:1480::,2a09:1487:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:1500::,2a09:1507:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:1580::,2a09:1587:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:1600::,2a09:1607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1680::,2a09:1687:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:1700::,2a09:1707:ffff:ffff:ffff:ffff:ffff:ffff,BE
+2a09:1780::,2a09:1787:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:1800::,2a09:1807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1880::,2a09:1887:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:1900::,2a09:1907:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:1980::,2a09:1987:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:1a00::,2a09:1a07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1a80::,2a09:1a87:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:1b00::,2a09:1b07:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a09:1b80::,2a09:1b87:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:1c00::,2a09:1c07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:1c80::,2a09:1c87:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a09:1d00::,2a09:1d07:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:1d80::,2a09:1d87:ffff:ffff:ffff:ffff:ffff:ffff,LT
+2a09:1e00::,2a09:1e07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1e80::,2a09:1e87:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:1f00::,2a09:1f07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:1f80::,2a09:1f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:2000::,2a09:2007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:2080::,2a09:2087:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:2100::,2a09:2107:ffff:ffff:ffff:ffff:ffff:ffff,SM
+2a09:2180::,2a09:2187:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:2200::,2a09:2207:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:2280::,2a09:2287:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:2300::,2a09:2307:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:2380::,2a09:2387:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:2400::,2a09:2407:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:2480::,2a09:2487:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:2500::,2a09:2507:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:2600::,2a09:2607:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:2700::,2a09:2707:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2a09:2800::,2a09:2807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:2900::,2a09:2907:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a09:2a00::,2a09:2a07:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a09:2b00::,2a09:2b07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:2c00::,2a09:2c07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:2d00::,2a09:2d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:2e00::,2a09:2e07:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a09:2f00::,2a09:2f07:ffff:ffff:ffff:ffff:ffff:ffff,LU
+2a09:3000::,2a09:3000:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a09:3100::,2a09:3107:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:3200::,2a09:3207:ffff:ffff:ffff:ffff:ffff:ffff,KZ
+2a09:3300::,2a09:3307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3400::,2a09:3407:ffff:ffff:ffff:ffff:ffff:ffff,LV
+2a09:3500::,2a09:3507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3600::,2a09:3607:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:3700::,2a09:3707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3800::,2a09:3807:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a09:3900::,2a09:3907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3a00::,2a09:3a07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:3b00::,2a09:3b07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3c00::,2a09:3c07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:3d00::,2a09:3d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3e00::,2a09:3e07:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:3f00::,2a09:3f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4000::,2a09:4007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4100::,2a09:4107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4200::,2a09:4207:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:4300::,2a09:4307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4400::,2a09:4407:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:4500::,2a09:4507:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:4600::,2a09:4607:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:4700::,2a09:4707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4800::,2a09:4807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:4900::,2a09:4907:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:4a00::,2a09:4a07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4b00::,2a09:4b00:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:4c00::,2a09:4c07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:4d00::,2a09:4d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4e00::,2a09:4e07:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a09:4f00::,2a09:4f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5000::,2a09:5007:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:5100::,2a09:5100:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:5200::,2a09:5207:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5300::,2a09:5307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5400::,2a09:5407:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5500::,2a09:5507:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a09:5600::,2a09:5600:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a09:5700::,2a09:5707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5800::,2a09:5807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:5900::,2a09:5907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5a00::,2a09:5a07:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a09:5b00::,2a09:5b07:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2a09:5c00::,2a09:5c07:ffff:ffff:ffff:ffff:ffff:ffff,UZ
+2a09:5d00::,2a09:5d07:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:5e00::,2a09:5e07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:5f00::,2a09:5f07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:6000::,2a09:6007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6100::,2a09:6107:ffff:ffff:ffff:ffff:ffff:ffff,SK
+2a09:6200::,2a09:6207:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:6300::,2a09:6307:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:6400::,2a09:6407:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6500::,2a09:6507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6600::,2a09:6607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6700::,2a09:6707:ffff:ffff:ffff:ffff:ffff:ffff,UZ
+2a09:6800::,2a09:6807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6900::,2a09:6907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6a00::,2a09:6a07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:6b00::,2a09:6b07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6c00::,2a09:6c07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6d00::,2a09:6d07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:6e00::,2a09:6e07:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a09:6f00::,2a09:6f00:ffff:ffff:ffff:ffff:ffff:ffff,CY
+2a09:7000::,2a09:7007:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a09:7100::,2a09:7107:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:7200::,2a09:7207:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:7300::,2a09:7307:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:7400::,2a09:7400:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:7500::,2a09:7507:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:7600::,2a09:7607:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a09:7700::,2a09:7707:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a09:7800::,2a09:7807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:7900::,2a09:7907:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:7a00::,2a09:7a07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:7b00::,2a09:7b07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:7c00::,2a09:7c07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:7d00::,2a09:7d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:7e00::,2a09:7e07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:7f00::,2a09:7f07:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:8000::,2a09:8007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8100::,2a09:8107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8200::,2a09:8207:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:8300::,2a09:8307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8400::,2a09:8407:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:8500::,2a09:8507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8600::,2a09:8607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8700::,2a09:8707:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:8800::,2a09:8807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8900::,2a09:8907:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:8a00::,2a09:8a07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:8b00::,2a09:8b07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:8c00::,2a09:8c07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:8d00::,2a09:8d07:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a09:8e00::,2a09:8e07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8f00::,2a09:8f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9000::,2a09:9007:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:9100::,2a09:9107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9200::,2a09:9207:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:9300::,2a09:9307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9400::,2a09:9407:ffff:ffff:ffff:ffff:ffff:ffff,HU
+2a09:9500::,2a09:9507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9600::,2a09:9607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9700::,2a09:9707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9800::,2a09:9807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9900::,2a09:9900:ffff:ffff:ffff:ffff:ffff:ffff,PS
+2a09:9a00::,2a09:9a07:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a09:9b00::,2a09:9b07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9c00::,2a09:9c07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:9d00::,2a09:9d07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:9e00::,2a09:9e00:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:9f00::,2a09:9f07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:a000::,2a09:a007:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:a100::,2a09:a107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a200::,2a09:a207:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a300::,2a09:a300:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a09:a400::,2a09:a407:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:a500::,2a09:a507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a600::,2a09:a607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a700::,2a09:a707:ffff:ffff:ffff:ffff:ffff:ffff,VG
+2a09:a800::,2a09:a807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a900::,2a09:a907:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:aa00::,2a09:aa07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:ab00::,2a09:ab07:ffff:ffff:ffff:ffff:ffff:ffff,RS
+2a09:ac00::,2a09:ac07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a09:ad00::,2a09:ad07:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a09:ae00::,2a09:ae07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:af00::,2a09:af07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:b000::,2a09:b007:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:b100::,2a09:b107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:b200::,2a09:b207:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:b300::,2a09:b307:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:b400::,2a09:b407:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:b500::,2a09:b507:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a09:b600::,2a09:b607:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:b700::,2a09:b707:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:b800::,2a09:b807:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a09:b900::,2a09:b907:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:ba00::,2a09:ba07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:bb00::,2a09:bb07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:bc00::,2a09:bc07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:bd00::,2a09:bd00:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:be00::,2a09:be00:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:bf00::,2a09:bf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:c000::,2a09:c007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:c100::,2a09:c100:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:c200::,2a09:c207:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:c300::,2a09:c307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:c400::,2a09:c407:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:c500::,2a09:c507:ffff:ffff:ffff:ffff:ffff:ffff,EE
+2a09:c600::,2a09:c607:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:c700::,2a09:c707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:c800::,2a09:c807:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:c900::,2a09:c900:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a09:ca00::,2a09:ca07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:cb00::,2a09:cb07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:cc00::,2a09:cc07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:cd00::,2a09:cd07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:ce00::,2a09:ce07:ffff:ffff:ffff:ffff:ffff:ffff,LT
+2a09:cf00::,2a09:cf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d000::,2a09:d007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d100::,2a09:d107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d200::,2a09:d207:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a09:d300::,2a09:d307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d400::,2a09:d407:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a09:d500::,2a09:d507:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:d600::,2a09:d607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d700::,2a09:d707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d800::,2a09:d807:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:d900::,2a09:d907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:da00::,2a09:da07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:db00::,2a09:db07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:dc00::,2a09:dc07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a09:dd00::,2a09:dd07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:de00::,2a09:de07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:df00::,2a09:df07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:e000::,2a09:e007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:e100::,2a09:e107:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:e200::,2a09:e207:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:e300::,2a09:e307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:e400::,2a09:e407:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:e500::,2a09:e507:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:e600::,2a09:e607:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:e700::,2a09:e707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:e800::,2a09:e807:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:e900::,2a09:e907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:ea00::,2a09:ea00:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:eb00::,2a09:eb07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:ec00::,2a09:ec07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:ed00::,2a09:ed07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:ee00::,2a09:ee07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a09:ef00::,2a09:ef07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f000::,2a09:f007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f100::,2a09:f107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f200::,2a09:f207:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:f300::,2a09:f307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f400::,2a09:f407:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:f500::,2a09:f507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f600::,2a09:f607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f700::,2a09:f707:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a09:f800::,2a09:f807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f900::,2a09:f907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:fa00::,2a09:fa07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:fb00::,2a09:fb07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:fc00::,2a09:fc07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:fd00::,2a09:fd07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:fe00::,2a09:fe07:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a09:ff00::,2a09:ff07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a::,2a0a:7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0a:40::,2a0a:40:ff:ffff:ffff:ffff:ffff:ffff,TR
2a0a:40:100::,2a0a:47:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -39741,7 +41561,8 @@
2a0a:c0::,2a0a:c7:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0a:100::,2a0a:107:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0a:140::,2a0a:147:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0a:180::,2a0a:187:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0a:180::,2a0a:180::ff,ES
+2a0a:180::100,2a0a:187:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:1c0::,2a0a:1c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:240::,2a0a:247:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0a:280::,2a0a:287:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -39916,13 +41737,16 @@
2a0a:2842:5100::,2a0a:2842:aeff:ffff:ffff:ffff:ffff:ffff,AQ
2a0a:2842:af00::,2a0a:2842:af0f:ffff:ffff:ffff:ffff:ffff,HK
2a0a:2842:af10::,2a0a:2843:ffff:ffff:ffff:ffff:ffff:ffff,AQ
-2a0a:2844::,2a0a:2845:1ff:ffff:ffff:ffff:ffff:ffff,LU
+2a0a:2844::,2a0a:2844::ffff:ffff:ffff:ffff:ffff,JP
+2a0a:2844:1::,2a0a:2844:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2a0a:2845::,2a0a:2845:1ff:ffff:ffff:ffff:ffff:ffff,AQ
2a0a:2845:200::,2a0a:2845:3ff:ffff:ffff:ffff:ffff:ffff,GB
-2a0a:2845:400::,2a0a:2845:a9ff:ffff:ffff:ffff:ffff:ffff,LU
+2a0a:2845:400::,2a0a:2845:a9ff:ffff:ffff:ffff:ffff:ffff,AQ
2a0a:2845:aa00::,2a0a:2845:aaff:ffff:ffff:ffff:ffff:ffff,DE
-2a0a:2845:ab00::,2a0a:2845:ffff:ffff:ffff:ffff:ffff:ffff,LU
+2a0a:2845:ab00::,2a0a:2845:ffff:ffff:ffff:ffff:ffff:ffff,AQ
2a0a:2846::,2a0a:2846:fff:ffff:ffff:ffff:ffff:ffff,AU
-2a0a:2846:1000::,2a0a:2847:ffff:ffff:ffff:ffff:ffff:ffff,LU
+2a0a:2846:1000::,2a0a:2846:ffff:ffff:ffff:ffff:ffff:ffff,AQ
+2a0a:2847::,2a0a:2847:ffff:ffff:ffff:ffff:ffff:ffff,LU
2a0a:2880::,2a0a:2887:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:28c0::,2a0a:28c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:2900::,2a0a:2907:ffff:ffff:ffff:ffff:ffff:ffff,GE
@@ -39947,7 +41771,6 @@
2a0a:2dc0::,2a0a:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:2e00::,2a0a:2e07:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0a:2e40::,2a0a:2e47:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0a:2e80::,2a0a:2e87:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0a:2ec0::,2a0a:2ec7:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0a:2f00::,2a0a:2f07:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:2f40::,2a0a:2f40:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -39966,7 +41789,7 @@
2a0a:3240::,2a0a:3240:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0a:3280::,2a0a:3287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:32c0::,2a0a:32c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0a:3300::,2a0a:3307:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0a:3300::,2a0a:3307:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:3340::,2a0a:3347:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0a:3380::,2a0a:3387:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:33c0::,2a0a:33c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -40135,7 +41958,8 @@
2a0a:5b40::,2a0a:5b47:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0a:5b80::,2a0a:5b87:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0a:5bc0::,2a0a:5bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0a:5c00::,2a0a:5c07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0a:5c00::,2a0a:5c00::ff,ES
+2a0a:5c00::100,2a0a:5c07:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:5c40::,2a0a:5c47:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0a:5c80::,2a0a:5c87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0a:5cc0::,2a0a:5cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -40155,14 +41979,14 @@
2a0a:6040::,2a0a:6047:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0a:6080::,2a0a:6087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:60c0::,2a0a:60c0:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0a:6100::,2a0a:6107:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0a:6100::,2a0a:6107:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:6140::,2a0a:6147:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:6180::,2a0a:6187:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:61c0::,2a0a:61c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0a:6200::,2a0a:6200:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:6280::,2a0a:6287:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:62c0::,2a0a:62c0:ffff:ffff:ffff:ffff:ffff:ffff,FI
-2a0a:6300::,2a0a:6307:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0a:6300::,2a0a:6307:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:6340::,2a0a:6347:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0a:6380::,2a0a:6387:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0a:63c0::,2a0a:63c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -40221,7 +42045,7 @@
2a0a:7140::,2a0a:7147:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:7180::,2a0a:7187:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:71c0::,2a0a:71c0:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0a:7200::,2a0a:7207:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0a:7200::,2a0a:7207:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:7240::,2a0a:7240:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:7280::,2a0a:7287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:72c0::,2a0a:72c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -40372,7 +42196,7 @@
2a0a:9240::,2a0a:9247:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:9280::,2a0a:9287:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:92c0::,2a0a:92c7:ffff:ffff:ffff:ffff:ffff:ffff,CY
-2a0a:9300::,2a0a:9307:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0a:9300::,2a0a:9307:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:9340::,2a0a:9340:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0a:9380::,2a0a:9387:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:93c0::,2a0a:93c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -40469,8 +42293,7 @@
2a0a:aa40::,2a0a:aa47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:aa80::,2a0a:aa80:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:aa81::,2a0a:aa87:ffff:ffff:ffff:ffff:ffff:ffff,IM
-2a0a:aac0::,2a0a:aac0:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a0a:ab00::,2a0a:ab07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0a:aac0::,2a0a:aac7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0a:ab40::,2a0a:ab47:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0a:ab80::,2a0a:ab80:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:abc0::,2a0a:abc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -40489,7 +42312,9 @@
2a0a:af00::,2a0a:af07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:af40::,2a0a:af47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:af80::,2a0a:af87:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0a:afc0::,2a0a:afc7:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0a:afc0::,2a0a:afc6:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0a:afc7::,2a0a:afc7::ffff:ffff:ffff:ffff:ffff,VG
+2a0a:afc7:1::,2a0a:afc7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0a:b000::,2a0a:b000:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:b040::,2a0a:b047:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:b080::,2a0a:b087:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -40504,8 +42329,7 @@
2a0a:b2c0::,2a0a:b2c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:b300::,2a0a:b307:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0a:b340::,2a0a:b347:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a0a:b380::,2a0a:b380:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0a:b381::,2a0a:b381:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0a:b380::,2a0a:b381:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:b382::,2a0a:b384:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0a:b385::,2a0a:b387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:b400::,2a0a:b407:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -40522,7 +42346,6 @@
2a0a:b640:2::,2a0a:b647:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:b680::,2a0a:b687:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0a:b6c0::,2a0a:b6c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a0a:b700::,2a0a:b705:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:b706::,2a0a:b707::ffff:ffff:ffff:ffff:ffff,GB
2a0a:b707:1::,2a0a:b707:bd:ffff:ffff:ffff:ffff:ffff,NL
2a0a:b707:be::,2a0a:b707:be:ffff:ffff:ffff:ffff:ffff,BE
@@ -40573,7 +42396,6 @@
2a0a:c100::,2a0a:c107:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:c140::,2a0a:c140:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:c180::,2a0a:c187:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0a:c1c0::,2a0a:c1c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0a:c200::,2a0a:c207:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:c240::,2a0a:c240:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:c2c0::,2a0a:c2c7:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -40653,7 +42475,6 @@
2a0a:d500::,2a0a:d507:ffff:ffff:ffff:ffff:ffff:ffff,FO
2a0a:d540::,2a0a:d547:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:d580::,2a0a:d587:ffff:ffff:ffff:ffff:ffff:ffff,MD
-2a0a:d5c0::,2a0a:d5c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:d600::,2a0a:d607:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:d640::,2a0a:d647:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0a:d680::,2a0a:d687:ffff:ffff:ffff:ffff:ffff:ffff,BG
@@ -40711,7 +42532,7 @@
2a0a:e340::,2a0a:e347:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:e380::,2a0a:e387:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:e3c0::,2a0a:e3c7:ffff:ffff:ffff:ffff:ffff:ffff,IE
-2a0a:e400::,2a0a:e407:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0a:e400::,2a0a:e407:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a0a:e440::,2a0a:e447:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0a:e480::,2a0a:e487:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:e4c0::,2a0a:e4c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -40798,9 +42619,9 @@
2a0a:f900::,2a0a:f907:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0a:f940::,2a0a:f940:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:f980::,2a0a:f987:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0a:f9c0::,2a0a:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0a:f9c5::,2a0a:f9c6:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0a:f9c7::,2a0a:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0a:f9c0::,2a0a:f9c4:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0a:f9c5::,2a0a:f9c5:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0a:f9c6::,2a0a:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:fa00::,2a0a:fa07:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0a:fa40::,2a0a:fa47:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0a:fa80::,2a0a:fa87:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -40881,17 +42702,18 @@
2a0b:b87:ffd4::,2a0b:b87:ffd5:ffff:ffff:ffff:ffff:ffff,GB
2a0b:b87:ffd6::,2a0b:b87:ffd6:ffff:ffff:ffff:ffff:ffff,PL
2a0b:b87:ffd7::,2a0b:b87:ffd7:ffff:ffff:ffff:ffff:ffff,FI
-2a0b:b87:ffd8::,2a0b:b87:ffd9:ffff:ffff:ffff:ffff:ffff,DE
-2a0b:b87:ffda::,2a0b:b87:ffdf:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:b87:ffd8::,2a0b:b87:ffdf:ffff:ffff:ffff:ffff:ffff,GB
2a0b:b87:ffe0::,2a0b:b87:ffe0:ffff:ffff:ffff:ffff:ffff,RO
2a0b:b87:ffe1::,2a0b:b87:ffe1:ffff:ffff:ffff:ffff:ffff,IE
2a0b:b87:ffe2::,2a0b:b87:ffe2:ffff:ffff:ffff:ffff:ffff,PL
2a0b:b87:ffe3::,2a0b:b87:ffe3:ffff:ffff:ffff:ffff:ffff,DE
2a0b:b87:ffe4::,2a0b:b87:ffe4:ffff:ffff:ffff:ffff:ffff,NL
-2a0b:b87:ffe8::,2a0b:b87:ffe8:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:b87:ffe5::,2a0b:b87:ffe8:ffff:ffff:ffff:ffff:ffff,GB
2a0b:b87:ffe9::,2a0b:b87:ffe9:ffff:ffff:ffff:ffff:ffff,PL
2a0b:b87:ffea::,2a0b:b87:ffea:ffff:ffff:ffff:ffff:ffff,IE
-2a0b:b87:ffeb::,2a0b:b87:ffeb:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:b87:ffeb::,2a0b:b87:ffed:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:b87:ffee::,2a0b:b87:ffee:ffff:ffff:ffff:ffff:ffff,RO
+2a0b:b87:ffef::,2a0b:b87:ffef:ffff:ffff:ffff:ffff:ffff,DE
2a0b:b87:fff0::,2a0b:b87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0b:bc0::,2a0b:bc7:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a0b:c00::,2a0b:c00:ffff:ffff:ffff:ffff:ffff:ffff,LT
@@ -40950,10 +42772,14 @@
2a0b:1840::,2a0b:1847:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:1880::,2a0b:1887:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0b:18c0::,2a0b:18c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0b:1900::,2a0b:1900:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0b:1901::,2a0b:1901:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0b:1902::,2a0b:1904:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0b:1905::,2a0b:1907:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:1900::,2a0b:1900:f:ffff:ffff:ffff:ffff:ffff,US
+2a0b:1900:10::,2a0b:1901:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:1902::,2a0b:1902:1f:ffff:ffff:ffff:ffff:ffff,US
+2a0b:1902:20::,2a0b:1902:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:1903::,2a0b:1903:1f:ffff:ffff:ffff:ffff:ffff,US
+2a0b:1903:20::,2a0b:1903:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:1904::,2a0b:1904::ffff:ffff:ffff:ffff:ffff,US
+2a0b:1904:1::,2a0b:1907:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:1940::,2a0b:1940:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a0b:1980::,2a0b:1987:ffff:ffff:ffff:ffff:ffff:ffff,GR
2a0b:19c0::,2a0b:19c7:ffff:ffff:ffff:ffff:ffff:ffff,IL
@@ -41009,7 +42835,6 @@
2a0b:2580::,2a0b:2587:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a0b:25c0::,2a0b:25c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:2600::,2a0b:2607:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0b:2640::,2a0b:2647:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:2680::,2a0b:2687:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:26c0::,2a0b:26c7:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a0b:2700::,2a0b:2707:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -41039,8 +42864,8 @@
2a0b:2cc0::,2a0b:2cc7:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0b:2d00::,2a0b:2d07:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:2d80::,2a0b:2d84:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:2d85::,2a0b:2d86:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0b:2d87::,2a0b:2d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0b:2d85::,2a0b:2d85:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0b:2d86::,2a0b:2d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:2dc0::,2a0b:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0b:2e00::,2a0b:2e07:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0b:2e40::,2a0b:2e47:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -41144,7 +42969,9 @@
2a0b:4300::,2a0b:4307:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:4340::,2a0b:4340:5f:ffff:ffff:ffff:ffff:ffff,DE
2a0b:4340:60::,2a0b:4340:6f:ffff:ffff:ffff:ffff:ffff,JP
-2a0b:4340:70::,2a0b:4340:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:4340:70::,2a0b:4340:3ff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:4340:400::,2a0b:4340:7ff:ffff:ffff:ffff:ffff:ffff,CN
+2a0b:4340:800::,2a0b:4340:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:4342:1000::,2a0b:4342:4fff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:4342:5000::,2a0b:4342:5fff:ffff:ffff:ffff:ffff:ffff,KR
2a0b:4342:6000::,2a0b:4342:fffe:ffff:ffff:ffff:ffff:ffff,DE
@@ -41326,10 +43153,14 @@
2a0b:6b86:400::,2a0b:6b86:400:ffff:ffff:ffff:ffff:ffff,GB
2a0b:6b86:401::,2a0b:6b86:401:ffff:ffff:ffff:ffff:ffff,DE
2a0b:6b86:402::,2a0b:6b86:402:ffff:ffff:ffff:ffff:ffff,US
-2a0b:6b86:403::,2a0b:6b86:6ff:ffff:ffff:ffff:ffff:ffff,GB
-2a0b:6b86:700::,2a0b:6b86:8ff:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:6b86:403::,2a0b:6b86:403:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:6b86:404::,2a0b:6b86:404:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:6b86:405::,2a0b:6b86:6ff:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:6b86:700::,2a0b:6b86:7ff:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:6b86:800::,2a0b:6b86:8ff:ffff:ffff:ffff:ffff:ffff,US
2a0b:6b86:900::,2a0b:6b86:aff:ffff:ffff:ffff:ffff:ffff,GB
-2a0b:6b86:b00::,2a0b:6b87:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0b:6b86:b00::,2a0b:6b86:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0b:6b87::,2a0b:6b87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0b:6bc0::,2a0b:6bc7:ffff:ffff:ffff:ffff:ffff:ffff,TJ
2a0b:6c00::,2a0b:6c07:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a0b:6c40::,2a0b:6c47:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -41438,7 +43269,7 @@
2a0b:8540::,2a0b:8547:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0b:8580::,2a0b:8587:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0b:85c0::,2a0b:85c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0b:8600::,2a0b:8607:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0b:8600::,2a0b:8607:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:8640::,2a0b:8647:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0b:8680::,2a0b:8687:ffff:ffff:ffff:ffff:ffff:ffff,BY
2a0b:86c0::,2a0b:86c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -41478,7 +43309,6 @@
2a0b:8f40::,2a0b:8f47:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0b:8f80::,2a0b:8f87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:8fc0::,2a0b:8fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:9000::,2a0b:9007:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:9040::,2a0b:9047:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:9080::,2a0b:9087:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0b:90c0::,2a0b:90c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -41490,7 +43320,7 @@
2a0b:9240::,2a0b:9247:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:9280::,2a0b:9287:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0b:92c0::,2a0b:92c7:ffff:ffff:ffff:ffff:ffff:ffff,IR
-2a0b:9300::,2a0b:9307:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0b:9300::,2a0b:9307:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:9340::,2a0b:9347:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0b:9380::,2a0b:9380:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0b:93c0::,2a0b:93c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -41510,7 +43340,7 @@
2a0b:9740::,2a0b:9747:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:9780::,2a0b:9787:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0b:97c0::,2a0b:97c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:9800::,2a0b:9807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:9800::,2a0b:9807:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:9840::,2a0b:9847:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:9880::,2a0b:9887:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0b:98c0::,2a0b:98c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -41553,7 +43383,6 @@
2a0b:a140::,2a0b:a147:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0b:a180::,2a0b:a187:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:a1c0::,2a0b:a1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:a200::,2a0b:a207:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0b:a240::,2a0b:a247:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0b:a280::,2a0b:a280:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0b:a2c0::,2a0b:a2c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -41667,8 +43496,8 @@
2a0b:bc40::,2a0b:bc47:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0b:bc80::,2a0b:bc87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0b:bcc0::,2a0b:bcc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:bd00::,2a0b:bd00:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0b:bd01::,2a0b:bd07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0b:bd00::,2a0b:bd01:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:bd02::,2a0b:bd07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:bd40::,2a0b:bd47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0b:bd80::,2a0b:bd87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:bdc0::,2a0b:bdc7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -41728,6 +43557,7 @@
2a0b:cb80::,2a0b:cb80:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0b:cbc0::,2a0b:cbc7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0b:cc00::,2a0b:cc00:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0b:cc40::,2a0b:cc47:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0b:cc80::,2a0b:cc87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:ccc0::,2a0b:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0b:cd00::,2a0b:cd07:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -41738,7 +43568,6 @@
2a0b:ce40::,2a0b:ce40:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0b:ce80::,2a0b:ce87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:cec0::,2a0b:cec7:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a0b:cf00::,2a0b:cf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:cf40::,2a0b:cf47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:cf80::,2a0b:cf87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0b:cfc0::,2a0b:cfc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -41752,7 +43581,8 @@
2a0b:d1c0::,2a0b:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:d200::,2a0b:d207:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a0b:d240::,2a0b:d240:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0b:d280::,2a0b:d287:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0b:d280::,2a0b:d283:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0b:d284::,2a0b:d287:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0b:d2c0::,2a0b:d2c7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0b:d300::,2a0b:d307:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:d340::,2a0b:d347:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -41989,9 +43819,8 @@
2a0c:880::,2a0c:887:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:8c0::,2a0c:8c0:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:900::,2a0c:907:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0c:940::,2a0c:947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:980::,2a0c:987:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:9c0::,2a0c:9c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:9c0::,2a0c:9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a00::,2a0c:a07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:a40::,2a0c:a47:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a0c:a80::,2a0c:a87:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -42025,14 +43854,13 @@
2a0c:11c0::,2a0c:11c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:1200::,2a0c:1207:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0c:1240::,2a0c:1247:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:1280::,2a0c:1287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:12c0::,2a0c:12c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:1300::,2a0c:1307:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:1340::,2a0c:1347:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:1380::,2a0c:1387:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:13c0::,2a0c:13c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0c:1400::,2a0c:1407:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a0c:1440::,2a0c:1447:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:1440::,2a0c:1447:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:1480::,2a0c:1487:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:14c0::,2a0c:14c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:1500::,2a0c:1507:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -42042,7 +43870,7 @@
2a0c:1600::,2a0c:1600:ffff:ffff:ffff:ffff:ffff:ffff,BA
2a0c:1640::,2a0c:1647:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0c:1680::,2a0c:1687:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a0c:16c0::,2a0c:16c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:16c0::,2a0c:16c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:1700::,2a0c:1707:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:1740::,2a0c:1747:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0c:1780::,2a0c:1787:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -42060,17 +43888,17 @@
2a0c:1a80::,2a0c:1a87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:1ac0::,2a0c:1ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:1b00::,2a0c:1b07:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a0c:1b40::,2a0c:1b47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:1b40::,2a0c:1b47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:1b80::,2a0c:1b87:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:1bc0::,2a0c:1bc7:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:1c00::,2a0c:1c07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:1bc0::,2a0c:1bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:1c00::,2a0c:1c07:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:1c40::,2a0c:1c47:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0c:1c80::,2a0c:1c87:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a0c:1cc0::,2a0c:1cc7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:1d00::,2a0c:1d03:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:1d40::,2a0c:1d47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:1d80::,2a0c:1d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:1dc0::,2a0c:1dc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:1dc0::,2a0c:1dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:1e00::,2a0c:1e07:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:1e40::,2a0c:1e47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:1e80::,2a0c:1e87:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -42087,7 +43915,7 @@
2a0c:2140::,2a0c:2147:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:2180::,2a0c:2187:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:21c0::,2a0c:21c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0c:2200::,2a0c:2207:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2200::,2a0c:2207:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2240::,2a0c:2247:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:2280::,2a0c:2287:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0c:22c0::,2a0c:22c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -42097,7 +43925,7 @@
2a0c:23c0::,2a0c:23c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2400::,2a0c:2407:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:2440::,2a0c:2447:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a0c:2480::,2a0c:2487:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2480::,2a0c:2487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:24c0::,2a0c:24c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:2500::,2a0c:2507:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:2540::,2a0c:2547:ffff:ffff:ffff:ffff:ffff:ffff,SK
@@ -42111,23 +43939,20 @@
2a0c:2740::,2a0c:2747:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:27c0::,2a0c:27c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:2800::,2a0c:2800:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0c:2840::,2a0c:2847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2880::,2a0c:2887:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:28c0::,2a0c:28c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:2900::,2a0c:2907:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a0c:2940::,2a0c:2947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2980::,2a0c:2980:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:29c0::,2a0c:29c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:29c0::,2a0c:29c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2a00::,2a0c:2a07:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a0c:2a40::,2a0c:2a47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2a40::,2a0c:2a47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2a80::,2a0c:2a87:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0c:2ac0::,2a0c:2ac7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2ac0::,2a0c:2ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2b00::,2a0c:2b07:ffff:ffff:ffff:ffff:ffff:ffff,DK
-2a0c:2b40::,2a0c:2b47:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:2b80::,2a0c:2b87:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:2bc0::,2a0c:2bc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2b40::,2a0c:2b47:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:2bc0::,2a0c:2bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2c00::,2a0c:2c07:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:2c40::,2a0c:2c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2c80::,2a0c:2c87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:2cc0::,2a0c:2cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2d00::,2a0c:2d07:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -42137,13 +43962,15 @@
2a0c:2e00::,2a0c:2e07:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:2e40::,2a0c:2e43:ffff:ffff:ffff:ffff:ffff:ffff,LI
2a0c:2e80::,2a0c:2e87:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0c:2ec0::,2a0c:2ec7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2ec0::,2a0c:2ec7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2f00::,2a0c:2f07:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:2f40::,2a0c:2f42:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2f43::,2a0c:2f43:ffff:ffff:ffff:ffff:ffff:ffff,SI
-2a0c:2f44::,2a0c:2f47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2f44::,2a0c:2f44:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2f45::,2a0c:2f46:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:2f47::,2a0c:2f47:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:2f80::,2a0c:2f87:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0c:2fc0::,2a0c:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2fc0::,2a0c:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:3000::,2a0c:3000:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:3040::,2a0c:3047:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:3080::,2a0c:3080:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -42159,7 +43986,7 @@
2a0c:3300::,2a0c:3300::ffff:ffff:ffff:ffff,LB
2a0c:3300:0:1::,2a0c:3300:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:3301::,2a0c:3307:ffff:ffff:ffff:ffff:ffff:ffff,LB
-2a0c:3340::,2a0c:3347:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:3340::,2a0c:3347:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:3380::,2a0c:3387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:33c0::,2a0c:33c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:3400::,2a0c:3407:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -42176,19 +44003,18 @@
2a0c:36c0::,2a0c:36c0::ffff:ffff:ffff:ffff:ffff,US
2a0c:36c0:1::,2a0c:36c0:7:ffff:ffff:ffff:ffff:ffff,EE
2a0c:36c0:8::,2a0c:36c0:8:ffff:ffff:ffff:ffff:ffff,LT
-2a0c:36c0:9::,2a0c:36c0:ffff:ffff:ffff:ffff:ffff:ffff,EE
-2a0c:36c1::,2a0c:36c3:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:36c0:9::,2a0c:36c1:ffff:ffff:ffff:ffff:ffff:ffff,EE
+2a0c:36c2::,2a0c:36c3:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:36c4::,2a0c:36c5:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a0c:36c6::,2a0c:36c6:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:36c7::,2a0c:36c7:ffff:ffff:ffff:ffff:ffff:ffff,EE
+2a0c:36c7::,2a0c:36c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:3700::,2a0c:3700:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:3740::,2a0c:3747:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:3780::,2a0c:3787:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:37c0::,2a0c:37c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:3800::,2a0c:3800:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:3840::,2a0c:3847:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0c:3880::,2a0c:3887:ffff:ffff:ffff:ffff:ffff:ffff,IR
-2a0c:38c0::,2a0c:38c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:38c0::,2a0c:38c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:3900::,2a0c:3907:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:3940::,2a0c:3947:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:3980::,2a0c:3987:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -42199,6 +44025,7 @@
2a0c:3ac0::,2a0c:3ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:3b00::,2a0c:3b07:ffff:ffff:ffff:ffff:ffff:ffff,MD
2a0c:3b40::,2a0c:3b47:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:3b80:4348::,2a0c:3b80:4348:ffff:ffff:ffff:ffff:ffff,CH
2a0c:3b80:4c49::,2a0c:3b80:4c49:ffff:ffff:ffff:ffff:ffff,LI
2a0c:3b86::,2a0c:3b86::ffff:ffff:ffff:ffff:ffff,CH
2a0c:3b87::,2a0c:3b87::ffff:ffff:ffff:ffff:ffff,FI
@@ -42272,7 +44099,6 @@
2a0c:4cc0::,2a0c:4cc0:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:4d00::,2a0c:4d07:ffff:ffff:ffff:ffff:ffff:ffff,SC
2a0c:4d40::,2a0c:4d47:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:4d80::,2a0c:4d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:4dc0::,2a0c:4dc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:4e00::,2a0c:4e00:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:4e40::,2a0c:4e47:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -42302,7 +44128,8 @@
2a0c:5380::,2a0c:5387:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0c:53c0::,2a0c:53c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0c:5400::,2a0c:5407:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a0c:5440::,2a0c:5447:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:5440::,2a0c:5443:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2a0c:5444::,2a0c:5447:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:5480::,2a0c:5487:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:54c0::,2a0c:54c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:5500::,2a0c:5500:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -42371,8 +44198,7 @@
2a0c:6500::,2a0c:6507:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:6540::,2a0c:6540:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0c:6580::,2a0c:6587:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:65c0::,2a0c:65c7:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:6600::,2a0c:6607:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:65c0::,2a0c:65c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6640::,2a0c:6647:ffff:ffff:ffff:ffff:ffff:ffff,OM
2a0c:6680::,2a0c:6687:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:66c0::,2a0c:66c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -42391,17 +44217,16 @@
2a0c:6a00::,2a0c:6a07:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:6a40::,2a0c:6a47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:6a80::,2a0c:6a87:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0c:6ac0::,2a0c:6ac7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:6ac0::,2a0c:6ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6b00::,2a0c:6b07:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:6b40::,2a0c:6b47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:6b80::,2a0c:6b87:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0c:6bc0::,2a0c:6bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6c00::,2a0c:6c00:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0c:6c40::,2a0c:6c47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:6c40::,2a0c:6c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6c80::,2a0c:6c87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:6cc0::,2a0c:6cc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:6d00::,2a0c:6d00:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:6d40::,2a0c:6d47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:6d40::,2a0c:6d47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6d80::,2a0c:6d87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:6dc0::,2a0c:6dc7:ffff:ffff:ffff:ffff:ffff:ffff,AM
2a0c:6e00::,2a0c:6e07:ffff:ffff:ffff:ffff:ffff:ffff,TR
@@ -42428,11 +44253,11 @@
2a0c:7380::,2a0c:7387:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0c:73c0::,2a0c:73c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:7400::,2a0c:7407:ffff:ffff:ffff:ffff:ffff:ffff,BE
-2a0c:7440::,2a0c:7447:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:7440::,2a0c:7447:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7480::,2a0c:7487:ffff:ffff:ffff:ffff:ffff:ffff,RO
-2a0c:74c0::,2a0c:74c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:74c0::,2a0c:74c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7500::,2a0c:7507:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:7540::,2a0c:7547:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:7540::,2a0c:7547:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7580::,2a0c:7587:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:75c0::,2a0c:75c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:7600::,2a0c:7607:ffff:ffff:ffff:ffff:ffff:ffff,NO
@@ -42466,11 +44291,11 @@
2a0c:7a40::,2a0c:7a47:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0c:7a80::,2a0c:7a87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:7ac0::,2a0c:7ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:7b00::,2a0c:7b07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:7b00::,2a0c:7b07:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a0c:7b40::,2a0c:7b47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:7b80::,2a0c:7b87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:7bc0::,2a0c:7bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:7c00::,2a0c:7c07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:7c00::,2a0c:7c07:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:7c40::,2a0c:7c47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:7c80::,2a0c:7c87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7cc0::,2a0c:7cc7:ffff:ffff:ffff:ffff:ffff:ffff,BG
@@ -42491,9 +44316,9 @@
2a0c:8080::,2a0c:8080:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:80c0::,2a0c:80c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:8100::,2a0c:8107:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0c:8140::,2a0c:8147:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:8140::,2a0c:8147:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8180::,2a0c:8187:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a0c:81c0::,2a0c:81c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:81c0::,2a0c:81c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8200::,2a0c:8207:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0c:8240::,2a0c:8247:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8280::,2a0c:8287:ffff:ffff:ffff:ffff:ffff:ffff,CY
@@ -42510,14 +44335,14 @@
2a0c:8540::,2a0c:8547:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:8580::,2a0c:8587:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:85c0::,2a0c:85c7:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:8600::,2a0c:8607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:8600::,2a0c:8607:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:8640::,2a0c:8647:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:8680::,2a0c:8687:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:86c0::,2a0c:86c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:8700::,2a0c:8707:ffff:ffff:ffff:ffff:ffff:ffff,EE
-2a0c:8740::,2a0c:8747:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:8740::,2a0c:8747:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8780::,2a0c:8787:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a0c:87c0::,2a0c:87c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:87c0::,2a0c:87c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8800::,2a0c:8807:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:8840::,2a0c:8847:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:8880::,2a0c:8887:ffff:ffff:ffff:ffff:ffff:ffff,BG
@@ -42534,12 +44359,12 @@
2a0c:8b80::,2a0c:8b87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:8bc0::,2a0c:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8c00::,2a0c:8c07:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a0c:8c40::,2a0c:8c47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:8c40::,2a0c:8c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8c80::,2a0c:8c80:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:8cc0::,2a0c:8cc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:8d00::,2a0c:8d07:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a0c:8d40::,2a0c:8d47:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0c:8d80::,2a0c:8d87:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:8d80::,2a0c:8d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8dc0::,2a0c:8dc7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0c:8e00::,2a0c:8e07:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:8e40::,2a0c:8e47:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -42556,11 +44381,11 @@
2a0c:9100::,2a0c:9107:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a0c:9140::,2a0c:9147:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:9180::,2a0c:9187:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:91c0::,2a0c:91c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:91c0::,2a0c:91c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:9200::,2a0c:9200:ff:ffff:ffff:ffff:ffff:ffff,BD
2a0c:9200:100::,2a0c:9207:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:9240::,2a0c:9247:ffff:ffff:ffff:ffff:ffff:ffff,TR
-2a0c:9280::,2a0c:9287:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:9280::,2a0c:9287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:92c0::,2a0c:92c0:ffff:ffff:ffff:ffff:ffff:ffff,MD
2a0c:9300::,2a0c:9307:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:9340::,2a0c:9347:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -42603,7 +44428,6 @@
2a0c:9447:40::,2a0c:9447:bf:ffff:ffff:ffff:ffff:ffff,GB
2a0c:9447:c8::,2a0c:9447:d7:ffff:ffff:ffff:ffff:ffff,GB
2a0c:9447:e0::,2a0c:9447:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0c:9480::,2a0c:9487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:94c0::,2a0c:94c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:9500::,2a0c:9500:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:9540::,2a0c:9540:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -42653,7 +44477,10 @@
2a0c:a0c0::,2a0c:a0c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a100::,2a0c:a107:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:a140::,2a0c:a147:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0c:a180::,2a0c:a186:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:a180::,2a0c:a183:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:a184::,2a0c:a184:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:a185::,2a0c:a185:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:a186::,2a0c:a186:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:a187::,2a0c:a187:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:a1c0::,2a0c:a1c7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:a200::,2a0c:a207:ffff:ffff:ffff:ffff:ffff:ffff,SE
@@ -42682,19 +44509,19 @@
2a0c:a800::,2a0c:a807:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:a840::,2a0c:a847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a880::,2a0c:a887:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0c:a8c0::,2a0c:a8c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:a8c0::,2a0c:a8c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a900::,2a0c:a900:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a0c:a940::,2a0c:a947:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:a940::,2a0c:a947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a980::,2a0c:a987:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:a9c0::,2a0c:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:a9c0::,2a0c:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:aa00::,2a0c:aa07:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0c:aa40::,2a0c:aa47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:aa80::,2a0c:aa87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:aac0::,2a0c:aac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:ab00::,2a0c:ab07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:ab00::,2a0c:ab07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:ab40::,2a0c:ab47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:ab80::,2a0c:ab87:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0c:abc0::,2a0c:abc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:abc0::,2a0c:abc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:ac00::,2a0c:ac07:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:ac40::,2a0c:ac47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:ac80::,2a0c:ac87:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -42728,11 +44555,10 @@
2a0c:b400::,2a0c:b407:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a0c:b440::,2a0c:b447:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:b480::,2a0c:b487:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a0c:b4c0::,2a0c:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:b4c0::,2a0c:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b500::,2a0c:b507:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0c:b540::,2a0c:b547:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:b540::,2a0c:b547:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b580::,2a0c:b587:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:b5c0::,2a0c:b5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b640::,2a0c:b640:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b641:10::,2a0c:b641:10:ffff:ffff:ffff:ffff:ffff,FR
2a0c:b641:11::,2a0c:b641:11:ffff:ffff:ffff:ffff:ffff,GB
@@ -42745,27 +44571,32 @@
2a0c:b641:18::,2a0c:b641:18:ffff:ffff:ffff:ffff:ffff,BR
2a0c:b641:19::,2a0c:b641:1f:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b641:20::,2a0c:b641:20:ffff:ffff:ffff:ffff:ffff,FR
-2a0c:b641:21::,2a0c:b641:3f:ffff:ffff:ffff:ffff:ffff,BE
+2a0c:b641:21::,2a0c:b641:2f:ffff:ffff:ffff:ffff:ffff,BE
+2a0c:b641:30::,2a0c:b641:30:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:b641:31::,2a0c:b641:3f:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b641:40::,2a0c:b641:4f:ffff:ffff:ffff:ffff:ffff,PL
2a0c:b641:50::,2a0c:b641:5f:ffff:ffff:ffff:ffff:ffff,DE
2a0c:b641:60::,2a0c:b641:6f:ffff:ffff:ffff:ffff:ffff,PL
-2a0c:b641:70::,2a0c:b641:ff:ffff:ffff:ffff:ffff:ffff,BE
+2a0c:b641:70::,2a0c:b641:7f:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:b641:80::,2a0c:b641:8f:ffff:ffff:ffff:ffff:ffff,NO
+2a0c:b641:90::,2a0c:b641:ff:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b641:100::,2a0c:b641:1ff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:b641:200::,2a0c:b641:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b642::,2a0c:b642:fff:ffff:ffff:ffff:ffff:ffff,PL
-2a0c:b642:1000::,2a0c:b642:1009:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:b642:1000::,2a0c:b642:1002:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:b642:1003::,2a0c:b642:1003:ffff:ffff:ffff:ffff:ffff,US
+2a0c:b642:1004::,2a0c:b642:1009:ffff:ffff:ffff:ffff:ffff,DE
2a0c:b642:100b::,2a0c:b642:1fff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:b642:2000::,2a0c:b647:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b680::,2a0c:b687:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a0c:b6c0::,2a0c:b6c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b700::,2a0c:b707:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b740::,2a0c:b747:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b780::,2a0c:b780:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2a0c:b7c0::,2a0c:b7c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:b7c0::,2a0c:b7c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b800::,2a0c:b806:7fff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:b806:8000::,2a0c:b806:bfff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:b806:c000::,2a0c:b807:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:b840::,2a0c:b847:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:b840::,2a0c:b847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b880::,2a0c:b887:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:b8c0::,2a0c:b8c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:b900::,2a0c:b907:ffff:ffff:ffff:ffff:ffff:ffff,IR
@@ -42808,7 +44639,7 @@
2a0c:c186::,2a0c:c187:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:c1c0::,2a0c:c1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:c200::,2a0c:c200:ffff:ffff:ffff:ffff:ffff:ffff,SK
-2a0c:c240::,2a0c:c247:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:c240::,2a0c:c247:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:c280::,2a0c:c287:ffff:ffff:ffff:ffff:ffff:ffff,MT
2a0c:c2c0::,2a0c:c2c7:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a0c:c300::,2a0c:c307:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -42852,9 +44683,9 @@
2a0c:cc80::,2a0c:cc87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:ccc0::,2a0c:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0c:cd00::,2a0c:cd00:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a0c:cd40::,2a0c:cd47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:cd40::,2a0c:cd47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:cd80::,2a0c:cd80:ffff:ffff:ffff:ffff:ffff:ffff,FI
-2a0c:cdc0::,2a0c:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:cdc0::,2a0c:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:ce00::,2a0c:ce07:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a0c:ce40::,2a0c:ce40:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:ce80::,2a0c:ce87:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -42881,7 +44712,7 @@
2a0c:d3c0::,2a0c:d3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:d400::,2a0c:d407:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:d440::,2a0c:d447:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:d480::,2a0c:d487:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:d480::,2a0c:d487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:d4c0::,2a0c:d4c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:d500::,2a0c:d507:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0c:d540::,2a0c:d540:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -42898,7 +44729,7 @@
2a0c:d800::,2a0c:d807:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:d840::,2a0c:d847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:d880::,2a0c:d880:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:d8c0::,2a0c:d8c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:d8c0::,2a0c:d8c7:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0c:d900::,2a0c:d907:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:d940::,2a0c:d947:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:d980::,2a0c:d987:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -42932,7 +44763,7 @@
2a0c:df00::,2a0c:df07:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0c:df40::,2a0c:df47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:df80::,2a0c:df87:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:dfc0::,2a0c:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:dfc0::,2a0c:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0c:e000::,2a0c:e007:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:e040::,2a0c:e047:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0c:e080::,2a0c:e087:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -42980,9 +44811,9 @@
2a0c:eb00::,2a0c:eb00:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:eb40::,2a0c:eb47:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:eb80::,2a0c:eb87:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:ebc0::,2a0c:ebc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:ebc0::,2a0c:ebc7:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0c:ec00::,2a0c:ec07:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:ec40::,2a0c:ec47:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:ec40::,2a0c:ec47:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0c:ec80::,2a0c:ec80:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0c:ecc0::,2a0c:ecc7:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a0c:ed00::,2a0c:ed07:ffff:ffff:ffff:ffff:ffff:ffff,AZ
@@ -43011,9 +44842,7 @@
2a0c:f200::,2a0c:f207:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:f240::,2a0c:f247:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:f280::,2a0c:f287:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:f2c0::,2a0c:f2c0:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:f2c1::,2a0c:f2c1:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0c:f2c2::,2a0c:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:f2c0::,2a0c:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:f300::,2a0c:f307:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:f340::,2a0c:f340:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0c:f380::,2a0c:f387:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -43044,7 +44873,7 @@
2a0c:f9c0::,2a0c:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0c:fa00::,2a0c:fa00:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:fa40::,2a0c:fa47:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:fa80::,2a0c:fa87:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:fa80::,2a0c:fa87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:fac0::,2a0c:fac7:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a0c:fb00::,2a0c:fb07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:fb40::,2a0c:fb47:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -43073,7 +44902,6 @@
2a0d:100::,2a0d:107:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:140::,2a0d:147:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:180::,2a0d:187:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a0d:1c0::,2a0d:1c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:200::,2a0d:207:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:240::,2a0d:247:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:280::,2a0d:287:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -43083,7 +44911,7 @@
2a0d:380::,2a0d:387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:3c0::,2a0d:3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:400::,2a0d:407:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:440::,2a0d:447:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:440::,2a0d:447:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0d:480::,2a0d:487:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:4c0::,2a0d:4c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:500::,2a0d:507:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -43132,7 +44960,7 @@
2a0d:fc0::,2a0d:fc7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:1000::,2a0d:1007:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:1040::,2a0d:1047:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0d:1080::,2a0d:1087:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:1080::,2a0d:1087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:10c0::,2a0d:10c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:1100::,2a0d:1107:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:1140::,2a0d:1147:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -43149,20 +44977,18 @@
2a0d:1400::,2a0d:1403:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:1440::,2a0d:1447:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1480::,2a0d:1487:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0d:14c0::,2a0d:14c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:14c0::,2a0d:14c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:1500::,2a0d:1500:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:1540::,2a0d:1547:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:1580::,2a0d:1580:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:15c0::,2a0d:15c0:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:1600::,2a0d:1600:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:1640::,2a0d:1647:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0d:1680::,2a0d:1687:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:16c0::,2a0d:16c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:1700::,2a0d:1707:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1740::,2a0d:1740:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a0d:1780::,2a0d:1787:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:17c0::,2a0d:17c7:ffff:ffff:ffff:ffff:ffff:ffff,DK
-2a0d:1800::,2a0d:1807:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:1840::,2a0d:1847:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:1880::,2a0d:1887:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:18c0::,2a0d:18c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -43176,12 +45002,13 @@
2a0d:1a40:1337::,2a0d:1a40:1337:ffff:ffff:ffff:ffff:ffff,BE
2a0d:1a40:6542::,2a0d:1a40:6542:ffff:ffff:ffff:ffff:ffff,BE
2a0d:1a40:6969::,2a0d:1a40:6969:ffff:ffff:ffff:ffff:ffff,BE
-2a0d:1a40:dead::,2a0d:1a40:dead:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:1a41::,2a0d:1a41:6968:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:1a40:9300::,2a0d:1a40:930f:ffff:ffff:ffff:ffff:ffff,BE
+2a0d:1a40:9410::,2a0d:1a40:941f:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:1a40:babe::,2a0d:1a40:babe:ffff:ffff:ffff:ffff:ffff,SG
+2a0d:1a40:beef::,2a0d:1a40:beef:ffff:ffff:ffff:ffff:ffff,GB
2a0d:1a41:6969::,2a0d:1a41:6969:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:1a41:696a::,2a0d:1a44:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1a45:beef::,2a0d:1a45:beef:ffff:ffff:ffff:ffff:ffff,SE
-2a0d:1a46::,2a0d:1a47:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:1a45:dead::,2a0d:1a45:dead:ffff:ffff:ffff:ffff:ffff,SE
2a0d:1a80::,2a0d:1a87:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:1ac0::,2a0d:1ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:1b00::,2a0d:1b07:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -43201,7 +45028,7 @@
2a0d:1e80::,2a0d:1e87:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:1ec0::,2a0d:1ec7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1f00::,2a0d:1f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0d:1f40::,2a0d:1f47:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:1f40::,2a0d:1f47:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0d:1f80::,2a0d:1f80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1fc0::,2a0d:1fc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:2000::,2a0d:2007:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -43209,12 +45036,7 @@
2a0d:2080::,2a0d:2087:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:20c0::,2a0d:20c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:2100::,2a0d:2107:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0d:2140::,2a0d:2144::ffff:ffff:ffff:ffff:ffff,DE
-2a0d:2144:1::,2a0d:2144:1:ffff:ffff:ffff:ffff:ffff,RO
-2a0d:2144:2::,2a0d:2144:4:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:2144:5::,2a0d:2144:5:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:2144:6::,2a0d:2144:6:ffff:ffff:ffff:ffff:ffff,US
-2a0d:2144:7::,2a0d:2144:a0:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:2140::,2a0d:2144:a0:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2144:a1::,2a0d:2144:a1:ffff:ffff:ffff:ffff:ffff,RO
2a0d:2144:a2::,2a0d:2144:a4:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2144:a5::,2a0d:2144:a5:ffff:ffff:ffff:ffff:ffff,GB
@@ -43222,11 +45044,12 @@
2a0d:2144:a7::,2a0d:2146:800f:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2146:8010::,2a0d:2146:8010:ffff:ffff:ffff:ffff:ffff,RO
2a0d:2146:8011::,2a0d:2146:8011:ffff:ffff:ffff:ffff:ffff,NL
-2a0d:2146:8012::,2a0d:2147:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:2180::,2a0d:2187:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:2146:8012::,2a0d:2146:803f:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:2146:8040::,2a0d:2146:8040:ffff:ffff:ffff:ffff:ffff,US
+2a0d:2146:8041::,2a0d:2147:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:21c0::,2a0d:21c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:2200::,2a0d:2207:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:2240::,2a0d:2247:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:2240::,2a0d:2247:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0d:2280::,2a0d:2287:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:22c0::,2a0d:22c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2300::,2a0d:2307:ffff:ffff:ffff:ffff:ffff:ffff,HU
@@ -43255,7 +45078,9 @@
2a0d:2406:e1d::,2a0d:2406:e1d:ffff:ffff:ffff:ffff:ffff,BM
2a0d:2406:e1e::,2a0d:2406:e1e:ffff:ffff:ffff:ffff:ffff,AQ
2a0d:2406:e1f::,2a0d:2406:e1f:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:2406:e20::,2a0d:2407:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:2406:e20::,2a0d:2406:eff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:2406:f00::,2a0d:2406:f0f:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:2406:f10::,2a0d:2407:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:2440::,2a0d:2447:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:2480::,2a0d:2487:ffff:ffff:ffff:ffff:ffff:ffff,CN
2a0d:24c0::,2a0d:24c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -43306,7 +45131,8 @@
2a0d:2d00::,2a0d:2d00:ffff:ffff:ffff:ffff:ffff:ffff,BY
2a0d:2d40::,2a0d:2d40:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2d41::,2a0d:2d41:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:2d42::,2a0d:2d47:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:2d42::,2a0d:2d42:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:2d44::,2a0d:2d47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2d80::,2a0d:2d87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2dc0::,2a0d:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:2e00::,2a0d:2e07:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -43316,7 +45142,7 @@
2a0d:2f00::,2a0d:2f07:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:2f40::,2a0d:2f47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:2f80::,2a0d:2f87:ffff:ffff:ffff:ffff:ffff:ffff,RO
-2a0d:2fc0::,2a0d:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:2fc0::,2a0d:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:3000::,2a0d:3007:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:3040::,2a0d:3047:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:3080::,2a0d:3087:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -43365,7 +45191,7 @@
2a0d:3b80::,2a0d:3b87:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a0d:3bc0::,2a0d:3bc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:3c00::,2a0d:3c07:ffff:ffff:ffff:ffff:ffff:ffff,AT
-2a0d:3c40::,2a0d:3c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:3c40::,2a0d:3c47:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:3c80::,2a0d:3c80:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:3cc0::,2a0d:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:3d00::,2a0d:3d07:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -43377,7 +45203,7 @@
2a0d:3e80::,2a0d:3e87:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:3ec0::,2a0d:3ec0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:3f00::,2a0d:3f00:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:3f40::,2a0d:3f47:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:3f40::,2a0d:3f47:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:3f80::,2a0d:3f87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:3fc0::,2a0d:3fc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:4000::,2a0d:4007:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -43395,15 +45221,15 @@
2a0d:4300::,2a0d:4307:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:4340::,2a0d:4347:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a0d:4380::,2a0d:4387:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0d:43c0::,2a0d:43c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:43c0::,2a0d:43c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4400::,2a0d:4407:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:4440::,2a0d:4447:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:4440::,2a0d:4447:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4480::,2a0d:4487:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:44c0::,2a0d:44c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:44c0::,2a0d:44c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4500::,2a0d:4507:ffff:ffff:ffff:ffff:ffff:ffff,MK
-2a0d:4540::,2a0d:4547:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:4540::,2a0d:4547:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4580::,2a0d:4587:ffff:ffff:ffff:ffff:ffff:ffff,TR
-2a0d:45c0::,2a0d:45c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:45c0::,2a0d:45c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4600::,2a0d:4607:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:4640::,2a0d:4647:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:4680::,2a0d:4687:ffff:ffff:ffff:ffff:ffff:ffff,IR
@@ -43413,10 +45239,11 @@
2a0d:4780::,2a0d:4787:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:47c0::,2a0d:47c7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:4800::,2a0d:4807:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:4840::,2a0d:4847:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:4840::,2a0d:4847:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4880::,2a0d:4887:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:48c0::,2a0d:48c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0d:4900::,2a0d:4900:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:48c0::,2a0d:48c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:4900::,2a0d:4900::ffff:ffff:ffff:ffff:ffff,PT
+2a0d:4900:1::,2a0d:4900:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:4940::,2a0d:4947:ffff:ffff:ffff:ffff:ffff:ffff,AL
2a0d:4980::,2a0d:4980:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:49c0::,2a0d:49c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -43440,7 +45267,7 @@
2a0d:4e40::,2a0d:4e47:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:4e80::,2a0d:4e87:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:4ec0::,2a0d:4ec7:ffff:ffff:ffff:ffff:ffff:ffff,EE
-2a0d:4f00::,2a0d:4f07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:4f00::,2a0d:4f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:4f40::,2a0d:4f40:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:4f80::,2a0d:4f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:4fc0::,2a0d:4fc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -43468,7 +45295,9 @@
2a0d:5540::,2a0d:5547:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:5580::,2a0d:5587:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:55c0::,2a0d:55c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a0d:5600::,2a0d:5600:c:ffff:ffff:ffff:ffff:ffff,US
+2a0d:5600::,2a0d:5600:8:ffff:ffff:ffff:ffff:ffff,US
+2a0d:5600:9::,2a0d:5600:9:ffff:ffff:ffff:ffff:ffff,CA
+2a0d:5600:a::,2a0d:5600:c:ffff:ffff:ffff:ffff:ffff,US
2a0d:5600:d::,2a0d:5600:d:ffff:ffff:ffff:ffff:ffff,SG
2a0d:5600:e::,2a0d:5600:f:ffff:ffff:ffff:ffff:ffff,JP
2a0d:5600:10::,2a0d:5600:10:ffff:ffff:ffff:ffff:ffff,US
@@ -43476,7 +45305,9 @@
2a0d:5600:13::,2a0d:5600:13:ffff:ffff:ffff:ffff:ffff,PL
2a0d:5600:14::,2a0d:5600:15:ffff:ffff:ffff:ffff:ffff,US
2a0d:5600:16::,2a0d:5600:16:ffff:ffff:ffff:ffff:ffff,PL
-2a0d:5600:17::,2a0d:5607:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:5600:17::,2a0d:5600:a31:ffff:ffff:ffff:ffff:ffff,US
+2a0d:5600:a32::,2a0d:5600:a32:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:5600:a33::,2a0d:5607:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:5680::,2a0d:5687:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:56c0::,2a0d:56c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:5700::,2a0d:5707:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -43499,9 +45330,7 @@
2a0d:5b40::,2a0d:5b47:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:5b80::,2a0d:5b87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:5bc0::,2a0d:5bc0:ffff:ffff:ffff:ffff:ffff:ffff,FI
-2a0d:5c00::,2a0d:5c03:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:5c04::,2a0d:5c04:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0d:5c05::,2a0d:5c07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:5c40::,2a0d:5c40:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:5c80::,2a0d:5c87:ffff:ffff:ffff:ffff:ffff:ffff,MK
2a0d:5cc0::,2a0d:5cc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -43536,7 +45365,7 @@
2a0d:6400::,2a0d:6400:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:6440::,2a0d:6447:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:6480::,2a0d:6480:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a0d:64c0::,2a0d:64c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:64c0::,2a0d:64c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:6500::,2a0d:6507:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:6540::,2a0d:6547:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:6580::,2a0d:6587:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -43544,7 +45373,7 @@
2a0d:6600::,2a0d:6607:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:6640::,2a0d:6647:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0d:6680::,2a0d:6687:ffff:ffff:ffff:ffff:ffff:ffff,AT
-2a0d:66c0::,2a0d:66c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:66c0::,2a0d:66c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:6700::,2a0d:6707:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:6740::,2a0d:6747:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:6780::,2a0d:6787:ffff:ffff:ffff:ffff:ffff:ffff,MK
@@ -43562,7 +45391,7 @@
2a0d:6a80::,2a0d:6a87:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:6ac0::,2a0d:6ac7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:6b00::,2a0d:6b07:ffff:ffff:ffff:ffff:ffff:ffff,EE
-2a0d:6b40::,2a0d:6b47:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:6b40::,2a0d:6b47:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:6b80::,2a0d:6b87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:6bc0::,2a0d:6bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:6c00::,2a0d:6c01:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -43654,8 +45483,11 @@
2a0d:7e80::,2a0d:7e87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:7ec0::,2a0d:7ec7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:7f00::,2a0d:7f07:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:7f40::,2a0d:7f40::ffff:ffff:ffff:ffff:ffff,GB
-2a0d:7f41::,2a0d:7f47:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:7f40::,2a0d:7f40::ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:7f41::,2a0d:7f45:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:7f46:1::,2a0d:7f46:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:7f47::,2a0d:7f47::ffff:ffff:ffff:ffff:ffff,AU
+2a0d:7f47:1::,2a0d:7f47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:7f80::,2a0d:7f87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:7fc0::,2a0d:7fc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:8000::,2a0d:8007:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -43706,7 +45538,7 @@
2a0d:8b00::,2a0d:8b07:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:8b40::,2a0d:8b47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:8b80::,2a0d:8b87:ffff:ffff:ffff:ffff:ffff:ffff,SY
-2a0d:8bc0::,2a0d:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:8bc0::,2a0d:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:8c00::,2a0d:8c07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:8c40::,2a0d:8c47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:8c80::,2a0d:8c87:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -43740,21 +45572,21 @@
2a0d:9380::,2a0d:9387:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:93c0::,2a0d:93c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:9400::,2a0d:9407:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0d:9440::,2a0d:9447:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:9440::,2a0d:9447:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:9480::,2a0d:9487:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:94c0::,2a0d:94c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:9500::,2a0d:9507:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:9540::,2a0d:9547:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:9580::,2a0d:9587:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a0d:95c0::,2a0d:95c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:95c0::,2a0d:95c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:9600::,2a0d:9600:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:9640::,2a0d:9647:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:9680::,2a0d:9687:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:96c0::,2a0d:96c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:9700::,2a0d:9700:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:9740::,2a0d:9747:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:9740::,2a0d:9747:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:9780::,2a0d:9787:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:97c0::,2a0d:97c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:97c0::,2a0d:97c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:9800::,2a0d:9807:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0d:9840::,2a0d:9847:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0d:9880::,2a0d:9887:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -43806,7 +45638,8 @@
2a0d:a400::,2a0d:a407:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a0d:a440::,2a0d:a447:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:a480::,2a0d:a487:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a0d:a4c0::,2a0d:a4c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:a4c0:3a00::,2a0d:a4c0:3a0f:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:a4c2::,2a0d:a4c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:a500::,2a0d:a507:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0d:a540::,2a0d:a547:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:a580::,2a0d:a587:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -43831,7 +45664,7 @@
2a0d:aa40::,2a0d:aa47:ffff:ffff:ffff:ffff:ffff:ffff,KZ
2a0d:aa80::,2a0d:aa87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:aac0::,2a0d:aac7:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:ab00::,2a0d:ab07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:ab00::,2a0d:ab07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ab40::,2a0d:ab40:ffff:ffff:ffff:ffff:ffff:ffff,AL
2a0d:ab80::,2a0d:ab80:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:abc0::,2a0d:abc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -43847,174 +45680,344 @@
2a0d:ae40::,2a0d:ae47:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:ae80::,2a0d:ae80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:aec0::,2a0d:aec7:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0d:af00::,2a0d:af07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:af00::,2a0d:af07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:af40::,2a0d:af47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:af80::,2a0d:af87:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:afc0::,2a0d:afc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b000::,2a0d:b007:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:b040::,2a0d:b047:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b080::,2a0d:b080:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a0d:b0c0::,2a0d:b0c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:b100::,2a0d:b107:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:b140::,2a0d:b147:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:b180::,2a0d:b187:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:b1c0::,2a0d:b1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b200::,2a0d:b207:ffff:ffff:ffff:ffff:ffff:ffff,KZ
+2a0d:b240::,2a0d:b247:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:b280::,2a0d:b287:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:b2c0::,2a0d:b2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b300::,2a0d:b307:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0d:b340::,2a0d:b347:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0d:b380::,2a0d:b387:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:b3c0::,2a0d:b3c7:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0d:b400::,2a0d:b407:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:b440::,2a0d:b447:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:b480::,2a0d:b480:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:b4c0::,2a0d:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:b500::,2a0d:b507:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:b540::,2a0d:b547:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b580::,2a0d:b580:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:b5c0::,2a0d:b5c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:b600::,2a0d:b607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:b640::,2a0d:b647:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:b680::,2a0d:b687:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a0d:b6c0::,2a0d:b6c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:b700::,2a0d:b707:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0d:b740::,2a0d:b747:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:b780::,2a0d:b787:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:b7c0::,2a0d:b7c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b800::,2a0d:b807:ffff:ffff:ffff:ffff:ffff:ffff,AM
+2a0d:b840::,2a0d:b847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b880::,2a0d:b887:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:b8c0::,2a0d:b8c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:b900::,2a0d:b907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:b940::,2a0d:b947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b980::,2a0d:b987:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:b9c0::,2a0d:b9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ba00::,2a0d:ba07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:ba40::,2a0d:ba47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ba80::,2a0d:ba87:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:bac0::,2a0d:bac7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:bb00::,2a0d:bb07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:bb40::,2a0d:bb40:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:bb80::,2a0d:bb87:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0d:bbc0::,2a0d:bbc7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:bc00::,2a0d:bc07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:bc40::,2a0d:bc43:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:bc80::,2a0d:bc87:ffff:ffff:ffff:ffff:ffff:ffff,GE
+2a0d:bcc0::,2a0d:bcc7:ffff:ffff:ffff:ffff:ffff:ffff,KZ
2a0d:bd00::,2a0d:bd07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:bd40::,2a0d:bd47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:bd80::,2a0d:bd87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:bdc0::,2a0d:bdc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:be00::,2a0d:be07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:be40::,2a0d:be47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:be80::,2a0d:be87:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:bec0::,2a0d:bec7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:bf00::,2a0d:bf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:bf40::,2a0d:bf47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:bf80::,2a0d:bf87:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:bfc0::,2a0d:bfc0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:c000::,2a0d:c007:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:c040::,2a0d:c047:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:c080::,2a0d:c087:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:c0c0::,2a0d:c0c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:c140::,2a0d:c147:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:c180::,2a0d:c187:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a0d:c1c0::,2a0d:c1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:c200::,2a0d:c207:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:c240::,2a0d:c247:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:c280::,2a0d:c287:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:c2c0::,2a0d:c2c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:c300::,2a0d:c307:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0d:c340::,2a0d:c347:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:c380::,2a0d:c387:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a0d:c3c0::,2a0d:c3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:c400::,2a0d:c407:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:c440::,2a0d:c447:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:c480::,2a0d:c487:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0d:c4c0::,2a0d:c4c7:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:c500::,2a0d:c507:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:c540::,2a0d:c547:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:c580::,2a0d:c587:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:c5c0::,2a0d:c5c0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:c600::,2a0d:c607:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:c680::,2a0d:c687:ffff:ffff:ffff:ffff:ffff:ffff,MD
-2a0d:c700::,2a0d:c707:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:c640::,2a0d:c647:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:c680::,2a0d:c687:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:c6c0::,2a0d:c6c7:ffff:ffff:ffff:ffff:ffff:ffff,KZ
+2a0d:c700::,2a0d:c707:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:c780::,2a0d:c787:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:c7c0::,2a0d:c7c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:c800::,2a0d:c807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:c840::,2a0d:c847:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a0d:c880::,2a0d:c887:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:c8c0::,2a0d:c8c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:c900::,2a0d:c907:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:c940::,2a0d:c947:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:c980::,2a0d:c987:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:c9c0::,2a0d:c9c0:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0d:ca00::,2a0d:ca07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:ca40::,2a0d:ca47:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0d:ca80::,2a0d:ca87:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:cac0::,2a0d:cac7:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0d:cb00::,2a0d:cb07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:cb40::,2a0d:cb47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:cb80::,2a0d:cb87:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0d:cbc0::,2a0d:cbc7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:cc00::,2a0d:cc07:ffff:ffff:ffff:ffff:ffff:ffff,AL
+2a0d:cc40::,2a0d:cc47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:cc80::,2a0d:cc87:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:ccc0::,2a0d:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0d:cd00::,2a0d:cd07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:cd40::,2a0d:cd47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:cd80::,2a0d:cd87:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:cdc0::,2a0d:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ce00::,2a0d:ce07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:ce40::,2a0d:ce47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ce80::,2a0d:ce87:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:cec0::,2a0d:cec7:ffff:ffff:ffff:ffff:ffff:ffff,SI
2a0d:cf00::,2a0d:cf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:cf40::,2a0d:cf47:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:cf80::,2a0d:cf87:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0d:cfc0::,2a0d:cfc7:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a0d:d000::,2a0d:d007:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:d040::,2a0d:d047:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:d080::,2a0d:d087:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:d0c0::,2a0d:d0c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:d100::,2a0d:d107:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:d140::,2a0d:d147:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:d180::,2a0d:d187:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:d1c0::,2a0d:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:d200::,2a0d:d207:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:d240::,2a0d:d247:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:d280::,2a0d:d280:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:d2c0::,2a0d:d2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:d300::,2a0d:d300:ffff:ffff:ffff:ffff:ffff:ffff,LI
+2a0d:d340::,2a0d:d347:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:d380::,2a0d:d387:ffff:ffff:ffff:ffff:ffff:ffff,IE
+2a0d:d3c0::,2a0d:d3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:d400::,2a0d:d407:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:d440::,2a0d:d440:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:d480::,2a0d:d487:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:d4c0::,2a0d:d4c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:d500::,2a0d:d507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:d540::,2a0d:d547:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:d580::,2a0d:d580:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:d5c0::,2a0d:d5c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:d600::,2a0d:d607:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:d640::,2a0d:d647:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:d680::,2a0d:d687:ffff:ffff:ffff:ffff:ffff:ffff,IQ
-2a0d:d700::,2a0d:d707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:d6c0::,2a0d:d6c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:d740::,2a0d:d747:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:d780::,2a0d:d787:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:d7c0::,2a0d:d7c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:d800::,2a0d:d807:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0d:d840::,2a0d:d847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:d880::,2a0d:d887:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0d:d8c0::,2a0d:d8c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:d900::,2a0d:d907:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:d940::,2a0d:d947:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:d980::,2a0d:d987:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:d9c0::,2a0d:d9c7:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:da00::,2a0d:da07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:da40::,2a0d:da47:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0d:da80::,2a0d:da80:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0d:db00::,2a0d:db07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:dac0::,2a0d:dac7:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a0d:db00::,2a0d:db07:ffff:ffff:ffff:ffff:ffff:ffff,LT
+2a0d:db40::,2a0d:db47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:db80::,2a0d:db87:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a0d:dbc0::,2a0d:dbc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:dc00::,2a0d:dc07:ffff:ffff:ffff:ffff:ffff:ffff,LU
+2a0d:dc40::,2a0d:dc47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:dc80::,2a0d:dc87:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:dcc0::,2a0d:dcc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:dd00::,2a0d:dd07:ffff:ffff:ffff:ffff:ffff:ffff,KG
+2a0d:dd40::,2a0d:dd47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:dd80::,2a0d:dd87:ffff:ffff:ffff:ffff:ffff:ffff,BE
+2a0d:ddc0::,2a0d:ddc7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:de00::,2a0d:de07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:de40::,2a0d:de47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:de80::,2a0d:de87:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:df00::,2a0d:df07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:dec0::,2a0d:dec7:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a0d:df00::,2a0d:df07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:df40::,2a0d:df47:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:df80::,2a0d:df87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:dfc0::,2a0d:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e000::,2a0d:e007:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:e040::,2a0d:e047:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e080::,2a0d:e087:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:e0c0::,2a0d:e0c7:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:e100::,2a0d:e107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e140::,2a0d:e147:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e180::,2a0d:e180:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e1c0::,2a0d:e1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e200::,2a0d:e207:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:e240::,2a0d:e247:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e280::,2a0d:e287:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e2c0::,2a0d:e2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e300::,2a0d:e307:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2a0d:e340::,2a0d:e347:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e380::,2a0d:e387:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:e3c0::,2a0d:e3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e400::,2a0d:e400:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e440::,2a0d:e447:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e480::,2a0d:e487:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:e4c0::,2a0d:e4c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e500::,2a0d:e507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e540::,2a0d:e547:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:e580::,2a0d:e587:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:e5c0::,2a0d:e5c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:e600::,2a0d:e607:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:e640::,2a0d:e647:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0d:e680::,2a0d:e687:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:e6c0::,2a0d:e6c0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:e700::,2a0d:e707:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0d:e740::,2a0d:e747:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:e780::,2a0d:e787:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:e7c0::,2a0d:e7c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:e800::,2a0d:e807:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:e840::,2a0d:e847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e880::,2a0d:e887:ffff:ffff:ffff:ffff:ffff:ffff,SA
-2a0d:e900::,2a0d:e907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e8c0::,2a0d:e8c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:e940::,2a0d:e940:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:e980::,2a0d:e980:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:e9c0::,2a0d:e9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ea00::,2a0d:ea07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:ea40::,2a0d:ea47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ea80::,2a0d:ea87:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:eac0::,2a0d:eac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:eb00::,2a0d:eb07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:eb40::,2a0d:eb47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:eb80::,2a0d:eb87:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2a0d:ec00::,2a0d:ec07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:ebc0::,2a0d:ebc7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:ec00::,2a0d:ec07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:ec40::,2a0d:ec47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:ec80::,2a0d:ec87:ffff:ffff:ffff:ffff:ffff:ffff,LB
+2a0d:ecc0::,2a0d:ecc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:ed00::,2a0d:ed07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:ed40::,2a0d:ed40:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:ed80::,2a0d:ed80:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0d:edc0::,2a0d:edc7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:ee00::,2a0d:ee00:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:ee40::,2a0d:ee47:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:ee80::,2a0d:ee80:ffff:ffff:ffff:ffff:ffff:ffff,AT
-2a0d:ef00::,2a0d:ef07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:eec0::,2a0d:eec7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:ef40::,2a0d:ef47:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:ef80::,2a0d:ef80:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:efc0::,2a0d:efc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f000::,2a0d:f007:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:f040::,2a0d:f047:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:f080::,2a0d:f087:ffff:ffff:ffff:ffff:ffff:ffff,RO
-2a0d:f100::,2a0d:f107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:f0c0::,2a0d:f0c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:f140::,2a0d:f147:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f180::,2a0d:f187:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:f1c0::,2a0d:f1c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:f200::,2a0d:f207:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:f240::,2a0d:f240:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:f280::,2a0d:f287:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:f2c0::,2a0d:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a0d:f300::,2a0d:f307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:f340::,2a0d:f347:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:f380::,2a0d:f387:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:f3c0::,2a0d:f3c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:f404::,2a0d:f404:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0d:f440::,2a0d:f447:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:f480::,2a0d:f487:ffff:ffff:ffff:ffff:ffff:ffff,BE
+2a0d:f4c0::,2a0d:f4c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:f500::,2a0d:f500:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:f540::,2a0d:f547:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:f580::,2a0d:f587:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:f5c0::,2a0d:f5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f600::,2a0d:f607:ffff:ffff:ffff:ffff:ffff:ffff,PT
-2a0d:f680::,2a0d:f687:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0d:f640::,2a0d:f647:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:f680::,2a0d:f687:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2a0d:f6c0::,2a0d:f6c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f700::,2a0d:f707:ffff:ffff:ffff:ffff:ffff:ffff,GE
+2a0d:f740::,2a0d:f747:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f780::,2a0d:f787:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:f7c0::,2a0d:f7c0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:f800::,2a0d:f807:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:f840::,2a0d:f847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f880::,2a0d:f887:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:f8c0::,2a0d:f8c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:f900::,2a0d:f907:ffff:ffff:ffff:ffff:ffff:ffff,GE
+2a0d:f940::,2a0d:f947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f980::,2a0d:f987:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:f9c0::,2a0d:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:f9c1::,2a0d:f9c1:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:f9c2::,2a0d:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:fa00::,2a0d:fa07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:fa40::,2a0d:fa47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:fa80::,2a0d:fa87:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:fac0::,2a0d:fac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fb00::,2a0d:fb07:ffff:ffff:ffff:ffff:ffff:ffff,GE
+2a0d:fb40::,2a0d:fb47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fb80::,2a0d:fb87:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:fbc0::,2a0d:fbc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fc00::,2a0d:fc07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:fc40::,2a0d:fc47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:fc80::,2a0d:fc87:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a0d:fcc0::,2a0d:fcc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fd00::,2a0d:fd07:ffff:ffff:ffff:ffff:ffff:ffff,GE
+2a0d:fd40::,2a0d:fd47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:fd80::,2a0d:fd87:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:fdc0::,2a0d:fdc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fe00::,2a0d:fe07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:fe40::,2a0d:fe40:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fe80::,2a0d:fe80:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:fec0::,2a0d:fec0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ff00::,2a0d:ff07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:ff40::,2a0d:ff47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:ff80::,2a0d:ff80:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:ffc0::,2a0d:ffc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0e::,2a0e:3f:ffff:ffff:ffff:ffff:ffff:ffff,IR
2c0e::,2c0e:fff:ffff:ffff:ffff:ffff:ffff:ffff,EG
2c0e:2000::,2c0e:2fff:ffff:ffff:ffff:ffff:ffff:ffff,ZA
2c0e:4000::,2c0e:40ff:ffff:ffff:ffff:ffff:ffff:ffff,ZA
2c0e:7f80::,2c0e:7f9f:ffff:ffff:ffff:ffff:ffff:ffff,CI
+2c0f:ec00::,2c0f:ec00:ffff:ffff:ffff:ffff:ffff:ffff,SC
+2c0f:ec08::,2c0f:ec08:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ec10::,2c0f:ec10:ffff:ffff:ffff:ffff:ffff:ffff,NG
+2c0f:ec18::,2c0f:ec18:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ec20::,2c0f:ec20:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ec28::,2c0f:ec28:ffff:ffff:ffff:ffff:ffff:ffff,CI
+2c0f:ec30::,2c0f:ec30:ffff:ffff:ffff:ffff:ffff:ffff,MU
+2c0f:ec38::,2c0f:ec38:ffff:ffff:ffff:ffff:ffff:ffff,NG
+2c0f:ec40::,2c0f:ec40:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ec48::,2c0f:ec48:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ec50::,2c0f:ec50:ffff:ffff:ffff:ffff:ffff:ffff,GW
+2c0f:ec58::,2c0f:ec58:ffff:ffff:ffff:ffff:ffff:ffff,BF
+2c0f:ec60::,2c0f:ec60:ffff:ffff:ffff:ffff:ffff:ffff,CI
2c0f:ee00::,2c0f:ee00:ffff:ffff:ffff:ffff:ffff:ffff,BF
2c0f:ee08::,2c0f:ee08:ffff:ffff:ffff:ffff:ffff:ffff,CD
2c0f:ee10::,2c0f:ee10:ffff:ffff:ffff:ffff:ffff:ffff,GH
diff --git a/src/core/include.am b/src/core/include.am
index 1b8ef2ac58..3cd6e83ed5 100644
--- a/src/core/include.am
+++ b/src/core/include.am
@@ -11,6 +11,8 @@ LIBTOR_APP_A_SOURCES = \
src/app/config/confparse.c \
src/app/config/statefile.c \
src/app/main/main.c \
+ src/app/main/subsystem_list.c \
+ src/app/main/subsysmgr.c \
src/core/crypto/hs_ntor.c \
src/core/crypto/onion_crypto.c \
src/core/crypto/onion_fast.c \
@@ -60,6 +62,7 @@ LIBTOR_APP_A_SOURCES = \
src/feature/client/entrynodes.c \
src/feature/client/transports.c \
src/feature/control/control.c \
+ src/feature/control/control_bootstrap.c \
src/feature/control/fmt_serverstatus.c \
src/feature/control/getinfo_geoip.c \
src/feature/dirauth/keypin.c \
@@ -106,6 +109,7 @@ LIBTOR_APP_A_SOURCES = \
src/feature/nodelist/microdesc.c \
src/feature/nodelist/networkstatus.c \
src/feature/nodelist/nickname.c \
+ src/feature/nodelist/nodefamily.c \
src/feature/nodelist/nodelist.c \
src/feature/nodelist/node_select.c \
src/feature/nodelist/routerinfo.c \
@@ -191,6 +195,7 @@ noinst_HEADERS += \
src/app/config/statefile.h \
src/app/main/main.h \
src/app/main/ntmain.h \
+ src/app/main/subsysmgr.h \
src/core/crypto/hs_ntor.h \
src/core/crypto/onion_crypto.h \
src/core/crypto/onion_fast.h \
@@ -340,6 +345,8 @@ noinst_HEADERS += \
src/feature/nodelist/networkstatus_voter_info_st.h \
src/feature/nodelist/nickname.h \
src/feature/nodelist/node_st.h \
+ src/feature/nodelist/nodefamily.h \
+ src/feature/nodelist/nodefamily_st.h \
src/feature/nodelist/nodelist.h \
src/feature/nodelist/node_select.h \
src/feature/nodelist/routerinfo.h \
diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index 1198a01ad9..601c872c98 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -57,7 +57,7 @@
#define CONNECTION_PRIVATE
#include "core/or/or.h"
#include "feature/client/bridges.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/tls/buffers_tls.h"
#include "lib/err/backtrace.h"
@@ -1460,6 +1460,20 @@ connection_listener_new(const struct sockaddr *listensockaddr,
tor_socket_strerror(tor_socket_errno(s)));
goto err;
}
+
+#ifndef __APPLE__
+ /* This code was introduced to help debug #28229. */
+ int value;
+ socklen_t len = sizeof(value);
+
+ if (!getsockopt(s, SOL_SOCKET, SO_ACCEPTCONN, &value, &len)) {
+ if (value == 0) {
+ log_err(LD_NET, "Could not listen on %s - "
+ "getsockopt(.,SO_ACCEPTCONN,.) yields 0.", address);
+ goto err;
+ }
+ }
+#endif /* __APPLE__ */
#endif /* defined(HAVE_SYS_UN_H) */
} else {
log_err(LD_BUG, "Got unexpected address family %d.",
@@ -1874,6 +1888,9 @@ connection_init_accepted_conn(connection_t *conn,
TO_ENTRY_CONN(conn)->nym_epoch = get_signewnym_epoch();
TO_ENTRY_CONN(conn)->socks_request->listener_type = listener->base_.type;
+ /* Any incoming connection on an entry port counts as user activity. */
+ note_user_activity(approx_time());
+
switch (TO_CONN(listener)->type) {
case CONN_TYPE_AP_LISTENER:
conn->state = AP_CONN_STATE_SOCKS_WAIT;
@@ -2073,6 +2090,11 @@ connection_connect_log_client_use_ip_version(const connection_t *conn)
return;
}
+ if (fascist_firewall_use_ipv6(options)) {
+ log_info(LD_NET, "Our outgoing connection is using IPv%d.",
+ tor_addr_family(&real_addr) == AF_INET6 ? 6 : 4);
+ }
+
/* Check if we couldn't satisfy an address family preference */
if ((!pref_ipv6 && tor_addr_family(&real_addr) == AF_INET6)
|| (pref_ipv6 && tor_addr_family(&real_addr) == AF_INET)) {
@@ -2886,6 +2908,10 @@ retry_all_listeners(smartlist_t *new_conns, int close_all_noncontrol)
retval = -1;
#ifdef ENABLE_LISTENER_REBIND
+ if (smartlist_len(replacements))
+ log_debug(LD_NET, "%d replacements - starting rebinding loop.",
+ smartlist_len(replacements));
+
SMARTLIST_FOREACH_BEGIN(replacements, listener_replacement_t *, r) {
int addr_in_use = 0;
int skip = 0;
@@ -2897,8 +2923,11 @@ retry_all_listeners(smartlist_t *new_conns, int close_all_noncontrol)
connection_listener_new_for_port(r->new_port, &skip, &addr_in_use);
connection_t *old_conn = r->old_conn;
- if (skip)
+ if (skip) {
+ log_debug(LD_NET, "Skipping creating new listener for %s:%d",
+ old_conn->address, old_conn->port);
continue;
+ }
connection_close_immediate(old_conn);
connection_mark_for_close(old_conn);
@@ -4426,6 +4455,16 @@ connection_get_by_type_state(int type, int state)
CONN_GET_TEMPLATE(conn, conn->type == type && conn->state == state);
}
+/**
+ * Return a connection of type <b>type</b> that is not an internally linked
+ * connection, and is not marked for close.
+ **/
+MOCK_IMPL(connection_t *,
+connection_get_by_type_nonlinked,(int type))
+{
+ CONN_GET_TEMPLATE(conn, conn->type == type && !conn->linked);
+}
+
/** Return a connection of type <b>type</b> that has rendquery equal
* to <b>rendquery</b>, and that is not marked for close. If state
* is non-zero, conn must be of that state too.
diff --git a/src/core/mainloop/connection.h b/src/core/mainloop/connection.h
index b569bb038e..07b8df4138 100644
--- a/src/core/mainloop/connection.h
+++ b/src/core/mainloop/connection.h
@@ -240,6 +240,7 @@ size_t connection_get_outbuf_len(connection_t *conn);
connection_t *connection_get_by_global_id(uint64_t id);
connection_t *connection_get_by_type(int type);
+MOCK_DECL(connection_t *,connection_get_by_type_nonlinked,(int type));
MOCK_DECL(connection_t *,connection_get_by_type_addr_port_purpose,(int type,
const tor_addr_t *addr,
uint16_t port, int purpose));
diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c
index a24b343756..834587bb71 100644
--- a/src/core/mainloop/mainloop.c
+++ b/src/core/mainloop/mainloop.c
@@ -95,7 +95,7 @@
#include "feature/stats/geoip_stats.h"
#include "feature/stats/predict_ports.h"
#include "feature/stats/rephist.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/err/backtrace.h"
#include "lib/tls/buffers_tls.h"
@@ -200,12 +200,10 @@ static int can_complete_circuits = 0;
#define LAZY_DESCRIPTOR_RETRY_INTERVAL (60)
static int conn_close_if_marked(int i);
-static int run_main_loop_until_done(void);
static void connection_start_reading_from_linked_conn(connection_t *conn);
static int connection_should_read_from_linked_conn(connection_t *conn);
static void conn_read_callback(evutil_socket_t fd, short event, void *_conn);
static void conn_write_callback(evutil_socket_t fd, short event, void *_conn);
-static void second_elapsed_callback(periodic_timer_t *timer, void *args);
static void shutdown_did_not_work_callback(evutil_socket_t fd, short event,
void *arg) ATTR_NORETURN;
@@ -1011,23 +1009,18 @@ conn_close_if_marked(int i)
* busy Libevent loops where we keep ending up here and returning
* 0 until we are no longer blocked on bandwidth.
*/
- connection_consider_empty_read_buckets(conn);
connection_consider_empty_write_buckets(conn);
-
/* Make sure that consider_empty_buckets really disabled the
* connection: */
if (BUG(connection_is_writing(conn))) {
connection_write_bw_exhausted(conn, true);
}
- if (BUG(connection_is_reading(conn))) {
- /* XXXX+ We should make this code unreachable; if a connection is
- * marked for close and flushing, there is no point in reading to it
- * at all. Further, checking at this point is a bit of a hack: it
- * would make much more sense to react in
- * connection_handle_read_impl, or to just stop reading in
- * mark_and_flush */
- connection_read_bw_exhausted(conn, true/* kludge. */);
- }
+
+ /* The connection is being held due to write rate limit and thus will
+ * flush its data later. We need to stop reading because this
+ * connection is about to be closed once flushed. It should not
+ * process anything more coming in at this stage. */
+ connection_stop_reading(conn);
}
return 0;
}
@@ -1359,6 +1352,7 @@ CALLBACK(heartbeat);
CALLBACK(hs_service);
CALLBACK(launch_descriptor_fetches);
CALLBACK(launch_reachability_tests);
+CALLBACK(prune_old_routers);
CALLBACK(reachability_warnings);
CALLBACK(record_bridge_stats);
CALLBACK(rend_cache_failure_clean);
@@ -1371,78 +1365,93 @@ CALLBACK(save_stability);
CALLBACK(save_state);
CALLBACK(write_bridge_ns);
CALLBACK(write_stats_file);
+CALLBACK(control_per_second_events);
+CALLBACK(second_elapsed);
#undef CALLBACK
/* Now we declare an array of periodic_event_item_t for each periodic event */
-#define CALLBACK(name, r, f) PERIODIC_EVENT(name, r, f)
+#define CALLBACK(name, r, f) \
+ PERIODIC_EVENT(name, PERIODIC_EVENT_ROLE_ ## r, f)
+#define FL(name) (PERIODIC_EVENT_FLAG_ ## name)
STATIC periodic_event_item_t periodic_events[] = {
- /* Everyone needs to run those. */
- CALLBACK(add_entropy, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(check_expired_networkstatus, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(clean_caches, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(fetch_networkstatus, PERIODIC_EVENT_ROLE_ALL,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(heartbeat, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(launch_descriptor_fetches, PERIODIC_EVENT_ROLE_ALL,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(reset_padding_counts, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(retry_listeners, PERIODIC_EVENT_ROLE_ALL,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(save_state, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(rotate_x509_certificate, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(write_stats_file, PERIODIC_EVENT_ROLE_ALL, 0),
+
+ /* Everyone needs to run these. They need to have very long timeouts for
+ * that to be safe. */
+ CALLBACK(add_entropy, ALL, 0),
+ CALLBACK(heartbeat, ALL, 0),
+ CALLBACK(reset_padding_counts, ALL, 0),
+
+ /* This is a legacy catch-all callback that runs once per second if
+ * we are online and active. */
+ CALLBACK(second_elapsed, NET_PARTICIPANT,
+ FL(NEED_NET)|FL(RUN_ON_DISABLE)),
+
+ /* XXXX Do we have a reason to do this on a callback? Does it do any good at
+ * all? For now, if we're dormant, we can let our listeners decay. */
+ CALLBACK(retry_listeners, NET_PARTICIPANT, FL(NEED_NET)),
+
+ /* We need to do these if we're participating in the Tor network. */
+ CALLBACK(check_expired_networkstatus, NET_PARTICIPANT, 0),
+ CALLBACK(fetch_networkstatus, NET_PARTICIPANT, 0),
+ CALLBACK(launch_descriptor_fetches, NET_PARTICIPANT, FL(NEED_NET)),
+ CALLBACK(rotate_x509_certificate, NET_PARTICIPANT, 0),
+ CALLBACK(check_network_participation, NET_PARTICIPANT, 0),
+
+ /* We need to do these if we're participating in the Tor network, and
+ * immediately before we stop. */
+ CALLBACK(clean_caches, NET_PARTICIPANT, FL(RUN_ON_DISABLE)),
+ CALLBACK(save_state, NET_PARTICIPANT, FL(RUN_ON_DISABLE)),
+ CALLBACK(write_stats_file, NET_PARTICIPANT, FL(RUN_ON_DISABLE)),
+ CALLBACK(prune_old_routers, NET_PARTICIPANT, FL(RUN_ON_DISABLE)),
/* Routers (bridge and relay) only. */
- CALLBACK(check_descriptor, PERIODIC_EVENT_ROLE_ROUTER,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(check_ed_keys, PERIODIC_EVENT_ROLE_ROUTER, 0),
- CALLBACK(check_for_reachability_bw, PERIODIC_EVENT_ROLE_ROUTER,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(check_onion_keys_expiry_time, PERIODIC_EVENT_ROLE_ROUTER, 0),
- CALLBACK(expire_old_ciruits_serverside, PERIODIC_EVENT_ROLE_ROUTER,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(reachability_warnings, PERIODIC_EVENT_ROLE_ROUTER,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(retry_dns, PERIODIC_EVENT_ROLE_ROUTER, 0),
- CALLBACK(rotate_onion_key, PERIODIC_EVENT_ROLE_ROUTER, 0),
+ CALLBACK(check_descriptor, ROUTER, FL(NEED_NET)),
+ CALLBACK(check_ed_keys, ROUTER, 0),
+ CALLBACK(check_for_reachability_bw, ROUTER, FL(NEED_NET)),
+ CALLBACK(check_onion_keys_expiry_time, ROUTER, 0),
+ CALLBACK(expire_old_ciruits_serverside, ROUTER, FL(NEED_NET)),
+ CALLBACK(reachability_warnings, ROUTER, FL(NEED_NET)),
+ CALLBACK(retry_dns, ROUTER, 0),
+ CALLBACK(rotate_onion_key, ROUTER, 0),
/* Authorities (bridge and directory) only. */
- CALLBACK(downrate_stability, PERIODIC_EVENT_ROLE_AUTHORITIES, 0),
- CALLBACK(launch_reachability_tests, PERIODIC_EVENT_ROLE_AUTHORITIES,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(save_stability, PERIODIC_EVENT_ROLE_AUTHORITIES, 0),
+ CALLBACK(downrate_stability, AUTHORITIES, 0),
+ CALLBACK(launch_reachability_tests, AUTHORITIES, FL(NEED_NET)),
+ CALLBACK(save_stability, AUTHORITIES, 0),
/* Directory authority only. */
- CALLBACK(check_authority_cert, PERIODIC_EVENT_ROLE_DIRAUTH, 0),
- CALLBACK(dirvote, PERIODIC_EVENT_ROLE_DIRAUTH, PERIODIC_EVENT_FLAG_NEED_NET),
+ CALLBACK(check_authority_cert, DIRAUTH, 0),
+ CALLBACK(dirvote, DIRAUTH, FL(NEED_NET)),
/* Relay only. */
- CALLBACK(check_canonical_channels, PERIODIC_EVENT_ROLE_RELAY,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(check_dns_honesty, PERIODIC_EVENT_ROLE_RELAY,
- PERIODIC_EVENT_FLAG_NEED_NET),
+ CALLBACK(check_canonical_channels, RELAY, FL(NEED_NET)),
+ CALLBACK(check_dns_honesty, RELAY, FL(NEED_NET)),
/* Hidden Service service only. */
- CALLBACK(hs_service, PERIODIC_EVENT_ROLE_HS_SERVICE,
- PERIODIC_EVENT_FLAG_NEED_NET),
+ CALLBACK(hs_service, HS_SERVICE, FL(NEED_NET)), // XXXX break this down more
/* Bridge only. */
- CALLBACK(record_bridge_stats, PERIODIC_EVENT_ROLE_BRIDGE, 0),
+ CALLBACK(record_bridge_stats, BRIDGE, 0),
/* Client only. */
- CALLBACK(rend_cache_failure_clean, PERIODIC_EVENT_ROLE_CLIENT, 0),
+ /* XXXX this could be restricted to CLIENT+NET_PARTICIPANT */
+ CALLBACK(rend_cache_failure_clean, NET_PARTICIPANT, FL(RUN_ON_DISABLE)),
/* Bridge Authority only. */
- CALLBACK(write_bridge_ns, PERIODIC_EVENT_ROLE_BRIDGEAUTH, 0),
+ CALLBACK(write_bridge_ns, BRIDGEAUTH, 0),
/* Directory server only. */
- CALLBACK(clean_consdiffmgr, PERIODIC_EVENT_ROLE_DIRSERVER, 0),
+ CALLBACK(clean_consdiffmgr, DIRSERVER, 0),
+
+ /* Controller with per-second events only. */
+ CALLBACK(control_per_second_events, CONTROLEV, 0),
END_OF_PERIODIC_EVENTS
};
#undef CALLBACK
+#undef FL
/* These are pointers to members of periodic_events[] that are used to
* implement particular callbacks. We keep them separate here so that we
@@ -1454,6 +1463,7 @@ static periodic_event_item_t *fetch_networkstatus_event=NULL;
static periodic_event_item_t *launch_descriptor_fetches_event=NULL;
static periodic_event_item_t *check_dns_honesty_event=NULL;
static periodic_event_item_t *save_state_event=NULL;
+static periodic_event_item_t *prune_old_routers_event=NULL;
/** Reset all the periodic events so we'll do all our actions again as if we
* just started up.
@@ -1490,7 +1500,7 @@ get_my_roles(const or_options_t *options)
{
tor_assert(options);
- int roles = 0;
+ int roles = PERIODIC_EVENT_ROLE_ALL;
int is_bridge = options->BridgeRelay;
int is_relay = server_mode(options);
int is_dirauth = authdir_mode_v3(options);
@@ -1498,6 +1508,8 @@ get_my_roles(const or_options_t *options)
int is_hidden_service = !!hs_service_get_num_services() ||
!!rend_num_services();
int is_dirserver = dir_server_mode(options);
+ int sending_control_events = control_any_per_second_event_enabled();
+
/* We also consider tor to have the role of a client if the ControlPort is
* set because a lot of things can be done over the control port which
* requires tor to have basic functionnalities. */
@@ -1505,6 +1517,9 @@ get_my_roles(const or_options_t *options)
options->ControlPort_set ||
options->OwningControllerFD != UINT64_MAX;
+ int is_net_participant = is_participating_on_network() ||
+ is_relay || is_hidden_service;
+
if (is_bridge) roles |= PERIODIC_EVENT_ROLE_BRIDGE;
if (is_client) roles |= PERIODIC_EVENT_ROLE_CLIENT;
if (is_relay) roles |= PERIODIC_EVENT_ROLE_RELAY;
@@ -1512,6 +1527,8 @@ get_my_roles(const or_options_t *options)
if (is_bridgeauth) roles |= PERIODIC_EVENT_ROLE_BRIDGEAUTH;
if (is_hidden_service) roles |= PERIODIC_EVENT_ROLE_HS_SERVICE;
if (is_dirserver) roles |= PERIODIC_EVENT_ROLE_DIRSERVER;
+ if (is_net_participant) roles |= PERIODIC_EVENT_ROLE_NET_PARTICIPANT;
+ if (sending_control_events) roles |= PERIODIC_EVENT_ROLE_CONTROLEV;
return roles;
}
@@ -1556,6 +1573,7 @@ initialize_periodic_events(void)
STMT_BEGIN name ## _event = find_periodic_event( #name ); STMT_END
NAMED_CALLBACK(check_descriptor);
+ NAMED_CALLBACK(prune_old_routers);
NAMED_CALLBACK(dirvote);
NAMED_CALLBACK(fetch_networkstatus);
NAMED_CALLBACK(launch_descriptor_fetches);
@@ -1579,6 +1597,30 @@ teardown_periodic_events(void)
periodic_events_initialized = 0;
}
+static mainloop_event_t *rescan_periodic_events_ev = NULL;
+
+/** Callback: rescan the periodic event list. */
+static void
+rescan_periodic_events_cb(mainloop_event_t *event, void *arg)
+{
+ (void)event;
+ (void)arg;
+ rescan_periodic_events(get_options());
+}
+
+/**
+ * Schedule an event that will rescan which periodic events should run.
+ **/
+MOCK_IMPL(void,
+schedule_rescan_periodic_events,(void))
+{
+ if (!rescan_periodic_events_ev) {
+ rescan_periodic_events_ev =
+ mainloop_event_new(rescan_periodic_events_cb, NULL);
+ }
+ mainloop_event_activate(rescan_periodic_events_ev);
+}
+
/** Do a pass at all our periodic events, disable those we don't need anymore
* and enable those we need now using the given options. */
void
@@ -1598,20 +1640,26 @@ rescan_periodic_events(const or_options_t *options)
for (int i = 0; periodic_events[i].name; ++i) {
periodic_event_item_t *item = &periodic_events[i];
+ int enable = !!(item->roles & roles);
+
/* Handle the event flags. */
if (net_is_disabled() &&
(item->flags & PERIODIC_EVENT_FLAG_NEED_NET)) {
- continue;
+ enable = 0;
}
/* Enable the event if needed. It is safe to enable an event that was
* already enabled. Same goes for disabling it. */
- if (item->roles & roles) {
+ if (enable) {
log_debug(LD_GENERAL, "Launching periodic event %s", item->name);
periodic_event_enable(item);
} else {
log_debug(LD_GENERAL, "Disabling periodic event %s", item->name);
- periodic_event_disable(item);
+ if (item->flags & PERIODIC_EVENT_FLAG_RUN_ON_DISABLE) {
+ periodic_event_schedule_and_disable(item);
+ } else {
+ periodic_event_disable(item);
+ }
}
}
}
@@ -1686,6 +1734,30 @@ mainloop_schedule_postloop_cleanup(void)
mainloop_event_activate(postloop_cleanup_ev);
}
+/** Event to run 'scheduled_shutdown_cb' */
+static mainloop_event_t *scheduled_shutdown_ev=NULL;
+
+/** Callback: run a scheduled shutdown */
+static void
+scheduled_shutdown_cb(mainloop_event_t *ev, void *arg)
+{
+ (void)ev;
+ (void)arg;
+ log_notice(LD_GENERAL, "Clean shutdown finished. Exiting.");
+ tor_shutdown_event_loop_and_exit(0);
+}
+
+/** Schedule the mainloop to exit after <b>delay_sec</b> seconds. */
+void
+mainloop_schedule_shutdown(int delay_sec)
+{
+ const struct timeval delay_tv = { delay_sec, 0 };
+ if (! scheduled_shutdown_ev) {
+ scheduled_shutdown_ev = mainloop_event_new(scheduled_shutdown_cb, NULL);
+ }
+ mainloop_event_schedule(scheduled_shutdown_ev, &delay_tv);
+}
+
#define LONGEST_TIMER_PERIOD (30 * 86400)
/** Helper: Return the number of seconds between <b>now</b> and <b>next</b>,
* clipped to the range [1 second, LONGEST_TIMER_PERIOD]. */
@@ -1710,16 +1782,16 @@ safe_timer_diff(time_t now, time_t next)
}
/** Perform regular maintenance tasks. This function gets run once per
- * second by second_elapsed_callback().
+ * second.
*/
-static void
-run_scheduled_events(time_t now)
+static int
+second_elapsed_callback(time_t now, const or_options_t *options)
{
- const or_options_t *options = get_options();
-
- /* 0. See if we've been asked to shut down and our timeout has
- * expired; or if our bandwidth limits are exhausted and we
- * should hibernate; or if it's time to wake up from hibernation.
+ /* 0. See if our bandwidth limits are exhausted and we should hibernate
+ *
+ * Note: we have redundant mechanisms to handle the case where it's
+ * time to wake up from hibernation; or where we have a scheduled
+ * shutdown and it's time to run it, but this will also handle those.
*/
consider_hibernation(now);
@@ -1729,10 +1801,13 @@ run_scheduled_events(time_t now)
if (options->UseBridges && !net_is_disabled()) {
/* Note: this check uses net_is_disabled(), not should_delay_dir_fetches()
* -- the latter is only for fetching consensus-derived directory info. */
+ // TODO: client
+ // Also, schedule this rather than probing 1x / sec
fetch_bridge_descriptors(options, now);
}
if (accounting_is_enabled(options)) {
+ // TODO: refactor or rewrite?
accounting_run_housekeeping(now);
}
@@ -1743,6 +1818,7 @@ run_scheduled_events(time_t now)
*/
/* (If our circuit build timeout can ever become lower than a second (which
* it can't, currently), we should do this more often.) */
+ // TODO: All expire stuff can become NET_PARTICIPANT, RUN_ON_DISABLE
circuit_expire_building();
circuit_expire_waiting_for_better_guard();
@@ -1776,9 +1852,8 @@ run_scheduled_events(time_t now)
run_connection_housekeeping(i, now);
}
- /* 11b. check pending unconfigured managed proxies */
- if (!net_is_disabled() && pt_proxies_configuration_pending())
- pt_configure_remaining_proxies();
+ /* Run again in a second. */
+ return 1;
}
/* Periodic callback: rotate the onion keys after the period defined by the
@@ -1925,6 +2000,55 @@ add_entropy_callback(time_t now, const or_options_t *options)
return ENTROPY_INTERVAL;
}
+/** Periodic callback: if there has been no network usage in a while,
+ * enter a dormant state. */
+STATIC int
+check_network_participation_callback(time_t now, const or_options_t *options)
+{
+ /* If we're a server, we can't become dormant. */
+ if (server_mode(options)) {
+ goto found_activity;
+ }
+
+ /* If we're running an onion service, we can't become dormant. */
+ /* XXXX this would be nice to change, so that we can be dormant with a
+ * service. */
+ if (hs_service_get_num_services() || rend_num_services()) {
+ goto found_activity;
+ }
+
+ /* If we have any currently open entry streams other than "linked"
+ * connections used for directory requests, those count as user activity.
+ */
+ if (options->DormantTimeoutDisabledByIdleStreams) {
+ if (connection_get_by_type_nonlinked(CONN_TYPE_AP) != NULL) {
+ goto found_activity;
+ }
+ }
+
+ /* XXXX Make this configurable? */
+/** How often do we check whether we have had network activity? */
+#define CHECK_PARTICIPATION_INTERVAL (5*60)
+
+ /* Become dormant if there has been no user activity in a long time.
+ * (The funny checks below are in order to prevent overflow.) */
+ time_t time_since_last_activity = 0;
+ if (get_last_user_activity_time() < now)
+ time_since_last_activity = now - get_last_user_activity_time();
+ if (time_since_last_activity >= options->DormantClientTimeout) {
+ log_notice(LD_GENERAL, "No user activity in a long time: becoming"
+ " dormant.");
+ set_network_participation(false);
+ rescan_periodic_events(options);
+ }
+
+ return CHECK_PARTICIPATION_INTERVAL;
+
+ found_activity:
+ note_user_activity(now);
+ return CHECK_PARTICIPATION_INTERVAL;
+}
+
/**
* Periodic callback: if we're an authority, make sure we test
* the routers on the network for reachability.
@@ -2218,6 +2342,27 @@ retry_dns_callback(time_t now, const or_options_t *options)
return RETRY_DNS_INTERVAL;
}
+/**
+ * Periodic callback: prune routerlist of old information about Tor network.
+ */
+static int
+prune_old_routers_callback(time_t now, const or_options_t *options)
+{
+#define ROUTERLIST_PRUNING_INTERVAL (60*60) // 1 hour.
+ (void)now;
+ (void)options;
+
+ if (!net_is_disabled()) {
+ /* If any networkstatus documents are no longer recent, we need to
+ * update all the descriptors' running status. */
+ /* Remove dead routers. */
+ log_debug(LD_GENERAL, "Pruning routerlist...");
+ routerlist_remove_old_routers();
+ }
+
+ return ROUTERLIST_PRUNING_INTERVAL;
+}
+
/** Periodic callback: consider rebuilding or and re-uploading our descriptor
* (if we've passed our internal checks). */
static int
@@ -2237,12 +2382,6 @@ check_descriptor_callback(time_t now, const or_options_t *options)
check_descriptor_ipaddress_changed(now);
mark_my_descriptor_dirty_if_too_old(now);
consider_publishable_server(0);
- /* If any networkstatus documents are no longer recent, we need to
- * update all the descriptors' running status. */
- /* Remove dead routers. */
- /* XXXX This doesn't belong here, but it was here in the pre-
- * XXXX refactoring code. */
- routerlist_remove_old_routers();
}
return CHECK_DESCRIPTOR_INTERVAL;
@@ -2500,36 +2639,19 @@ hs_service_callback(time_t now, const or_options_t *options)
return 1;
}
-/** Timer: used to invoke second_elapsed_callback() once per second. */
-static periodic_timer_t *second_timer = NULL;
-
-/**
- * Enable or disable the per-second timer as appropriate, creating it if
- * necessary.
+/*
+ * Periodic callback: Send once-per-second events to the controller(s).
+ * This is called every second.
*/
-void
-reschedule_per_second_timer(void)
+static int
+control_per_second_events_callback(time_t now, const or_options_t *options)
{
- struct timeval one_second;
- one_second.tv_sec = 1;
- one_second.tv_usec = 0;
-
- if (! second_timer) {
- second_timer = periodic_timer_new(tor_libevent_get_base(),
- &one_second,
- second_elapsed_callback,
- NULL);
- tor_assert(second_timer);
- }
+ (void) options;
+ (void) now;
- const bool run_per_second_events =
- control_any_per_second_event_enabled() || ! net_is_completely_disabled();
+ control_per_second_events();
- if (run_per_second_events) {
- periodic_timer_launch(second_timer, &one_second);
- } else {
- periodic_timer_disable(second_timer);
- }
+ return 1;
}
/** Last time that update_current_time was called. */
@@ -2559,6 +2681,17 @@ update_current_time(time_t now)
memcpy(&last_updated, &current_second_last_changed, sizeof(last_updated));
monotime_coarse_get(&current_second_last_changed);
+ /** How much clock jumping means that we should adjust our idea of when
+ * to go dormant? */
+#define NUM_JUMPED_SECONDS_BEFORE_NETSTATUS_UPDATE 20
+
+ /* Don't go dormant early or late just because we jumped in time. */
+ if (ABS(seconds_elapsed) >= NUM_JUMPED_SECONDS_BEFORE_NETSTATUS_UPDATE) {
+ if (is_participating_on_network()) {
+ netstatus_note_clock_jumped(seconds_elapsed);
+ }
+ }
+
/** How much clock jumping do we tolerate? */
#define NUM_JUMPED_SECONDS_BEFORE_WARN 100
@@ -2568,6 +2701,7 @@ update_current_time(time_t now)
if (seconds_elapsed < -NUM_JUMPED_SECONDS_BEFORE_WARN) {
// moving back in time is always a bad sign.
circuit_note_clock_jumped(seconds_elapsed, false);
+
} else if (seconds_elapsed >= NUM_JUMPED_SECONDS_BEFORE_WARN) {
/* Compare the monotonic clock to the result of time(). */
const int32_t monotime_msec_passed =
@@ -2597,31 +2731,6 @@ update_current_time(time_t now)
current_second = now;
}
-/** Libevent callback: invoked once every second. */
-static void
-second_elapsed_callback(periodic_timer_t *timer, void *arg)
-{
- /* XXXX This could be sensibly refactored into multiple callbacks, and we
- * could use Libevent's timers for this rather than checking the current
- * time against a bunch of timeouts every second. */
- time_t now;
- (void)timer;
- (void)arg;
-
- now = time(NULL);
-
- /* We don't need to do this once-per-second any more: time-updating is
- * only in this callback _because it is a callback_. It should be fine
- * to disable this callback, and the time will still get updated.
- */
- update_current_time(now);
-
- /* Maybe some controller events are ready to fire */
- control_per_second_events();
-
- run_scheduled_events(now);
-}
-
#ifdef HAVE_SYSTEMD_209
static periodic_timer_t *systemd_watchdog_timer = NULL;
@@ -2712,9 +2821,6 @@ do_main_loop(void)
initialize_periodic_events();
initialize_mainloop_events();
- /* set up once-a-second callback. */
- reschedule_per_second_timer();
-
#ifdef HAVE_SYSTEMD_209
uint64_t watchdog_delay;
/* set up systemd watchdog notification. */
@@ -2736,10 +2842,6 @@ do_main_loop(void)
}
}
#endif /* defined(HAVE_SYSTEMD_209) */
-
- main_loop_should_exit = 0;
- main_loop_exit_value = 0;
-
#ifdef ENABLE_RESTART_DEBUGGING
{
static int first_time = 1;
@@ -2865,10 +2967,14 @@ run_main_loop_once(void)
*
* Shadow won't invoke this function, so don't fill it up with things.
*/
-static int
+STATIC int
run_main_loop_until_done(void)
{
int loop_result = 1;
+
+ main_loop_should_exit = 0;
+ main_loop_exit_value = 0;
+
do {
loop_result = run_main_loop_once();
} while (loop_result == 1);
@@ -2899,7 +3005,6 @@ tor_mainloop_free_all(void)
smartlist_free(connection_array);
smartlist_free(closeable_connection_lst);
smartlist_free(active_linked_connection_lst);
- periodic_timer_free(second_timer);
teardown_periodic_events();
tor_event_free(shutdown_did_not_work_event);
tor_event_free(initialize_periodic_events_event);
@@ -2907,6 +3012,8 @@ tor_mainloop_free_all(void)
mainloop_event_free(schedule_active_linked_connections_event);
mainloop_event_free(postloop_cleanup_ev);
mainloop_event_free(handle_deferred_signewnym_ev);
+ mainloop_event_free(scheduled_shutdown_ev);
+ mainloop_event_free(rescan_periodic_events_ev);
#ifdef HAVE_SYSTEMD_209
periodic_timer_free(systemd_watchdog_timer);
diff --git a/src/core/mainloop/mainloop.h b/src/core/mainloop/mainloop.h
index 632733d9a6..730234857d 100644
--- a/src/core/mainloop/mainloop.h
+++ b/src/core/mainloop/mainloop.h
@@ -65,6 +65,7 @@ void reschedule_or_state_save(void);
void reschedule_dirvote(const or_options_t *options);
void mainloop_schedule_postloop_cleanup(void);
void rescan_periodic_events(const or_options_t *options);
+MOCK_DECL(void, schedule_rescan_periodic_events,(void));
void update_current_time(time_t now);
@@ -81,11 +82,12 @@ uint64_t get_main_loop_error_count(void);
uint64_t get_main_loop_idle_count(void);
void periodic_events_on_new_options(const or_options_t *options);
-void reschedule_per_second_timer(void);
void do_signewnym(time_t);
time_t get_last_signewnym_time(void);
+void mainloop_schedule_shutdown(int delay_sec);
+
void tor_init_connection_lists(void);
void initialize_mainloop_events(void);
void tor_mainloop_free_all(void);
@@ -98,10 +100,14 @@ extern struct token_bucket_rw_t global_bucket;
extern struct token_bucket_rw_t global_relayed_bucket;
#ifdef MAINLOOP_PRIVATE
+STATIC int run_main_loop_until_done(void);
STATIC void close_closeable_connections(void);
STATIC void initialize_periodic_events(void);
STATIC void teardown_periodic_events(void);
STATIC int get_my_roles(const or_options_t *);
+STATIC int check_network_participation_callback(time_t now,
+ const or_options_t *options);
+
#ifdef TOR_UNIT_TESTS
extern smartlist_t *connection_array;
diff --git a/src/core/mainloop/netstatus.c b/src/core/mainloop/netstatus.c
index f026474494..d1989cb839 100644
--- a/src/core/mainloop/netstatus.c
+++ b/src/core/mainloop/netstatus.c
@@ -6,9 +6,12 @@
#include "core/or/or.h"
#include "core/mainloop/netstatus.h"
+#include "core/mainloop/mainloop.h"
#include "app/config/config.h"
#include "feature/hibernate/hibernate.h"
+#include "app/config/or_state_st.h"
+
/** Return true iff our network is in some sense disabled or shutting down:
* either we're hibernating, entering hibernation, or the network is turned
* off with DisableNetwork. */
@@ -26,3 +29,132 @@ net_is_completely_disabled(void)
{
return get_options()->DisableNetwork || we_are_fully_hibernating();
}
+
+/**
+ * The time at which we've last seen "user activity" -- that is, any activity
+ * that should keep us as a participant on the network.
+ *
+ * This is not actually the true time. We will adjust this forward if
+ * our clock jumps, or if Tor is shut down for a while, so that the time
+ * since our last activity remains as it was before the jump or shutdown.
+ */
+static time_t last_user_activity_seen = 0;
+
+/**
+ * True iff we are currently a "network participant" -- that is, we
+ * are building circuits, fetching directory information, and so on.
+ **/
+static bool participating_on_network = false;
+
+/**
+ * Record the fact that we have seen "user activity" at the time now. Move
+ * "last activity seen" time forwards, but never backwards.
+ *
+ * If we were previously not participating on the network, set our
+ * participation status to true, and launch periodic events as appropriate.
+ **/
+void
+note_user_activity(time_t now)
+{
+ last_user_activity_seen = MAX(now, last_user_activity_seen);
+
+ if (! participating_on_network) {
+ log_notice(LD_GENERAL, "Tor is no longer dormant.");
+ set_network_participation(true);
+ schedule_rescan_periodic_events();
+ }
+}
+
+/**
+ * Change the time at which "user activitiy" was last seen to <b>now</b>.
+ *
+ * Unlike note_user_actity, this function sets the time without checking
+ * whether it is in the past, and without causing any rescan of periodic events
+ * or change in participation status.
+ */
+void
+reset_user_activity(time_t now)
+{
+ last_user_activity_seen = now;
+}
+
+/**
+ * Return the most recent time at which we recorded "user activity".
+ **/
+time_t
+get_last_user_activity_time(void)
+{
+ return last_user_activity_seen;
+}
+
+/**
+ * Set the field that remembers whether we are currently participating on the
+ * network. Does not schedule or un-schedule periodic events.
+ **/
+void
+set_network_participation(bool participation)
+{
+ participating_on_network = participation;
+}
+
+/**
+ * Return true iff we are currently participating on the network.
+ **/
+bool
+is_participating_on_network(void)
+{
+ return participating_on_network;
+}
+
+/**
+ * Update 'state' with the last time at which we were active on the network.
+ **/
+void
+netstatus_flush_to_state(or_state_t *state, time_t now)
+{
+ state->Dormant = ! participating_on_network;
+ if (participating_on_network) {
+ time_t sec_since_activity = MAX(0, now - last_user_activity_seen);
+ state->MinutesSinceUserActivity = (int)(sec_since_activity / 60);
+ } else {
+ state->MinutesSinceUserActivity = 0;
+ }
+}
+
+/**
+ * Update our current view of network participation from an or_state_t object.
+ **/
+void
+netstatus_load_from_state(const or_state_t *state, time_t now)
+{
+ time_t last_activity;
+ if (state->Dormant == -1) { // Initial setup.
+ if (get_options()->DormantOnFirstStartup) {
+ last_activity = 0;
+ participating_on_network = false;
+ } else {
+ // Start up as active, treat activity as happening now.
+ last_activity = now;
+ participating_on_network = true;
+ }
+ } else if (state->Dormant) {
+ last_activity = 0;
+ participating_on_network = false;
+ } else {
+ last_activity = now - 60 * state->MinutesSinceUserActivity;
+ participating_on_network = true;
+ }
+ reset_user_activity(last_activity);
+}
+
+/**
+ * Adjust the time at which the user was last active by <b>seconds_diff</b>
+ * in response to a clock jump.
+ */
+void
+netstatus_note_clock_jumped(time_t seconds_diff)
+{
+ time_t last_active = get_last_user_activity_time();
+ if (last_active)
+ reset_user_activity(last_active + seconds_diff);
+}
diff --git a/src/core/mainloop/netstatus.h b/src/core/mainloop/netstatus.h
index e9310c2929..9a0fa410fd 100644
--- a/src/core/mainloop/netstatus.h
+++ b/src/core/mainloop/netstatus.h
@@ -10,4 +10,15 @@
int net_is_disabled(void);
int net_is_completely_disabled(void);
+void note_user_activity(time_t now);
+void reset_user_activity(time_t now);
+time_t get_last_user_activity_time(void);
+
+void set_network_participation(bool participation);
+bool is_participating_on_network(void);
+
+void netstatus_flush_to_state(or_state_t *state, time_t now);
+void netstatus_load_from_state(const or_state_t *state, time_t now);
+void netstatus_note_clock_jumped(time_t seconds_diff);
+
#endif
diff --git a/src/core/mainloop/periodic.c b/src/core/mainloop/periodic.c
index c1785eb38f..9f9b178e43 100644
--- a/src/core/mainloop/periodic.c
+++ b/src/core/mainloop/periodic.c
@@ -45,10 +45,6 @@ periodic_event_dispatch(mainloop_event_t *ev, void *data)
periodic_event_item_t *event = data;
tor_assert(ev == event->ev);
- if (BUG(!periodic_event_is_enabled(event))) {
- return;
- }
-
time_t now = time(NULL);
update_current_time(now);
const or_options_t *options = get_options();
@@ -57,7 +53,7 @@ periodic_event_dispatch(mainloop_event_t *ev, void *data)
int next_interval = 0;
if (!periodic_event_is_enabled(event)) {
- /* The event got disabled from inside its callback; no need to
+ /* The event got disabled from inside its callback, or before: no need to
* reschedule. */
return;
}
@@ -172,3 +168,19 @@ periodic_event_disable(periodic_event_item_t *event)
mainloop_event_cancel(event->ev);
event->enabled = 0;
}
+
+/**
+ * Disable an event, then schedule it to run once.
+ * Do nothing if the event was already disabled.
+ */
+void
+periodic_event_schedule_and_disable(periodic_event_item_t *event)
+{
+ tor_assert(event);
+ if (!periodic_event_is_enabled(event))
+ return;
+
+ periodic_event_disable(event);
+
+ mainloop_event_activate(event->ev);
+}
diff --git a/src/core/mainloop/periodic.h b/src/core/mainloop/periodic.h
index 4c8c3c96cc..05ba4297f3 100644
--- a/src/core/mainloop/periodic.h
+++ b/src/core/mainloop/periodic.h
@@ -15,6 +15,10 @@
#define PERIODIC_EVENT_ROLE_BRIDGEAUTH (1U << 4)
#define PERIODIC_EVENT_ROLE_HS_SERVICE (1U << 5)
#define PERIODIC_EVENT_ROLE_DIRSERVER (1U << 6)
+#define PERIODIC_EVENT_ROLE_CONTROLEV (1U << 7)
+
+#define PERIODIC_EVENT_ROLE_NET_PARTICIPANT (1U << 8)
+#define PERIODIC_EVENT_ROLE_ALL (1U << 9)
/* Helper macro to make it a bit less annoying to defined groups of roles that
* are often used. */
@@ -25,10 +29,6 @@
/* Authorities that is both bridge and directory. */
#define PERIODIC_EVENT_ROLE_AUTHORITIES \
(PERIODIC_EVENT_ROLE_BRIDGEAUTH | PERIODIC_EVENT_ROLE_DIRAUTH)
-/* All roles. */
-#define PERIODIC_EVENT_ROLE_ALL \
- (PERIODIC_EVENT_ROLE_AUTHORITIES | PERIODIC_EVENT_ROLE_CLIENT | \
- PERIODIC_EVENT_ROLE_HS_SERVICE | PERIODIC_EVENT_ROLE_ROUTER)
/*
* Event flags which can change the behavior of an event.
@@ -39,6 +39,11 @@
* the net_is_disabled() check. */
#define PERIODIC_EVENT_FLAG_NEED_NET (1U << 0)
+/* Indicate that if the event is enabled, it needs to be run once before
+ * it becomes disabled.
+ */
+#define PERIODIC_EVENT_FLAG_RUN_ON_DISABLE (1U << 1)
+
/** Callback function for a periodic event to take action. The return value
* influences the next time the function will get called. Return
* PERIODIC_EVENT_NO_UPDATE to not update <b>last_action_time</b> and be polled
@@ -83,6 +88,6 @@ void periodic_event_destroy(periodic_event_item_t *event);
void periodic_event_reschedule(periodic_event_item_t *event);
void periodic_event_enable(periodic_event_item_t *event);
void periodic_event_disable(periodic_event_item_t *event);
+void periodic_event_schedule_and_disable(periodic_event_item_t *event);
#endif /* !defined(TOR_PERIODIC_H) */
-
diff --git a/src/core/or/circuitbuild.c b/src/core/or/circuitbuild.c
index a69457571e..d3744dc1c1 100644
--- a/src/core/or/circuitbuild.c
+++ b/src/core/or/circuitbuild.c
@@ -255,9 +255,8 @@ get_unique_circ_id_by_chan(channel_t *chan)
/** If <b>verbose</b> is false, allocate and return a comma-separated list of
* the currently built elements of <b>circ</b>. If <b>verbose</b> is true, also
* list information about link status in a more verbose format using spaces.
- * If <b>verbose_names</b> is false, give nicknames for Named routers and hex
- * digests for others; if <b>verbose_names</b> is true, use $DIGEST=Name style
- * names.
+ * If <b>verbose_names</b> is false, give hex digests; if <b>verbose_names</b>
+ * is true, use $DIGEST=Name style names.
*/
static char *
circuit_list_path_impl(origin_circuit_t *circ, int verbose, int verbose_names)
@@ -1658,22 +1657,25 @@ route_len_for_purpose(uint8_t purpose, extend_info_t *exit_ei)
STATIC int
new_route_len(uint8_t purpose, extend_info_t *exit_ei, smartlist_t *nodes)
{
- int num_acceptable_routers;
int routelen;
tor_assert(nodes);
routelen = route_len_for_purpose(purpose, exit_ei);
- num_acceptable_routers = count_acceptable_nodes(nodes);
+ int num_acceptable_direct = count_acceptable_nodes(nodes, 1);
+ int num_acceptable_indirect = count_acceptable_nodes(nodes, 0);
- log_debug(LD_CIRC,"Chosen route length %d (%d/%d routers suitable).",
- routelen, num_acceptable_routers, smartlist_len(nodes));
+ log_debug(LD_CIRC,"Chosen route length %d (%d direct and %d indirect "
+ "routers suitable).", routelen, num_acceptable_direct,
+ num_acceptable_indirect);
- if (num_acceptable_routers < routelen) {
+ if (num_acceptable_direct < 1 || num_acceptable_indirect < routelen - 1) {
log_info(LD_CIRC,
- "Not enough acceptable routers (%d/%d). Discarding this circuit.",
- num_acceptable_routers, routelen);
+ "Not enough acceptable routers (%d/%d direct and %d/%d "
+ "indirect routers suitable). Discarding this circuit.",
+ num_acceptable_direct, routelen,
+ num_acceptable_indirect, routelen);
return -1;
}
@@ -2315,7 +2317,7 @@ circuit_extend_to_new_exit(origin_circuit_t *circ, extend_info_t *exit_ei)
* particular router. See bug #25885.)
*/
MOCK_IMPL(STATIC int,
-count_acceptable_nodes, (smartlist_t *nodes))
+count_acceptable_nodes, (smartlist_t *nodes, int direct))
{
int num=0;
@@ -2329,7 +2331,7 @@ count_acceptable_nodes, (smartlist_t *nodes))
if (! node->is_valid)
// log_debug(LD_CIRC,"Nope, the directory says %d is not valid.",i);
continue;
- if (! node_has_any_descriptor(node))
+ if (! node_has_preferred_descriptor(node, direct))
continue;
/* The node has a descriptor, so we can just check the ntor key directly */
if (!node_has_curve25519_onion_key(node))
diff --git a/src/core/or/circuitbuild.h b/src/core/or/circuitbuild.h
index cee71b297b..93f903f060 100644
--- a/src/core/or/circuitbuild.h
+++ b/src/core/or/circuitbuild.h
@@ -84,7 +84,8 @@ void circuit_upgrade_circuits_from_guard_wait(void);
STATIC circid_t get_unique_circ_id_by_chan(channel_t *chan);
STATIC int new_route_len(uint8_t purpose, extend_info_t *exit_ei,
smartlist_t *nodes);
-MOCK_DECL(STATIC int, count_acceptable_nodes, (smartlist_t *nodes));
+MOCK_DECL(STATIC int, count_acceptable_nodes, (smartlist_t *nodes,
+ int direct));
STATIC int onion_extend_cpath(origin_circuit_t *circ);
diff --git a/src/core/or/circuitlist.c b/src/core/or/circuitlist.c
index 35efc6541f..0aa21000a1 100644
--- a/src/core/or/circuitlist.c
+++ b/src/core/or/circuitlist.c
@@ -94,7 +94,7 @@
#include "lib/compress/compress_lzma.h"
#include "lib/compress/compress_zlib.h"
#include "lib/compress/compress_zstd.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "ht.h"
diff --git a/src/core/or/connection_edge.c b/src/core/or/connection_edge.c
index 58aefcf8f2..9f76929e53 100644
--- a/src/core/or/connection_edge.c
+++ b/src/core/or/connection_edge.c
@@ -62,6 +62,7 @@
#include "app/config/config.h"
#include "core/mainloop/connection.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
#include "core/or/channel.h"
#include "core/or/circuitbuild.h"
#include "core/or/circuitlist.h"
@@ -97,7 +98,7 @@
#include "feature/rend/rendservice.h"
#include "feature/stats/predict_ports.h"
#include "feature/stats/rephist.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/crypt_ops/crypto_util.h"
#include "core/or/cell_st.h"
@@ -297,6 +298,11 @@ connection_edge_process_inbuf(edge_connection_t *conn, int package_partial)
}
return 0;
case AP_CONN_STATE_OPEN:
+ if (! conn->base_.linked) {
+ note_user_activity(approx_time());
+ }
+
+ /* falls through. */
case EXIT_CONN_STATE_OPEN:
if (connection_edge_package_raw_inbuf(conn, package_partial, NULL) < 0) {
/* (We already sent an end cell if possible) */
@@ -751,6 +757,11 @@ connection_edge_flushed_some(edge_connection_t *conn)
{
switch (conn->base_.state) {
case AP_CONN_STATE_OPEN:
+ if (! conn->base_.linked) {
+ note_user_activity(approx_time());
+ }
+
+ /* falls through. */
case EXIT_CONN_STATE_OPEN:
connection_edge_consider_sending_sendme(conn);
break;
diff --git a/src/core/or/connection_or.c b/src/core/or/connection_or.c
index 274cf85904..962ec51c36 100644
--- a/src/core/or/connection_or.c
+++ b/src/core/or/connection_or.c
@@ -22,7 +22,7 @@
**/
#include "core/or/or.h"
#include "feature/client/bridges.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
/*
* Define this so we get channel internal functions, since we're implementing
* part of a subclass (channel_tls_t).
diff --git a/src/core/or/or.h b/src/core/or/or.h
index acf092c8dc..ca373d8ed5 100644
--- a/src/core/or/or.h
+++ b/src/core/or/or.h
@@ -26,7 +26,7 @@
#include "lib/cc/compat_compiler.h"
#include "lib/cc/torint.h"
#include "lib/container/map.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/container/smartlist.h"
#include "lib/crypt_ops/crypto_cipher.h"
#include "lib/crypt_ops/crypto_rsa.h"
@@ -97,6 +97,8 @@ struct curve25519_public_key_t;
#define SIGNEWNYM 129
#define SIGCLEARDNSCACHE 130
#define SIGHEARTBEAT 131
+#define SIGACTIVE 132
+#define SIGDORMANT 133
#if (SIZEOF_CELL_T != 0)
/* On Irix, stdlib.h defines a cell_t type, so we need to make sure
diff --git a/src/core/or/policies.c b/src/core/or/policies.c
index 0eda93c5f3..bffdb1fddd 100644
--- a/src/core/or/policies.c
+++ b/src/core/or/policies.c
@@ -29,6 +29,7 @@
#include "feature/relay/routermode.h"
#include "lib/geoip/geoip.h"
#include "ht.h"
+#include "lib/crypt_ops/crypto_rand.h"
#include "lib/encoding/confline.h"
#include "core/or/addr_policy_st.h"
@@ -461,7 +462,8 @@ fascist_firewall_use_ipv6(const or_options_t *options)
* ClientPreferIPv6DirPort is deprecated, but check it anyway. */
return (options->ClientUseIPv6 == 1 || options->ClientUseIPv4 == 0 ||
options->ClientPreferIPv6ORPort == 1 ||
- options->ClientPreferIPv6DirPort == 1 || options->UseBridges == 1);
+ options->ClientPreferIPv6DirPort == 1 || options->UseBridges == 1 ||
+ options->ClientAutoIPv6ORPort == 1);
}
/** Do we prefer to connect to IPv6, ignoring ClientPreferIPv6ORPort and
@@ -488,6 +490,15 @@ fascist_firewall_prefer_ipv6_impl(const or_options_t *options)
return -1;
}
+/* Choose whether we prefer IPv4 or IPv6 by randomly choosing an address
+ * family. Return 0 for IPv4, and 1 for IPv6. */
+MOCK_IMPL(int,
+fascist_firewall_rand_prefer_ipv6_addr, (void))
+{
+ /* TODO: Check for failures, and infer our preference based on this. */
+ return crypto_rand_int(2);
+}
+
/** Do we prefer to connect to IPv6 ORPorts?
* Use node_ipv6_or_preferred() whenever possible: it supports bridge client
* per-node IPv6 preferences.
@@ -502,7 +513,10 @@ fascist_firewall_prefer_ipv6_orport(const or_options_t *options)
}
/* We can use both IPv4 and IPv6 - which do we prefer? */
- if (options->ClientPreferIPv6ORPort == 1) {
+ if (options->ClientAutoIPv6ORPort == 1) {
+ /* If ClientAutoIPv6ORPort is 1, we prefer IPv4 or IPv6 at random. */
+ return fascist_firewall_rand_prefer_ipv6_addr();
+ } else if (options->ClientPreferIPv6ORPort == 1) {
return 1;
}
@@ -2706,7 +2720,7 @@ parse_short_policy(const char *summary)
int is_accept;
int n_entries;
short_policy_entry_t entries[MAX_EXITPOLICY_SUMMARY_LEN]; /* overkill */
- const char *next;
+ char *next;
if (!strcmpstart(summary, "accept ")) {
is_accept = 1;
@@ -2721,57 +2735,56 @@ parse_short_policy(const char *summary)
n_entries = 0;
for ( ; *summary; summary = next) {
- const char *comma = strchr(summary, ',');
- unsigned low, high;
- char dummy;
- char ent_buf[32];
- size_t len;
-
- next = comma ? comma+1 : strchr(summary, '\0');
- len = comma ? (size_t)(comma - summary) : strlen(summary);
-
if (n_entries == MAX_EXITPOLICY_SUMMARY_LEN) {
log_fn(LOG_PROTOCOL_WARN, LD_DIR, "Impossibly long policy summary %s",
escaped(orig_summary));
return NULL;
}
- if (! TOR_ISDIGIT(*summary) || len > (sizeof(ent_buf)-1)) {
- /* unrecognized entry format. skip it. */
- continue;
- }
- if (len < 1) {
- /* empty; skip it. */
- /* XXX This happens to be unreachable, since if len==0, then *summary is
- * ',' or '\0', and the TOR_ISDIGIT test above would have failed. */
- continue;
+ unsigned low, high;
+ int ok;
+ low = (unsigned) tor_parse_ulong(summary, 10, 1, 65535, &ok, &next);
+ if (!ok) {
+ if (! TOR_ISDIGIT(*summary) || *summary == ',') {
+ /* Unrecognized format: skip it. */
+ goto skip_ent;
+ } else {
+ goto bad_ent;
+ }
}
- memcpy(ent_buf, summary, len);
- ent_buf[len] = '\0';
+ switch (*next) {
+ case ',':
+ ++next;
+ /* fall through */
+ case '\0':
+ high = low;
+ break;
+ case '-':
+ high = (unsigned) tor_parse_ulong(next+1, 10, low, 65535, &ok, &next);
+ if (!ok)
+ goto bad_ent;
- if (tor_sscanf(ent_buf, "%u-%u%c", &low, &high, &dummy) == 2) {
- if (low<1 || low>65535 || high<1 || high>65535 || low>high) {
- log_fn(LOG_PROTOCOL_WARN, LD_DIR,
- "Found bad entry in policy summary %s", escaped(orig_summary));
- return NULL;
- }
- } else if (tor_sscanf(ent_buf, "%u%c", &low, &dummy) == 1) {
- if (low<1 || low>65535) {
- log_fn(LOG_PROTOCOL_WARN, LD_DIR,
- "Found bad entry in policy summary %s", escaped(orig_summary));
- return NULL;
- }
- high = low;
- } else {
- log_fn(LOG_PROTOCOL_WARN, LD_DIR,"Found bad entry in policy summary %s",
- escaped(orig_summary));
- return NULL;
+ if (*next == ',')
+ ++next;
+ else if (*next != '\0')
+ goto bad_ent;
+
+ break;
+ default:
+ goto bad_ent;
}
entries[n_entries].min_port = low;
entries[n_entries].max_port = high;
n_entries++;
+
+ continue;
+ skip_ent:
+ next = strchr(next, ',');
+ if (!next)
+ break;
+ ++next;
}
if (n_entries == 0) {
@@ -2792,6 +2805,11 @@ parse_short_policy(const char *summary)
result->n_entries = n_entries;
memcpy(result->entries, entries, sizeof(short_policy_entry_t)*n_entries);
return result;
+
+ bad_ent:
+ log_fn(LOG_PROTOCOL_WARN, LD_DIR,"Found bad entry in policy summary %s",
+ escaped(orig_summary));
+ return NULL;
}
/** Write <b>policy</b> back out into a string. */
diff --git a/src/core/or/policies.h b/src/core/or/policies.h
index 7da3ba031f..0c64ecf378 100644
--- a/src/core/or/policies.h
+++ b/src/core/or/policies.h
@@ -70,6 +70,7 @@ typedef struct short_policy_t {
int firewall_is_fascist_or(void);
int firewall_is_fascist_dir(void);
int fascist_firewall_use_ipv6(const or_options_t *options);
+MOCK_DECL(int, fascist_firewall_rand_prefer_ipv6_addr, (void));
int fascist_firewall_prefer_ipv6_orport(const or_options_t *options);
int fascist_firewall_prefer_ipv6_dirport(const or_options_t *options);
diff --git a/src/core/or/relay.c b/src/core/or/relay.c
index 510d96c648..2e92f2a55d 100644
--- a/src/core/or/relay.c
+++ b/src/core/or/relay.c
@@ -49,7 +49,7 @@
#include "core/or/or.h"
#include "feature/client/addressmap.h"
#include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/channel.h"
#include "feature/client/circpathbias.h"
#include "core/or/circuitbuild.h"
diff --git a/src/core/or/scheduler.c b/src/core/or/scheduler.c
index 326e0d65d9..937e7e45db 100644
--- a/src/core/or/scheduler.c
+++ b/src/core/or/scheduler.c
@@ -9,7 +9,7 @@
#define SCHEDULER_KIST_PRIVATE
#include "core/or/scheduler.h"
#include "core/mainloop/mainloop.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#define TOR_CHANNEL_INTERNAL_
#include "core/or/channeltls.h"
#include "lib/evloop/compat_libevent.h"
diff --git a/src/core/or/scheduler_kist.c b/src/core/or/scheduler_kist.c
index f112ea6357..3ed0f1a5e2 100644
--- a/src/core/or/scheduler_kist.c
+++ b/src/core/or/scheduler_kist.c
@@ -4,7 +4,7 @@
#define SCHEDULER_KIST_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "core/mainloop/connection.h"
#include "feature/nodelist/networkstatus.h"
diff --git a/src/core/or/versions.c b/src/core/or/versions.c
index 06274996a7..7bd1f5899f 100644
--- a/src/core/or/versions.c
+++ b/src/core/or/versions.c
@@ -16,6 +16,25 @@
#include "core/or/tor_version_st.h"
+/**
+ * Return the approximate date when this release came out, or was
+ * scheduled to come out, according to the APPROX_RELEASE_DATE set in
+ * configure.ac
+ **/
+time_t
+tor_get_approx_release_date(void)
+{
+ char tbuf[ISO_TIME_LEN+1];
+ tor_snprintf(tbuf, sizeof(tbuf),
+ "%s 00:00:00", APPROX_RELEASE_DATE);
+ time_t result = 0;
+ int r = parse_iso_time(tbuf, &result);
+ if (BUG(r < 0)) {
+ result = 0;
+ }
+ return result;
+}
+
/** Return VS_RECOMMENDED if <b>myversion</b> is contained in
* <b>versionlist</b>. Else, return VS_EMPTY if versionlist has no
* entries. Else, return VS_OLD if every member of
@@ -377,6 +396,64 @@ sort_version_list(smartlist_t *versions, int remove_duplicates)
smartlist_uniq(versions, compare_tor_version_str_ptr_, tor_free_);
}
+/** If there are more than this many entries, we're probably under
+ * some kind of weird DoS. */
+static const int MAX_PROTOVER_SUMMARY_MAP_LEN = 1024;
+
+/**
+ * Map from protover string to protover_summary_flags_t.
+ */
+static strmap_t *protover_summary_map = NULL;
+
+/**
+ * Helper. Given a non-NULL protover string <b>protocols</b>, set <b>out</b>
+ * to its summary, and memoize the result in <b>protover_summary_map</b>.
+ */
+static void
+memoize_protover_summary(protover_summary_flags_t *out,
+ const char *protocols)
+{
+ if (!protover_summary_map)
+ protover_summary_map = strmap_new();
+
+ if (strmap_size(protover_summary_map) >= MAX_PROTOVER_SUMMARY_MAP_LEN) {
+ protover_summary_cache_free_all();
+ tor_assert(protover_summary_map == NULL);
+ protover_summary_map = strmap_new();
+ }
+
+ const protover_summary_flags_t *cached =
+ strmap_get(protover_summary_map, protocols);
+
+ if (cached != NULL) {
+ /* We found a cached entry; no need to parse this one. */
+ memcpy(out, cached, sizeof(protover_summary_flags_t));
+ tor_assert(out->protocols_known);
+ return;
+ }
+
+ memset(out, 0, sizeof(*out));
+ out->protocols_known = 1;
+ out->supports_extend2_cells =
+ protocol_list_supports_protocol(protocols, PRT_RELAY, 2);
+ out->supports_ed25519_link_handshake_compat =
+ protocol_list_supports_protocol(protocols, PRT_LINKAUTH, 3);
+ out->supports_ed25519_link_handshake_any =
+ protocol_list_supports_protocol_or_later(protocols, PRT_LINKAUTH, 3);
+ out->supports_ed25519_hs_intro =
+ protocol_list_supports_protocol(protocols, PRT_HSINTRO, 4);
+ out->supports_v3_hsdir =
+ protocol_list_supports_protocol(protocols, PRT_HSDIR,
+ PROTOVER_HSDIR_V3);
+ out->supports_v3_rendezvous_point =
+ protocol_list_supports_protocol(protocols, PRT_HSREND,
+ PROTOVER_HS_RENDEZVOUS_POINT_V3);
+
+ protover_summary_flags_t *new_cached = tor_memdup(out, sizeof(*out));
+ cached = strmap_set(protover_summary_map, protocols, new_cached);
+ tor_assert(!cached);
+}
+
/** Summarize the protocols listed in <b>protocols</b> into <b>out</b>,
* falling back or correcting them based on <b>version</b> as appropriate.
*/
@@ -388,21 +465,7 @@ summarize_protover_flags(protover_summary_flags_t *out,
tor_assert(out);
memset(out, 0, sizeof(*out));
if (protocols) {
- out->protocols_known = 1;
- out->supports_extend2_cells =
- protocol_list_supports_protocol(protocols, PRT_RELAY, 2);
- out->supports_ed25519_link_handshake_compat =
- protocol_list_supports_protocol(protocols, PRT_LINKAUTH, 3);
- out->supports_ed25519_link_handshake_any =
- protocol_list_supports_protocol_or_later(protocols, PRT_LINKAUTH, 3);
- out->supports_ed25519_hs_intro =
- protocol_list_supports_protocol(protocols, PRT_HSINTRO, 4);
- out->supports_v3_hsdir =
- protocol_list_supports_protocol(protocols, PRT_HSDIR,
- PROTOVER_HSDIR_V3);
- out->supports_v3_rendezvous_point =
- protocol_list_supports_protocol(protocols, PRT_HSREND,
- PROTOVER_HS_RENDEZVOUS_POINT_V3);
+ memoize_protover_summary(out, protocols);
}
if (version && !strcmpstart(version, "Tor ")) {
if (!out->protocols_known) {
@@ -420,3 +483,13 @@ summarize_protover_flags(protover_summary_flags_t *out,
}
}
}
+
+/**
+ * Free all space held in the protover_summary_map.
+ */
+void
+protover_summary_cache_free_all(void)
+{
+ strmap_free(protover_summary_map, tor_free_);
+ protover_summary_map = NULL;
+}
diff --git a/src/core/or/versions.h b/src/core/or/versions.h
index 0c773f3f4c..acd8998918 100644
--- a/src/core/or/versions.h
+++ b/src/core/or/versions.h
@@ -26,6 +26,8 @@ typedef enum version_status_t {
VS_UNKNOWN, /**< We have no idea. */
} version_status_t;
+time_t tor_get_approx_release_date(void);
+
version_status_t tor_version_is_obsolete(const char *myversion,
const char *versionlist);
int tor_version_parse_platform(const char *platform,
@@ -41,4 +43,6 @@ void summarize_protover_flags(protover_summary_flags_t *out,
const char *protocols,
const char *version);
+void protover_summary_cache_free_all(void);
+
#endif /* !defined(TOR_VERSIONS_H) */
diff --git a/src/core/proto/proto_cell.c b/src/core/proto/proto_cell.c
index 49b07663d7..70278cd488 100644
--- a/src/core/proto/proto_cell.c
+++ b/src/core/proto/proto_cell.c
@@ -5,7 +5,7 @@
/* See LICENSE for licensing information */
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/proto/proto_cell.h"
#include "core/or/connection_or.h"
diff --git a/src/core/proto/proto_control0.c b/src/core/proto/proto_control0.c
index d26c69753a..a770a061a7 100644
--- a/src/core/proto/proto_control0.c
+++ b/src/core/proto/proto_control0.c
@@ -5,7 +5,7 @@
/* See LICENSE for licensing information */
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/proto/proto_control0.h"
/** Return 1 iff buf looks more like it has an (obsolete) v0 controller
diff --git a/src/core/proto/proto_ext_or.c b/src/core/proto/proto_ext_or.c
index 04bec4e6b9..fe36f6b396 100644
--- a/src/core/proto/proto_ext_or.c
+++ b/src/core/proto/proto_ext_or.c
@@ -5,7 +5,7 @@
/* See LICENSE for licensing information */
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "feature/relay/ext_orport.h"
#include "core/proto/proto_ext_or.h"
diff --git a/src/core/proto/proto_http.c b/src/core/proto/proto_http.c
index 37298d1284..4ce9ba02f5 100644
--- a/src/core/proto/proto_http.c
+++ b/src/core/proto/proto_http.c
@@ -6,7 +6,7 @@
#define PROTO_HTTP_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/proto/proto_http.h"
/** Return true if <b>cmd</b> looks like a HTTP (proxy) request. */
diff --git a/src/core/proto/proto_socks.c b/src/core/proto/proto_socks.c
index e23da7730b..4071f34f0d 100644
--- a/src/core/proto/proto_socks.c
+++ b/src/core/proto/proto_socks.c
@@ -6,7 +6,7 @@
#include "core/or/or.h"
#include "feature/client/addressmap.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/mainloop/connection.h"
#include "feature/control/control.h"
#include "app/config/config.h"
diff --git a/src/ext/.may_include b/src/ext/.may_include
new file mode 100644
index 0000000000..1eafff2eeb
--- /dev/null
+++ b/src/ext/.may_include
@@ -0,0 +1,10 @@
+
+orconfig.h
+
+lib/err/*.h
+lib/cc/*.h
+
+tinytest*.h
+ext/siphash.h
+ext/byteorder.h
+ext/tor_readpassphrase.h \ No newline at end of file
diff --git a/src/ext/csiphash.c b/src/ext/csiphash.c
index a6a9846db4..af8559a476 100644
--- a/src/ext/csiphash.c
+++ b/src/ext/csiphash.c
@@ -30,12 +30,12 @@
*/
#include "lib/cc/torint.h"
-#include "lib/log/util_bug.h"
+#include "lib/err/torerr.h"
-#include "siphash.h"
+#include "ext/siphash.h"
#include <string.h>
#include <stdlib.h>
-#include "byteorder.h"
+#include "ext/byteorder.h"
#define ROTATE(x, b) (uint64_t)( ((x) << (b)) | ( (x) >> (64 - (b))) )
@@ -112,13 +112,13 @@ static int the_siphash_key_is_set = 0;
static struct sipkey the_siphash_key;
uint64_t siphash24g(const void *src, unsigned long src_sz) {
- tor_assert(the_siphash_key_is_set);
+ raw_assert(the_siphash_key_is_set);
return siphash24(src, src_sz, &the_siphash_key);
}
void siphash_set_global_key(const struct sipkey *key)
{
- tor_assert(! the_siphash_key_is_set);
+ raw_assert(! the_siphash_key_is_set);
the_siphash_key.k0 = key->k0;
the_siphash_key.k1 = key->k1;
the_siphash_key_is_set = 1;
diff --git a/src/ext/readpassphrase.c b/src/ext/readpassphrase.c
index e0df05d7b7..16611af1e2 100644
--- a/src/ext/readpassphrase.c
+++ b/src/ext/readpassphrase.c
@@ -30,7 +30,7 @@
#include <signal.h>
#include <ctype.h>
#include <fcntl.h>
-#include "tor_readpassphrase.h"
+#include "ext/tor_readpassphrase.h"
#include <errno.h>
#include <string.h>
#include <unistd.h>
diff --git a/src/ext/timeouts/.may_include b/src/ext/timeouts/.may_include
new file mode 100644
index 0000000000..42f44befd4
--- /dev/null
+++ b/src/ext/timeouts/.may_include
@@ -0,0 +1,6 @@
+orconfig.h
+
+ext/tor_queue.h
+timeout-bitops.c
+timeout-debug.h
+timeout.h
diff --git a/src/ext/timeouts/timeout.c b/src/ext/timeouts/timeout.c
index d4b514d2c5..07d06772c5 100644
--- a/src/ext/timeouts/timeout.c
+++ b/src/ext/timeouts/timeout.c
@@ -38,7 +38,7 @@
#include <errno.h> /* errno */
-#include "tor_queue.h" /* TAILQ(3) */
+#include "ext/tor_queue.h" /* TAILQ(3) */
#include "timeout.h"
@@ -531,7 +531,7 @@ static timeout_t timeouts_int(struct timeouts *T) {
timeout = MIN(_timeout, timeout);
}
- relmask <<= WHEEL_BIT;
+ relmask <<= WHEEL_BIT;
relmask |= WHEEL_MASK;
}
@@ -751,4 +751,3 @@ TIMEOUT_PUBLIC int timeout_v_abi(void) {
TIMEOUT_PUBLIC int timeout_v_api(void) {
return TIMEOUT_V_API;
} /* timeout_version() */
-
diff --git a/src/ext/timeouts/timeout.h b/src/ext/timeouts/timeout.h
index b35874e153..1ed309fd08 100644
--- a/src/ext/timeouts/timeout.h
+++ b/src/ext/timeouts/timeout.h
@@ -31,7 +31,7 @@
#include <inttypes.h> /* PRIu64 PRIx64 PRIX64 uint64_t */
-#include "tor_queue.h" /* TAILQ(3) */
+#include "ext/tor_queue.h" /* TAILQ(3) */
/*
@@ -147,7 +147,7 @@ TIMEOUT_PUBLIC struct timeout *timeout_init(struct timeout *, int);
#ifndef TIMEOUT_DISABLE_RELATIVE_ACCESS
TIMEOUT_PUBLIC bool timeout_pending(struct timeout *);
/* true if on timing wheel, false otherwise */
-
+
TIMEOUT_PUBLIC bool timeout_expired(struct timeout *);
/* true if on expired queue, false otherwise */
diff --git a/src/feature/client/bridges.c b/src/feature/client/bridges.c
index 47a4249556..5b537eb16b 100644
--- a/src/feature/client/bridges.c
+++ b/src/feature/client/bridges.c
@@ -844,7 +844,8 @@ rewrite_node_address_for_bridge(const bridge_info_t *bridge, node_t *node)
}
}
- if (options->ClientPreferIPv6ORPort == -1) {
+ if (options->ClientPreferIPv6ORPort == -1 ||
+ options->ClientAutoIPv6ORPort == 0) {
/* Mark which address to use based on which bridge_t we got. */
node->ipv6_preferred = (tor_addr_family(&bridge->addr) == AF_INET6 &&
!tor_addr_is_null(&node->ri->ipv6_addr));
diff --git a/src/feature/client/dnsserv.c b/src/feature/client/dnsserv.c
index ea4951f915..e5abe5c6aa 100644
--- a/src/feature/client/dnsserv.c
+++ b/src/feature/client/dnsserv.c
@@ -28,6 +28,7 @@
#include "core/or/connection_edge.h"
#include "feature/control/control.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
#include "core/or/policies.h"
#include "feature/control/control_connection_st.h"
@@ -213,6 +214,9 @@ dnsserv_launch_request(const char *name, int reverse,
edge_connection_t *conn;
char *q_name;
+ /* Launching a request for a user counts as user activity. */
+ note_user_activity(approx_time());
+
/* Make a new dummy AP connection, and attach the request to it. */
entry_conn = entry_connection_new(CONN_TYPE_AP, AF_INET);
entry_conn->entry_cfg.dns_request = 1;
diff --git a/src/feature/client/entrynodes.c b/src/feature/client/entrynodes.c
index 20208ef613..e0fe1b9a58 100644
--- a/src/feature/client/entrynodes.c
+++ b/src/feature/client/entrynodes.c
@@ -287,7 +287,9 @@ create_initial_guard_context(void)
guard_selection_type_t type = GS_TYPE_INFER;
const char *name = choose_guard_selection(
get_options(),
- networkstatus_get_live_consensus(approx_time()),
+ networkstatus_get_reasonably_live_consensus(
+ approx_time(),
+ usable_consensus_flavor()),
NULL,
&type);
tor_assert(name); // "name" can only be NULL if we had an old name.
@@ -726,7 +728,9 @@ update_guard_selection_choice(const or_options_t *options)
guard_selection_type_t type = GS_TYPE_INFER;
const char *new_name = choose_guard_selection(
options,
- networkstatus_get_live_consensus(approx_time()),
+ networkstatus_get_reasonably_live_consensus(
+ approx_time(),
+ usable_consensus_flavor()),
curr_guard_context,
&type);
tor_assert(new_name);
@@ -1125,14 +1129,16 @@ select_and_add_guard_item_for_sample(guard_selection_t *gs,
* or if we don't need a consensus because we're using bridges.)
*/
static int
-live_consensus_is_missing(const guard_selection_t *gs)
+reasonably_live_consensus_is_missing(const guard_selection_t *gs)
{
tor_assert(gs);
if (gs->type == GS_TYPE_BRIDGE) {
/* We don't update bridges from the consensus; they aren't there. */
return 0;
}
- return networkstatus_get_live_consensus(approx_time()) == NULL;
+ return networkstatus_get_reasonably_live_consensus(
+ approx_time(),
+ usable_consensus_flavor()) == NULL;
}
/**
@@ -1147,9 +1153,9 @@ entry_guards_expand_sample(guard_selection_t *gs)
tor_assert(gs);
const or_options_t *options = get_options();
- if (live_consensus_is_missing(gs)) {
+ if (reasonably_live_consensus_is_missing(gs)) {
log_info(LD_GUARD, "Not expanding the sample guard set; we have "
- "no live consensus.");
+ "no reasonably live consensus.");
return NULL;
}
@@ -1395,11 +1401,12 @@ sampled_guards_update_from_consensus(guard_selection_t *gs)
{
tor_assert(gs);
- // It's important to use only a live consensus here; we don't want to
- // make changes based on anything expired or old.
- if (live_consensus_is_missing(gs)) {
+ // It's important to use a reasonably live consensus here; we want clients
+ // to bootstrap even if their clock is skewed by more than 2-3 hours.
+ // But we don't want to make changes based on anything that's really old.
+ if (reasonably_live_consensus_is_missing(gs)) {
log_info(LD_GUARD, "Not updating the sample guard set; we have "
- "no live consensus.");
+ "no reasonably live consensus.");
return;
}
log_info(LD_GUARD, "Updating sampled guard status based on received "
diff --git a/src/feature/client/transports.c b/src/feature/client/transports.c
index 85d4d2e080..de53fe3469 100644
--- a/src/feature/client/transports.c
+++ b/src/feature/client/transports.c
@@ -102,10 +102,10 @@
#include "feature/relay/ext_orport.h"
#include "feature/control/control.h"
+#include "lib/process/process.h"
#include "lib/process/env.h"
-#include "lib/process/subprocess.h"
-static process_environment_t *
+static smartlist_t *
create_managed_proxy_environment(const managed_proxy_t *mp);
static inline int proxy_configuration_finished(const managed_proxy_t *mp);
@@ -127,6 +127,7 @@ static void parse_method_error(const char *line, int is_server_method);
#define PROTO_SMETHODS_DONE "SMETHODS DONE"
#define PROTO_PROXY_DONE "PROXY DONE"
#define PROTO_PROXY_ERROR "PROXY-ERROR"
+#define PROTO_LOG "LOG"
/** The first and only supported - at the moment - configuration
protocol version. */
@@ -490,8 +491,8 @@ proxy_prepare_for_restart(managed_proxy_t *mp)
tor_assert(mp->conf_state == PT_PROTO_COMPLETED);
/* destroy the process handle and terminate the process. */
- tor_process_handle_destroy(mp->process_handle, 1);
- mp->process_handle = NULL;
+ process_set_data(mp->process, NULL);
+ process_terminate(mp->process);
/* destroy all its registered transports, since we will no longer
use them. */
@@ -520,34 +521,35 @@ proxy_prepare_for_restart(managed_proxy_t *mp)
static int
launch_managed_proxy(managed_proxy_t *mp)
{
- int retval;
-
- process_environment_t *env = create_managed_proxy_environment(mp);
-
-#ifdef _WIN32
- /* Passing NULL as lpApplicationName makes Windows search for the .exe */
- retval = tor_spawn_background(NULL,
- (const char **)mp->argv,
- env,
- &mp->process_handle);
-#else /* !(defined(_WIN32)) */
- retval = tor_spawn_background(mp->argv[0],
- (const char **)mp->argv,
- env,
- &mp->process_handle);
-#endif /* defined(_WIN32) */
-
- process_environment_free(env);
-
- if (retval == PROCESS_STATUS_ERROR) {
- log_warn(LD_GENERAL, "Managed proxy at '%s' failed at launch.",
+ tor_assert(mp);
+
+ smartlist_t *env = create_managed_proxy_environment(mp);
+
+ /* Configure our process. */
+ process_set_data(mp->process, mp);
+ process_set_stdout_read_callback(mp->process, managed_proxy_stdout_callback);
+ process_set_stderr_read_callback(mp->process, managed_proxy_stderr_callback);
+ process_set_exit_callback(mp->process, managed_proxy_exit_callback);
+ process_set_protocol(mp->process, PROCESS_PROTOCOL_LINE);
+ process_reset_environment(mp->process, env);
+
+ /* Cleanup our env. */
+ SMARTLIST_FOREACH(env, char *, x, tor_free(x));
+ smartlist_free(env);
+
+ /* Skip the argv[0] as we get that from process_new(argv[0]). */
+ for (int i = 1; mp->argv[i] != NULL; ++i)
+ process_append_argument(mp->process, mp->argv[i]);
+
+ if (process_exec(mp->process) != PROCESS_STATUS_RUNNING) {
+ log_warn(LD_CONFIG, "Managed proxy at '%s' failed at launch.",
mp->argv[0]);
return -1;
}
- log_info(LD_CONFIG, "Managed proxy at '%s' has spawned with PID '%d'.",
- mp->argv[0], tor_process_get_pid(mp->process_handle));
-
+ log_info(LD_CONFIG,
+ "Managed proxy at '%s' has spawned with PID '%" PRIu64 "'.",
+ mp->argv[0], process_get_pid(mp->process));
mp->conf_state = PT_PROTO_LAUNCHED;
return 0;
@@ -615,10 +617,6 @@ pt_configure_remaining_proxies(void)
STATIC int
configure_proxy(managed_proxy_t *mp)
{
- int configuration_finished = 0;
- smartlist_t *proxy_output = NULL;
- enum stream_status stream_status = 0;
-
/* if we haven't launched the proxy yet, do it now */
if (mp->conf_state == PT_PROTO_INFANT) {
if (launch_managed_proxy(mp) < 0) { /* launch fail */
@@ -629,45 +627,8 @@ configure_proxy(managed_proxy_t *mp)
}
tor_assert(mp->conf_state != PT_PROTO_INFANT);
- tor_assert(mp->process_handle);
-
- proxy_output =
- tor_get_lines_from_handle(tor_process_get_stdout_pipe(mp->process_handle),
- &stream_status);
- if (!proxy_output) { /* failed to get input from proxy */
- if (stream_status != IO_STREAM_EAGAIN) { /* bad stream status! */
- mp->conf_state = PT_PROTO_BROKEN;
- log_warn(LD_GENERAL, "The communication stream of managed proxy '%s' "
- "is '%s'. Most probably the managed proxy stopped running. "
- "This might be a bug of the managed proxy, a bug of Tor, or "
- "a misconfiguration. Please enable logging on your managed "
- "proxy and check the logs for errors.",
- mp->argv[0], stream_status_to_string(stream_status));
- }
-
- goto done;
- }
-
- /* Handle lines. */
- SMARTLIST_FOREACH_BEGIN(proxy_output, const char *, line) {
- handle_proxy_line(line, mp);
- if (proxy_configuration_finished(mp))
- goto done;
- } SMARTLIST_FOREACH_END(line);
-
- done:
- /* if the proxy finished configuring, exit the loop. */
- if (proxy_configuration_finished(mp)) {
- handle_finished_proxy(mp);
- configuration_finished = 1;
- }
-
- if (proxy_output) {
- SMARTLIST_FOREACH(proxy_output, char *, cp, tor_free(cp));
- smartlist_free(proxy_output);
- }
-
- return configuration_finished;
+ tor_assert(mp->process);
+ return mp->conf_state == PT_PROTO_COMPLETED;
}
/** Register server managed proxy <b>mp</b> transports to state */
@@ -748,8 +709,11 @@ managed_proxy_destroy(managed_proxy_t *mp,
/* free the outgoing proxy URI */
tor_free(mp->proxy_uri);
- tor_process_handle_destroy(mp->process_handle, also_terminate_process);
- mp->process_handle = NULL;
+ /* do we want to terminate our process if it's still running? */
+ if (also_terminate_process && mp->process)
+ process_terminate(mp->process);
+
+ process_free(mp->process);
tor_free(mp);
}
@@ -945,21 +909,12 @@ handle_proxy_line(const char *line, managed_proxy_t *mp)
parse_proxy_error(line);
goto err;
- } else if (!strcmpstart(line, SPAWN_ERROR_MESSAGE)) {
- /* managed proxy launch failed: parse error message to learn why. */
- int retval, child_state, saved_errno;
- retval = tor_sscanf(line, SPAWN_ERROR_MESSAGE "%x/%x",
- &child_state, &saved_errno);
- if (retval == 2) {
- log_warn(LD_GENERAL,
- "Could not launch managed proxy executable at '%s' ('%s').",
- mp->argv[0], strerror(saved_errno));
- } else { /* failed to parse error message */
- log_warn(LD_GENERAL,"Could not launch managed proxy executable at '%s'.",
- mp->argv[0]);
- }
- mp->conf_state = PT_PROTO_FAILED_LAUNCH;
+ /* We check for the additional " " after the PROTO_LOG string to make sure
+ * we can later extend this big if/else-if table with something that begins
+ * with "LOG" without having to get the order right. */
+ } else if (!strcmpstart(line, PROTO_LOG " ")) {
+ parse_log_line(line, mp);
return;
}
@@ -1182,6 +1137,31 @@ parse_proxy_error(const char *line)
line+strlen(PROTO_PROXY_ERROR)+1);
}
+/** Parses a LOG <b>line</b> and emit log events accordingly. */
+STATIC void
+parse_log_line(const char *line, managed_proxy_t *mp)
+{
+ tor_assert(line);
+ tor_assert(mp);
+
+ if (strlen(line) < (strlen(PROTO_LOG) + 1)) {
+ log_warn(LD_PT, "Managed proxy sent us a %s line "
+ "with missing argument.", PROTO_LOG);
+ goto done;
+ }
+
+ const char *message = line + strlen(PROTO_LOG) + 1;
+
+ log_info(LD_PT, "Managed proxy \"%s\" says: %s",
+ mp->argv[0], message);
+
+ /* Emit control port event. */
+ control_event_pt_log(mp->argv[0], message);
+
+ done:
+ return;
+}
+
/** Return a newly allocated string that tor should place in
* TOR_PT_SERVER_TRANSPORT_OPTIONS while configuring the server
* manged proxy in <b>mp</b>. Return NULL if no such options are found. */
@@ -1257,7 +1237,7 @@ get_bindaddr_for_server_proxy(const managed_proxy_t *mp)
/** Return a newly allocated process_environment_t * for <b>mp</b>'s
* process. */
-static process_environment_t *
+static smartlist_t *
create_managed_proxy_environment(const managed_proxy_t *mp)
{
const or_options_t *options = get_options();
@@ -1272,8 +1252,6 @@ create_managed_proxy_environment(const managed_proxy_t *mp)
/* The final environment to be passed to mp. */
smartlist_t *merged_env_vars = get_current_process_environment_variables();
- process_environment_t *env;
-
{
char *state_tmp = get_datadir_fname("pt_state/"); /* XXX temp */
smartlist_add_asprintf(envs, "TOR_PT_STATE_LOCATION=%s", state_tmp);
@@ -1366,14 +1344,9 @@ create_managed_proxy_environment(const managed_proxy_t *mp)
tor_free_, 1);
} SMARTLIST_FOREACH_END(env_var);
- env = process_environment_make(merged_env_vars);
-
smartlist_free(envs);
- SMARTLIST_FOREACH(merged_env_vars, void *, x, tor_free(x));
- smartlist_free(merged_env_vars);
-
- return env;
+ return merged_env_vars;
}
/** Create and return a new managed proxy for <b>transport</b> using
@@ -1392,6 +1365,7 @@ managed_proxy_create(const smartlist_t *with_transport_list,
mp->argv = proxy_argv;
mp->transports = smartlist_new();
mp->proxy_uri = get_pt_proxy_uri();
+ mp->process = process_new(proxy_argv[0]);
mp->transports_to_launch = smartlist_new();
SMARTLIST_FOREACH(with_transport_list, const char *, transport,
@@ -1736,3 +1710,72 @@ tor_escape_str_for_pt_args(const char *string, const char *chars_to_escape)
return new_string;
}
+
+/** Callback function that is called when our PT process have data on its
+ * stdout. Our process can be found in <b>process</b>, the data can be found in
+ * <b>line</b> and the length of our line is given in <b>size</b>. */
+STATIC void
+managed_proxy_stdout_callback(process_t *process,
+ const char *line,
+ size_t size)
+{
+ tor_assert(process);
+ tor_assert(line);
+
+ (void)size;
+
+ managed_proxy_t *mp = process_get_data(process);
+
+ handle_proxy_line(line, mp);
+
+ if (proxy_configuration_finished(mp)) {
+ handle_finished_proxy(mp);
+ tor_assert(mp->conf_state == PT_PROTO_COMPLETED);
+ }
+}
+
+/** Callback function that is called when our PT process have data on its
+ * stderr. Our process can be found in <b>process</b>, the data can be found in
+ * <b>line</b> and the length of our line is given in <b>size</b>. */
+STATIC void
+managed_proxy_stderr_callback(process_t *process,
+ const char *line,
+ size_t size)
+{
+ tor_assert(process);
+ tor_assert(line);
+
+ (void)size;
+
+ managed_proxy_t *mp = process_get_data(process);
+
+ log_warn(LD_PT, "Managed proxy at '%s' reported: %s", mp->argv[0], line);
+}
+
+/** Callback function that is called when our PT process terminates. The
+ * process exit code can be found in <b>exit_code</b> and our process can be
+ * found in <b>process</b>. Returns true iff we want the process subsystem to
+ * free our process_t handle for us. */
+STATIC bool
+managed_proxy_exit_callback(process_t *process, process_exit_code_t exit_code)
+{
+ tor_assert(process);
+
+ log_warn(LD_PT,
+ "Pluggable Transport process terminated with status code %" PRIu64,
+ exit_code);
+
+ /* We detach ourself from the MP (if we are attached) and free ourself. */
+ managed_proxy_t *mp = process_get_data(process);
+
+ /* If we are still attached to the process, it is probably because our PT
+ * process crashed before we got to call process_set_data(p, NULL); */
+ if (BUG(mp != NULL)) {
+ /* FIXME(ahf): Our process stopped without us having told it to stop
+ * (crashed). Should we restart it here? */
+ mp->process = NULL;
+ process_set_data(process, NULL);
+ }
+
+ return true;
+}
diff --git a/src/feature/client/transports.h b/src/feature/client/transports.h
index d304dcd485..a3994a0099 100644
--- a/src/feature/client/transports.h
+++ b/src/feature/client/transports.h
@@ -11,6 +11,8 @@
#ifndef TOR_TRANSPORTS_H
#define TOR_TRANSPORTS_H
+#include "lib/process/process.h"
+
/** Represents a pluggable transport used by a bridge. */
typedef struct transport_t {
/** SOCKS version: One of PROXY_SOCKS4, PROXY_SOCKS5. */
@@ -81,7 +83,7 @@ enum pt_proto_state {
PT_PROTO_FAILED_LAUNCH /* failed while launching */
};
-struct process_handle_t;
+struct process_t;
/** Structure containing information of a managed proxy. */
typedef struct {
@@ -94,10 +96,8 @@ typedef struct {
int is_server; /* is it a server proxy? */
- /* A pointer to the process handle of this managed proxy. */
- struct process_handle_t *process_handle;
-
- int pid; /* The Process ID this managed proxy is using. */
+ /* A pointer to the process of this managed proxy. */
+ struct process_t *process;
/** Boolean: We are re-parsing our config, and we are going to
* remove this managed proxy if we don't find it any transport
@@ -128,6 +128,7 @@ STATIC int parse_version(const char *line, managed_proxy_t *mp);
STATIC void parse_env_error(const char *line);
STATIC void parse_proxy_error(const char *line);
STATIC void handle_proxy_line(const char *line, managed_proxy_t *mp);
+STATIC void parse_log_line(const char *line, managed_proxy_t *mp);
STATIC char *get_transport_options_for_server_proxy(const managed_proxy_t *mp);
STATIC void managed_proxy_destroy(managed_proxy_t *mp,
@@ -142,6 +143,10 @@ STATIC char* get_pt_proxy_uri(void);
STATIC void free_execve_args(char **arg);
+STATIC void managed_proxy_stdout_callback(process_t *, const char *, size_t);
+STATIC void managed_proxy_stderr_callback(process_t *, const char *, size_t);
+STATIC bool managed_proxy_exit_callback(process_t *, process_exit_code_t);
+
#endif /* defined(PT_PRIVATE) */
#endif /* !defined(TOR_TRANSPORTS_H) */
diff --git a/src/feature/control/control.c b/src/feature/control/control.c
index f0db97dc89..7fae3b7a1b 100644
--- a/src/feature/control/control.c
+++ b/src/feature/control/control.c
@@ -87,11 +87,12 @@
#include "feature/rend/rendservice.h"
#include "feature/stats/geoip_stats.h"
#include "feature/stats/predict_ports.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/crypt_ops/crypto_util.h"
#include "lib/encoding/confline.h"
#include "lib/evloop/compat_libevent.h"
+#include "lib/version/torversion.h"
#include "feature/dircache/cached_dir_st.h"
#include "feature/control/control_connection_st.h"
@@ -178,13 +179,6 @@ static uint8_t *authentication_cookie = NULL;
*/
static smartlist_t *detached_onion_services = NULL;
-/** A sufficiently large size to record the last bootstrap phase string. */
-#define BOOTSTRAP_MSG_LEN 1024
-
-/** What was the last bootstrap phase message we sent? We keep track
- * of this so we can respond to getinfo status/bootstrap-phase queries. */
-static char last_sent_bootstrap_message[BOOTSTRAP_MSG_LEN];
-
static void connection_printf_to_buf(control_connection_t *conn,
const char *format, ...)
CHECK_PRINTF(2,3);
@@ -367,7 +361,7 @@ control_update_global_event_mask(void)
control_get_bytes_rw_last_sec(&r, &w);
}
if (any_old_per_sec_events != control_any_per_second_event_enabled()) {
- reschedule_per_second_timer();
+ rescan_periodic_events(get_options());
}
#undef NEWLY_ENABLED
@@ -1680,6 +1674,8 @@ static const struct signal_t signal_table[] = {
{ SIGNEWNYM, "NEWNYM" },
{ SIGCLEARDNSCACHE, "CLEARDNSCACHE"},
{ SIGHEARTBEAT, "HEARTBEAT"},
+ { SIGACTIVE, "ACTIVE" },
+ { SIGDORMANT, "DORMANT" },
{ 0, NULL },
};
@@ -2352,7 +2348,11 @@ getinfo_helper_dir(control_connection_t *control_conn,
*answer = tor_strdup(consensus->dir);
}
if (!*answer) { /* try loading it from disk */
- *answer = networkstatus_read_cached_consensus("ns");
+ tor_mmap_t *mapped = networkstatus_map_cached_consensus("ns");
+ if (mapped) {
+ *answer = tor_memdup_nulterm(mapped->data, mapped->size);
+ tor_munmap_file(mapped);
+ }
if (!*answer) { /* generate an error */
*errmsg = "Could not open cached consensus. "
"Make sure FetchUselessDescriptors is set to 1.";
@@ -3037,7 +3037,7 @@ getinfo_helper_events(control_connection_t *control_conn,
check_whether_orport_reachable(options) ? 1 : 0,
check_whether_dirport_reachable(options) ? 1 : 0);
} else if (!strcmp(question, "status/bootstrap-phase")) {
- *answer = tor_strdup(last_sent_bootstrap_message);
+ *answer = control_event_boot_last_msg();
} else if (!strcmpstart(question, "status/version/")) {
int is_server = server_mode(options);
networkstatus_t *c = networkstatus_get_latest_consensus();
@@ -7008,361 +7008,6 @@ monitor_owning_controller_process(const char *process_spec)
}
}
-/** Convert the name of a bootstrapping phase <b>s</b> into strings
- * <b>tag</b> and <b>summary</b> suitable for display by the controller. */
-static int
-bootstrap_status_to_string(bootstrap_status_t s, const char **tag,
- const char **summary)
-{
- switch (s) {
- case BOOTSTRAP_STATUS_UNDEF:
- *tag = "undef";
- *summary = "Undefined";
- break;
- case BOOTSTRAP_STATUS_STARTING:
- *tag = "starting";
- *summary = "Starting";
- break;
- case BOOTSTRAP_STATUS_CONN_DIR:
- *tag = "conn_dir";
- *summary = "Connecting to directory server";
- break;
- case BOOTSTRAP_STATUS_HANDSHAKE:
- *tag = "status_handshake";
- *summary = "Finishing handshake";
- break;
- case BOOTSTRAP_STATUS_HANDSHAKE_DIR:
- *tag = "handshake_dir";
- *summary = "Finishing handshake with directory server";
- break;
- case BOOTSTRAP_STATUS_ONEHOP_CREATE:
- *tag = "onehop_create";
- *summary = "Establishing an encrypted directory connection";
- break;
- case BOOTSTRAP_STATUS_REQUESTING_STATUS:
- *tag = "requesting_status";
- *summary = "Asking for networkstatus consensus";
- break;
- case BOOTSTRAP_STATUS_LOADING_STATUS:
- *tag = "loading_status";
- *summary = "Loading networkstatus consensus";
- break;
- case BOOTSTRAP_STATUS_LOADING_KEYS:
- *tag = "loading_keys";
- *summary = "Loading authority key certs";
- break;
- case BOOTSTRAP_STATUS_REQUESTING_DESCRIPTORS:
- *tag = "requesting_descriptors";
- /* XXXX this appears to incorrectly report internal on most loads */
- *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ?
- "Asking for relay descriptors for internal paths" :
- "Asking for relay descriptors";
- break;
- /* If we're sure there are no exits in the consensus,
- * inform the controller by adding "internal"
- * to the status summaries.
- * (We only check this while loading descriptors,
- * so we may not know in the earlier stages.)
- * But if there are exits, we can't be sure whether
- * we're creating internal or exit paths/circuits.
- * XXXX Or should be use different tags or statuses
- * for internal and exit/all? */
- case BOOTSTRAP_STATUS_LOADING_DESCRIPTORS:
- *tag = "loading_descriptors";
- *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ?
- "Loading relay descriptors for internal paths" :
- "Loading relay descriptors";
- break;
- case BOOTSTRAP_STATUS_CONN_OR:
- *tag = "conn_or";
- *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ?
- "Connecting to the Tor network internally" :
- "Connecting to the Tor network";
- break;
- case BOOTSTRAP_STATUS_HANDSHAKE_OR:
- *tag = "handshake_or";
- *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ?
- "Finishing handshake with first hop of internal circuit" :
- "Finishing handshake with first hop";
- break;
- case BOOTSTRAP_STATUS_CIRCUIT_CREATE:
- *tag = "circuit_create";
- *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ?
- "Establishing an internal Tor circuit" :
- "Establishing a Tor circuit";
- break;
- case BOOTSTRAP_STATUS_DONE:
- *tag = "done";
- *summary = "Done";
- break;
- default:
-// log_warn(LD_BUG, "Unrecognized bootstrap status code %d", s);
- *tag = *summary = "unknown";
- return -1;
- }
- return 0;
-}
-
-/** What percentage through the bootstrap process are we? We remember
- * this so we can avoid sending redundant bootstrap status events, and
- * so we can guess context for the bootstrap messages which are
- * ambiguous. It starts at 'undef', but gets set to 'starting' while
- * Tor initializes. */
-static int bootstrap_percent = BOOTSTRAP_STATUS_UNDEF;
-
-/** Like bootstrap_percent, but only takes on the enumerated values in
- * bootstrap_status_t.
- */
-static int bootstrap_phase = BOOTSTRAP_STATUS_UNDEF;
-
-/** As bootstrap_percent, but holds the bootstrapping level at which we last
- * logged a NOTICE-level message. We use this, plus BOOTSTRAP_PCT_INCREMENT,
- * to avoid flooding the log with a new message every time we get a few more
- * microdescriptors */
-static int notice_bootstrap_percent = 0;
-
-/** How many problems have we had getting to the next bootstrapping phase?
- * These include failure to establish a connection to a Tor relay,
- * failures to finish the TLS handshake, failures to validate the
- * consensus document, etc. */
-static int bootstrap_problems = 0;
-
-/** We only tell the controller once we've hit a threshold of problems
- * for the current phase. */
-#define BOOTSTRAP_PROBLEM_THRESHOLD 10
-
-/** When our bootstrapping progress level changes, but our bootstrapping
- * status has not advanced, we only log at NOTICE when we have made at least
- * this much progress.
- */
-#define BOOTSTRAP_PCT_INCREMENT 5
-
-/** Do the actual logging and notifications for
- * control_event_bootstrap(). Doesn't change any state beyond that.
- */
-static void
-control_event_bootstrap_core(int loglevel, bootstrap_status_t status,
- int progress)
-{
- char buf[BOOTSTRAP_MSG_LEN];
- const char *tag, *summary;
-
- bootstrap_status_to_string(status, &tag, &summary);
- /* Locally reset status if there's incremental progress */
- if (progress)
- status = progress;
-
- tor_log(loglevel, LD_CONTROL,
- "Bootstrapped %d%%: %s", status, summary);
- tor_snprintf(buf, sizeof(buf),
- "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\"",
- status, tag, summary);
- tor_snprintf(last_sent_bootstrap_message,
- sizeof(last_sent_bootstrap_message),
- "NOTICE %s", buf);
- control_event_client_status(LOG_NOTICE, "%s", buf);
-}
-
-/** Called when Tor has made progress at bootstrapping its directory
- * information and initial circuits.
- *
- * <b>status</b> is the new status, that is, what task we will be doing
- * next. <b>progress</b> is zero if we just started this task, else it
- * represents progress on the task.
- */
-void
-control_event_bootstrap(bootstrap_status_t status, int progress)
-{
- int loglevel = LOG_NOTICE;
-
- if (bootstrap_percent == BOOTSTRAP_STATUS_DONE)
- return; /* already bootstrapped; nothing to be done here. */
-
- /* special case for handshaking status, since our TLS handshaking code
- * can't distinguish what the connection is going to be for. */
- if (status == BOOTSTRAP_STATUS_HANDSHAKE) {
- if (bootstrap_percent < BOOTSTRAP_STATUS_CONN_OR) {
- status = BOOTSTRAP_STATUS_HANDSHAKE_DIR;
- } else {
- status = BOOTSTRAP_STATUS_HANDSHAKE_OR;
- }
- }
-
- if (status <= bootstrap_percent) {
- /* If there's no new progress, return early. */
- if (!progress || progress <= bootstrap_percent)
- return;
- /* Log at INFO if not enough progress happened. */
- if (progress < notice_bootstrap_percent + BOOTSTRAP_PCT_INCREMENT)
- loglevel = LOG_INFO;
- }
-
- control_event_bootstrap_core(loglevel, status, progress);
-
- if (status > bootstrap_percent) {
- bootstrap_phase = status; /* new milestone reached */
- bootstrap_percent = status;
- }
- if (progress > bootstrap_percent) {
- /* incremental progress within a milestone */
- bootstrap_percent = progress;
- bootstrap_problems = 0; /* Progress! Reset our problem counter. */
- }
- if (loglevel == LOG_NOTICE &&
- bootstrap_percent > notice_bootstrap_percent) {
- /* Remember that we gave a notice at this level. */
- notice_bootstrap_percent = bootstrap_percent;
- }
-}
-
-/** Flag whether we've opened an OR_CONN yet */
-static int bootstrap_first_orconn = 0;
-
-/** Like bootstrap_phase, but for (possibly deferred) directory progress */
-static int bootstrap_dir_phase = BOOTSTRAP_STATUS_UNDEF;
-
-/** Like bootstrap_problems, but for (possibly deferred) directory progress */
-static int bootstrap_dir_progress = BOOTSTRAP_STATUS_UNDEF;
-
-/** Defer directory info bootstrap events until we have successfully
- * completed our first connection to a router. */
-void
-control_event_boot_dir(bootstrap_status_t status, int progress)
-{
- if (status > bootstrap_dir_progress) {
- bootstrap_dir_progress = status;
- bootstrap_dir_phase = status;
- }
- if (progress && progress >= bootstrap_dir_progress) {
- bootstrap_dir_progress = progress;
- }
-
- /* Don't report unless we have successfully opened at least one OR_CONN */
- if (!bootstrap_first_orconn)
- return;
-
- control_event_bootstrap(status, progress);
-}
-
-/** Set a flag to allow reporting of directory bootstrap progress.
- * (Code that reports completion of an OR_CONN calls this.) Also,
- * report directory progress so far. */
-void
-control_event_boot_first_orconn(void)
-{
- bootstrap_first_orconn = 1;
- control_event_bootstrap(bootstrap_dir_phase, bootstrap_dir_progress);
-}
-
-/** Called when Tor has failed to make bootstrapping progress in a way
- * that indicates a problem. <b>warn</b> gives a human-readable hint
- * as to why, and <b>reason</b> provides a controller-facing short
- * tag. <b>conn</b> is the connection that caused this problem and
- * can be NULL if a connection cannot be easily identified.
- */
-void
-control_event_bootstrap_problem(const char *warn, const char *reason,
- const connection_t *conn, int dowarn)
-{
- int status = bootstrap_percent;
- const char *tag = "", *summary = "";
- char buf[BOOTSTRAP_MSG_LEN];
- const char *recommendation = "ignore";
- int severity;
- char *or_id = NULL, *hostaddr = NULL;
- or_connection_t *or_conn = NULL;
-
- /* bootstrap_percent must not be in "undefined" state here. */
- tor_assert(status >= 0);
-
- if (bootstrap_percent == 100)
- return; /* already bootstrapped; nothing to be done here. */
-
- bootstrap_problems++;
-
- if (bootstrap_problems >= BOOTSTRAP_PROBLEM_THRESHOLD)
- dowarn = 1;
-
- /* Don't warn about our bootstrapping status if we are hibernating or
- * shutting down. */
- if (we_are_hibernating())
- dowarn = 0;
-
- tor_assert(bootstrap_status_to_string(bootstrap_phase, &tag, &summary) == 0);
-
- severity = dowarn ? LOG_WARN : LOG_INFO;
-
- if (dowarn)
- recommendation = "warn";
-
- if (conn && conn->type == CONN_TYPE_OR) {
- /* XXX TO_OR_CONN can't deal with const */
- or_conn = TO_OR_CONN((connection_t *)conn);
- or_id = tor_strdup(hex_str(or_conn->identity_digest, DIGEST_LEN));
- } else {
- or_id = tor_strdup("?");
- }
-
- if (conn)
- tor_asprintf(&hostaddr, "%s:%d", conn->address, (int)conn->port);
- else
- hostaddr = tor_strdup("?");
-
- log_fn(severity,
- LD_CONTROL, "Problem bootstrapping. Stuck at %d%%: %s. (%s; %s; "
- "count %d; recommendation %s; host %s at %s)",
- status, summary, warn, reason,
- bootstrap_problems, recommendation,
- or_id, hostaddr);
-
- connection_or_report_broken_states(severity, LD_HANDSHAKE);
-
- tor_snprintf(buf, sizeof(buf),
- "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\" WARNING=\"%s\" REASON=%s "
- "COUNT=%d RECOMMENDATION=%s HOSTID=\"%s\" HOSTADDR=\"%s\"",
- bootstrap_percent, tag, summary, warn, reason, bootstrap_problems,
- recommendation,
- or_id, hostaddr);
-
- tor_snprintf(last_sent_bootstrap_message,
- sizeof(last_sent_bootstrap_message),
- "WARN %s", buf);
- control_event_client_status(LOG_WARN, "%s", buf);
-
- tor_free(hostaddr);
- tor_free(or_id);
-}
-
-/** Called when Tor has failed to make bootstrapping progress in a way
- * that indicates a problem. <b>warn</b> gives a hint as to why, and
- * <b>reason</b> provides an "or_conn_end_reason" tag. <b>or_conn</b>
- * is the connection that caused this problem.
- */
-MOCK_IMPL(void,
-control_event_bootstrap_prob_or, (const char *warn, int reason,
- or_connection_t *or_conn))
-{
- int dowarn = 0;
-
- if (or_conn->have_noted_bootstrap_problem)
- return;
-
- or_conn->have_noted_bootstrap_problem = 1;
-
- if (reason == END_OR_CONN_REASON_NO_ROUTE)
- dowarn = 1;
-
- /* If we are using bridges and all our OR connections are now
- closed, it means that we totally failed to connect to our
- bridges. Throw a warning. */
- if (get_options()->UseBridges && !any_other_active_or_conns(or_conn))
- dowarn = 1;
-
- control_event_bootstrap_problem(warn,
- orconn_end_reason_to_control_string(reason),
- TO_CONN(or_conn), dowarn);
-}
-
/** We just generated a new summary of which countries we've seen clients
* from recently. Send a copy to the controller in case it wants to
* display it for the user. */
@@ -7388,6 +7033,17 @@ control_event_transport_launched(const char *mode, const char *transport_name,
mode, transport_name, fmt_addr(addr), port);
}
+/** A pluggable transport called <b>pt_name</b> has emitted a log
+ * message found in <b>message</b>. */
+void
+control_event_pt_log(const char *pt_name, const char *message)
+{
+ send_control_event(EVENT_PT_LOG,
+ "650 PT_LOG %s %s\r\n",
+ pt_name,
+ message);
+}
+
/** Convert rendezvous auth type to string for HS_DESC control events
*/
const char *
@@ -7879,13 +7535,10 @@ control_free_all(void)
mainloop_event_free(flush_queued_events_event);
flush_queued_events_event = NULL;
}
- bootstrap_percent = BOOTSTRAP_STATUS_UNDEF;
- notice_bootstrap_percent = 0;
- bootstrap_problems = 0;
+ control_event_bootstrap_reset();
authentication_cookie_is_set = 0;
global_event_mask = 0;
disable_log_messages = 0;
- memset(last_sent_bootstrap_message, 0, sizeof(last_sent_bootstrap_message));
}
#ifdef TOR_UNIT_TESTS
diff --git a/src/feature/control/control.h b/src/feature/control/control.h
index cd5402d455..a1609b0f06 100644
--- a/src/feature/control/control.h
+++ b/src/feature/control/control.h
@@ -200,11 +200,14 @@ void control_event_boot_dir(bootstrap_status_t status, int progress);
void control_event_boot_first_orconn(void);
void control_event_bootstrap_problem(const char *warn, const char *reason,
const connection_t *conn, int dowarn);
+char *control_event_boot_last_msg(void);
+void control_event_bootstrap_reset(void);
void control_event_clients_seen(const char *controller_str);
void control_event_transport_launched(const char *mode,
const char *transport_name,
tor_addr_t *addr, uint16_t port);
+void control_event_pt_log(const char *pt_name, const char *message);
const char *rend_auth_type_to_string(rend_auth_type_t auth_type);
MOCK_DECL(const char *, node_describe_longname_by_id,(const char *id_digest));
void control_event_hs_descriptor_requested(const char *onion_address,
@@ -293,7 +296,8 @@ void control_free_all(void);
#define EVENT_HS_DESC 0x0021
#define EVENT_HS_DESC_CONTENT 0x0022
#define EVENT_NETWORK_LIVENESS 0x0023
-#define EVENT_MAX_ 0x0023
+#define EVENT_PT_LOG 0x0024
+#define EVENT_MAX_ 0x0024
/* sizeof(control_connection_t.event_mask) in bits, currently a uint64_t */
#define EVENT_CAPACITY_ 0x0040
diff --git a/src/feature/control/control_bootstrap.c b/src/feature/control/control_bootstrap.c
new file mode 100644
index 0000000000..0756e208e0
--- /dev/null
+++ b/src/feature/control/control_bootstrap.c
@@ -0,0 +1,358 @@
+/* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file control_bootstrap.c
+ * \brief Provide bootstrap progress events for the control port.
+ */
+#include "core/or/or.h"
+
+#include "app/config/config.h"
+#include "core/mainloop/connection.h"
+#include "core/or/connection_or.h"
+#include "core/or/connection_st.h"
+#include "core/or/or_connection_st.h"
+#include "core/or/reasons.h"
+#include "feature/control/control.h"
+#include "feature/hibernate/hibernate.h"
+#include "lib/malloc/malloc.h"
+
+/** A sufficiently large size to record the last bootstrap phase string. */
+#define BOOTSTRAP_MSG_LEN 1024
+
+/** What was the last bootstrap phase message we sent? We keep track
+ * of this so we can respond to getinfo status/bootstrap-phase queries. */
+static char last_sent_bootstrap_message[BOOTSTRAP_MSG_LEN];
+
+/** Table to convert bootstrap statuses to strings. */
+static const struct {
+ bootstrap_status_t status;
+ const char *tag;
+ const char *summary;
+} boot_to_str_tab[] = {
+ { BOOTSTRAP_STATUS_UNDEF, "undef", "Undefined" },
+ { BOOTSTRAP_STATUS_STARTING, "starting", "Starting" },
+ { BOOTSTRAP_STATUS_CONN_DIR, "conn_dir", "Connecting to directory server" },
+ { BOOTSTRAP_STATUS_HANDSHAKE, "status_handshake", "Finishing handshake" },
+ { BOOTSTRAP_STATUS_HANDSHAKE_DIR, "handshake_dir",
+ "Finishing handshake with directory server" },
+ { BOOTSTRAP_STATUS_ONEHOP_CREATE, "onehop_create",
+ "Establishing an encrypted directory connection" },
+ { BOOTSTRAP_STATUS_REQUESTING_STATUS, "requesting_status",
+ "Asking for networkstatus consensus" },
+ { BOOTSTRAP_STATUS_LOADING_STATUS, "loading_status",
+ "Loading networkstatus consensus" },
+ { BOOTSTRAP_STATUS_LOADING_KEYS, "loading_keys",
+ "Loading authority key certs" },
+ { BOOTSTRAP_STATUS_REQUESTING_DESCRIPTORS, "requesting_descriptors",
+ "Asking for relay descriptors" },
+ { BOOTSTRAP_STATUS_LOADING_DESCRIPTORS, "loading_descriptors",
+ "Loading relay descriptors" },
+ { BOOTSTRAP_STATUS_CONN_OR, "conn_or", "Connecting to the Tor network" },
+ { BOOTSTRAP_STATUS_HANDSHAKE_OR, "handshake_or",
+ "Finishing handshake with first hop" },
+ { BOOTSTRAP_STATUS_CIRCUIT_CREATE, "circuit_create",
+ "Establishing a Tor circuit" },
+ { BOOTSTRAP_STATUS_DONE, "done", "Done" },
+};
+#define N_BOOT_TO_STR (sizeof(boot_to_str_tab)/sizeof(boot_to_str_tab[0]))
+
+/** Convert the name of a bootstrapping phase <b>s</b> into strings
+ * <b>tag</b> and <b>summary</b> suitable for display by the controller. */
+static int
+bootstrap_status_to_string(bootstrap_status_t s, const char **tag,
+ const char **summary)
+{
+ for (size_t i = 0; i < N_BOOT_TO_STR; i++) {
+ if (s == boot_to_str_tab[i].status) {
+ *tag = boot_to_str_tab[i].tag;
+ *summary = boot_to_str_tab[i].summary;
+ return 0;
+ }
+ }
+
+ *tag = *summary = "unknown";
+ return -1;
+}
+
+/** What percentage through the bootstrap process are we? We remember
+ * this so we can avoid sending redundant bootstrap status events, and
+ * so we can guess context for the bootstrap messages which are
+ * ambiguous. It starts at 'undef', but gets set to 'starting' while
+ * Tor initializes. */
+static int bootstrap_percent = BOOTSTRAP_STATUS_UNDEF;
+
+/** Like bootstrap_percent, but only takes on the enumerated values in
+ * bootstrap_status_t.
+ */
+static int bootstrap_phase = BOOTSTRAP_STATUS_UNDEF;
+
+/** As bootstrap_percent, but holds the bootstrapping level at which we last
+ * logged a NOTICE-level message. We use this, plus BOOTSTRAP_PCT_INCREMENT,
+ * to avoid flooding the log with a new message every time we get a few more
+ * microdescriptors */
+static int notice_bootstrap_percent = 0;
+
+/** How many problems have we had getting to the next bootstrapping phase?
+ * These include failure to establish a connection to a Tor relay,
+ * failures to finish the TLS handshake, failures to validate the
+ * consensus document, etc. */
+static int bootstrap_problems = 0;
+
+/** We only tell the controller once we've hit a threshold of problems
+ * for the current phase. */
+#define BOOTSTRAP_PROBLEM_THRESHOLD 10
+
+/** When our bootstrapping progress level changes, but our bootstrapping
+ * status has not advanced, we only log at NOTICE when we have made at least
+ * this much progress.
+ */
+#define BOOTSTRAP_PCT_INCREMENT 5
+
+/** Do the actual logging and notifications for
+ * control_event_bootstrap(). Doesn't change any state beyond that.
+ */
+static void
+control_event_bootstrap_core(int loglevel, bootstrap_status_t status,
+ int progress)
+{
+ char buf[BOOTSTRAP_MSG_LEN];
+ const char *tag, *summary;
+
+ bootstrap_status_to_string(status, &tag, &summary);
+ /* Locally reset status if there's incremental progress */
+ if (progress)
+ status = progress;
+
+ tor_log(loglevel, LD_CONTROL,
+ "Bootstrapped %d%% (%s): %s", status, tag, summary);
+ tor_snprintf(buf, sizeof(buf),
+ "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\"",
+ status, tag, summary);
+ tor_snprintf(last_sent_bootstrap_message,
+ sizeof(last_sent_bootstrap_message),
+ "NOTICE %s", buf);
+ control_event_client_status(LOG_NOTICE, "%s", buf);
+}
+
+/** Called when Tor has made progress at bootstrapping its directory
+ * information and initial circuits.
+ *
+ * <b>status</b> is the new status, that is, what task we will be doing
+ * next. <b>progress</b> is zero if we just started this task, else it
+ * represents progress on the task.
+ */
+void
+control_event_bootstrap(bootstrap_status_t status, int progress)
+{
+ int loglevel = LOG_NOTICE;
+
+ if (bootstrap_percent == BOOTSTRAP_STATUS_DONE)
+ return; /* already bootstrapped; nothing to be done here. */
+
+ /* special case for handshaking status, since our TLS handshaking code
+ * can't distinguish what the connection is going to be for. */
+ if (status == BOOTSTRAP_STATUS_HANDSHAKE) {
+ if (bootstrap_percent < BOOTSTRAP_STATUS_CONN_OR) {
+ status = BOOTSTRAP_STATUS_HANDSHAKE_DIR;
+ } else {
+ status = BOOTSTRAP_STATUS_HANDSHAKE_OR;
+ }
+ }
+
+ if (status <= bootstrap_percent) {
+ /* If there's no new progress, return early. */
+ if (!progress || progress <= bootstrap_percent)
+ return;
+ /* Log at INFO if not enough progress happened. */
+ if (progress < notice_bootstrap_percent + BOOTSTRAP_PCT_INCREMENT)
+ loglevel = LOG_INFO;
+ }
+
+ control_event_bootstrap_core(loglevel, status, progress);
+
+ if (status > bootstrap_percent) {
+ bootstrap_phase = status; /* new milestone reached */
+ bootstrap_percent = status;
+ }
+ if (progress > bootstrap_percent) {
+ /* incremental progress within a milestone */
+ bootstrap_percent = progress;
+ bootstrap_problems = 0; /* Progress! Reset our problem counter. */
+ }
+ if (loglevel == LOG_NOTICE &&
+ bootstrap_percent > notice_bootstrap_percent) {
+ /* Remember that we gave a notice at this level. */
+ notice_bootstrap_percent = bootstrap_percent;
+ }
+}
+
+/** Flag whether we've opened an OR_CONN yet */
+static int bootstrap_first_orconn = 0;
+
+/** Like bootstrap_phase, but for (possibly deferred) directory progress */
+static int bootstrap_dir_phase = BOOTSTRAP_STATUS_UNDEF;
+
+/** Like bootstrap_problems, but for (possibly deferred) directory progress */
+static int bootstrap_dir_progress = BOOTSTRAP_STATUS_UNDEF;
+
+/** Defer directory info bootstrap events until we have successfully
+ * completed our first connection to a router. */
+void
+control_event_boot_dir(bootstrap_status_t status, int progress)
+{
+ if (status > bootstrap_dir_progress) {
+ bootstrap_dir_progress = status;
+ bootstrap_dir_phase = status;
+ }
+ if (progress && progress >= bootstrap_dir_progress) {
+ bootstrap_dir_progress = progress;
+ }
+
+ /* Don't report unless we have successfully opened at least one OR_CONN */
+ if (!bootstrap_first_orconn)
+ return;
+
+ control_event_bootstrap(status, progress);
+}
+
+/** Set a flag to allow reporting of directory bootstrap progress.
+ * (Code that reports completion of an OR_CONN calls this.) Also,
+ * report directory progress so far. */
+void
+control_event_boot_first_orconn(void)
+{
+ bootstrap_first_orconn = 1;
+ control_event_bootstrap(bootstrap_dir_phase, bootstrap_dir_progress);
+}
+
+/** Called when Tor has failed to make bootstrapping progress in a way
+ * that indicates a problem. <b>warn</b> gives a human-readable hint
+ * as to why, and <b>reason</b> provides a controller-facing short
+ * tag. <b>conn</b> is the connection that caused this problem and
+ * can be NULL if a connection cannot be easily identified.
+ */
+void
+control_event_bootstrap_problem(const char *warn, const char *reason,
+ const connection_t *conn, int dowarn)
+{
+ int status = bootstrap_percent;
+ const char *tag = "", *summary = "";
+ char buf[BOOTSTRAP_MSG_LEN];
+ const char *recommendation = "ignore";
+ int severity;
+ char *or_id = NULL, *hostaddr = NULL;
+ or_connection_t *or_conn = NULL;
+
+ /* bootstrap_percent must not be in "undefined" state here. */
+ tor_assert(status >= 0);
+
+ if (bootstrap_percent == 100)
+ return; /* already bootstrapped; nothing to be done here. */
+
+ bootstrap_problems++;
+
+ if (bootstrap_problems >= BOOTSTRAP_PROBLEM_THRESHOLD)
+ dowarn = 1;
+
+ /* Don't warn about our bootstrapping status if we are hibernating or
+ * shutting down. */
+ if (we_are_hibernating())
+ dowarn = 0;
+
+ tor_assert(bootstrap_status_to_string(bootstrap_phase, &tag, &summary) == 0);
+
+ severity = dowarn ? LOG_WARN : LOG_INFO;
+
+ if (dowarn)
+ recommendation = "warn";
+
+ if (conn && conn->type == CONN_TYPE_OR) {
+ /* XXX TO_OR_CONN can't deal with const */
+ or_conn = TO_OR_CONN((connection_t *)conn);
+ or_id = tor_strdup(hex_str(or_conn->identity_digest, DIGEST_LEN));
+ } else {
+ or_id = tor_strdup("?");
+ }
+
+ if (conn)
+ tor_asprintf(&hostaddr, "%s:%d", conn->address, (int)conn->port);
+ else
+ hostaddr = tor_strdup("?");
+
+ log_fn(severity,
+ LD_CONTROL, "Problem bootstrapping. Stuck at %d%% (%s): %s. (%s; %s; "
+ "count %d; recommendation %s; host %s at %s)",
+ status, tag, summary, warn, reason,
+ bootstrap_problems, recommendation,
+ or_id, hostaddr);
+
+ connection_or_report_broken_states(severity, LD_HANDSHAKE);
+
+ tor_snprintf(buf, sizeof(buf),
+ "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\" WARNING=\"%s\" REASON=%s "
+ "COUNT=%d RECOMMENDATION=%s HOSTID=\"%s\" HOSTADDR=\"%s\"",
+ bootstrap_percent, tag, summary, warn, reason, bootstrap_problems,
+ recommendation,
+ or_id, hostaddr);
+
+ tor_snprintf(last_sent_bootstrap_message,
+ sizeof(last_sent_bootstrap_message),
+ "WARN %s", buf);
+ control_event_client_status(LOG_WARN, "%s", buf);
+
+ tor_free(hostaddr);
+ tor_free(or_id);
+}
+
+/** Called when Tor has failed to make bootstrapping progress in a way
+ * that indicates a problem. <b>warn</b> gives a hint as to why, and
+ * <b>reason</b> provides an "or_conn_end_reason" tag. <b>or_conn</b>
+ * is the connection that caused this problem.
+ */
+MOCK_IMPL(void,
+control_event_bootstrap_prob_or, (const char *warn, int reason,
+ or_connection_t *or_conn))
+{
+ int dowarn = 0;
+
+ if (or_conn->have_noted_bootstrap_problem)
+ return;
+
+ or_conn->have_noted_bootstrap_problem = 1;
+
+ if (reason == END_OR_CONN_REASON_NO_ROUTE)
+ dowarn = 1;
+
+ /* If we are using bridges and all our OR connections are now
+ closed, it means that we totally failed to connect to our
+ bridges. Throw a warning. */
+ if (get_options()->UseBridges && !any_other_active_or_conns(or_conn))
+ dowarn = 1;
+
+ control_event_bootstrap_problem(warn,
+ orconn_end_reason_to_control_string(reason),
+ TO_CONN(or_conn), dowarn);
+}
+
+/** Return a copy of the last sent bootstrap message. */
+char *
+control_event_boot_last_msg(void)
+{
+ return tor_strdup(last_sent_bootstrap_message);
+}
+
+/** Reset bootstrap tracking state. */
+void
+control_event_bootstrap_reset(void)
+{
+ bootstrap_percent = BOOTSTRAP_STATUS_UNDEF;
+ bootstrap_phase = BOOTSTRAP_STATUS_UNDEF;
+ notice_bootstrap_percent = 0;
+ bootstrap_problems = 0;
+ bootstrap_first_orconn = 0;
+ bootstrap_dir_progress = BOOTSTRAP_STATUS_UNDEF;
+ bootstrap_dir_phase = BOOTSTRAP_STATUS_UNDEF;
+ memset(last_sent_bootstrap_message, 0, sizeof(last_sent_bootstrap_message));
+}
diff --git a/src/feature/dirauth/dirvote.c b/src/feature/dirauth/dirvote.c
index 80a5b54737..d8a18835f2 100644
--- a/src/feature/dirauth/dirvote.c
+++ b/src/feature/dirauth/dirvote.c
@@ -28,6 +28,7 @@
#include "feature/nodelist/fmt_routerstatus.h"
#include "feature/nodelist/microdesc.h"
#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/routerlist.h"
#include "feature/relay/router.h"
@@ -413,7 +414,8 @@ format_networkstatus_vote(crypto_pk_t *private_signing_key,
{
networkstatus_t *v;
- if (!(v = networkstatus_parse_vote_from_string(status, NULL,
+ if (!(v = networkstatus_parse_vote_from_string(status, strlen(status),
+ NULL,
v3_ns->type))) {
log_err(LD_BUG,"Generated a networkstatus %s we couldn't parse: "
"<<%s>>",
@@ -2410,7 +2412,8 @@ networkstatus_compute_consensus(smartlist_t *votes,
{
networkstatus_t *c;
- if (!(c = networkstatus_parse_vote_from_string(result, NULL,
+ if (!(c = networkstatus_parse_vote_from_string(result, strlen(result),
+ NULL,
NS_TYPE_CONSENSUS))) {
log_err(LD_BUG, "Generated a networkstatus consensus we couldn't "
"parse.");
@@ -3133,7 +3136,8 @@ dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out)
*msg_out = NULL;
again:
- vote = networkstatus_parse_vote_from_string(vote_body, &end_of_vote,
+ vote = networkstatus_parse_vote_from_string(vote_body, strlen(vote_body),
+ &end_of_vote,
NS_TYPE_VOTE);
if (!end_of_vote)
end_of_vote = vote_body + strlen(vote_body);
@@ -3391,7 +3395,9 @@ dirvote_compute_consensuses(void)
flavor_name);
continue;
}
- consensus = networkstatus_parse_vote_from_string(consensus_body, NULL,
+ consensus = networkstatus_parse_vote_from_string(consensus_body,
+ strlen(consensus_body),
+ NULL,
NS_TYPE_CONSENSUS);
if (!consensus) {
log_warn(LD_DIR, "Couldn't parse %s consensus we generated!",
@@ -3530,7 +3536,7 @@ dirvote_add_signatures_to_pending_consensus(
* just in case we break detached signature processing at some point. */
{
networkstatus_t *v = networkstatus_parse_vote_from_string(
- pc->body, NULL,
+ pc->body, strlen(pc->body), NULL,
NS_TYPE_CONSENSUS);
tor_assert(v);
networkstatus_vote_free(v);
@@ -3655,7 +3661,9 @@ dirvote_publish_consensus(void)
continue;
}
- if (networkstatus_set_current_consensus(pending->body, name, 0, NULL))
+ if (networkstatus_set_current_consensus(pending->body,
+ strlen(pending->body),
+ name, 0, NULL))
log_warn(LD_DIR, "Error publishing %s consensus", name);
else
log_notice(LD_DIR, "Published %s consensus", name);
@@ -3792,8 +3800,16 @@ dirvote_create_microdescriptor(const routerinfo_t *ri, int consensus_method)
smartlist_add_asprintf(chunks, "a %s\n",
fmt_addrport(&ri->ipv6_addr, ri->ipv6_orport));
- if (family)
- smartlist_add_asprintf(chunks, "family %s\n", family);
+ if (family) {
+ if (consensus_method < MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS) {
+ smartlist_add_asprintf(chunks, "family %s\n", family);
+ } else {
+ const uint8_t *id = (const uint8_t *)ri->cache_info.identity_digest;
+ char *canonical_family = nodefamily_canonicalize(family, id, 0);
+ smartlist_add_asprintf(chunks, "family %s\n", canonical_family);
+ tor_free(canonical_family);
+ }
+ }
if (summary && strcmp(summary, "reject 1-65535"))
smartlist_add_asprintf(chunks, "p %s\n", summary);
@@ -3891,7 +3907,10 @@ static const struct consensus_method_range_t {
int high;
} microdesc_consensus_methods[] = {
{MIN_SUPPORTED_CONSENSUS_METHOD, MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC - 1},
- {MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC, MAX_SUPPORTED_CONSENSUS_METHOD},
+ {MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC,
+ MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS - 1},
+ {MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS,
+ MAX_SUPPORTED_CONSENSUS_METHOD},
{-1, -1}
};
@@ -4365,6 +4384,23 @@ clear_status_flags_on_sybil(routerstatus_t *rs)
* forget to add it to this clause. */
}
+/** Space-separated list of all the flags that we will always vote on. */
+const char DIRVOTE_UNIVERSAL_FLAGS[] =
+ "Authority "
+ "Exit "
+ "Fast "
+ "Guard "
+ "HSDir "
+ "Stable "
+ "StaleDesc "
+ "V2Dir "
+ "Valid";
+/** Space-separated list of all flags that we may or may not vote on,
+ * depending on our configuration. */
+const char DIRVOTE_OPTIONAL_FLAGS[] =
+ "BadExit "
+ "Running";
+
/** Return a new networkstatus_t* containing our current opinion. (For v3
* authorities) */
networkstatus_t *
@@ -4613,7 +4649,7 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key,
v3_out->known_flags = smartlist_new();
smartlist_split_string(v3_out->known_flags,
- "Authority Exit Fast Guard Stable V2Dir Valid HSDir",
+ DIRVOTE_UNIVERSAL_FLAGS,
0, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
if (vote_on_reachability)
smartlist_add_strdup(v3_out->known_flags, "Running");
diff --git a/src/feature/dirauth/dirvote.h b/src/feature/dirauth/dirvote.h
index a21e9f3455..85f4800700 100644
--- a/src/feature/dirauth/dirvote.h
+++ b/src/feature/dirauth/dirvote.h
@@ -57,7 +57,7 @@
#define MIN_SUPPORTED_CONSENSUS_METHOD 25
/** The highest consensus method that we currently support. */
-#define MAX_SUPPORTED_CONSENSUS_METHOD 28
+#define MAX_SUPPORTED_CONSENSUS_METHOD 29
/** Lowest consensus method where authorities vote on required/recommended
* protocols. */
@@ -79,6 +79,12 @@
* addresses. See #23828 and #20916. */
#define MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC 28
+/**
+ * Lowest consensus method where microdescriptor lines are put in canonical
+ * form for improved compressibility and ease of storage. See proposal 298.
+ **/
+#define MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS 29
+
/** Default bandwidth to clip unmeasured bandwidths to using method >=
* MIN_METHOD_TO_CLIP_UNMEASURED_BW. (This is not a consensus method; do not
* get confused with the above macros.) */
@@ -92,6 +98,9 @@
/** Maximum size of a line in a vote. */
#define MAX_BW_FILE_HEADERS_LINE_LEN 1024
+extern const char DIRVOTE_UNIVERSAL_FLAGS[];
+extern const char DIRVOTE_OPTIONAL_FLAGS[];
+
/*
* Public API. Used outside of the dirauth subsystem.
*
diff --git a/src/feature/dirauth/process_descs.c b/src/feature/dirauth/process_descs.c
index c379f25bdd..dca87b3eaf 100644
--- a/src/feature/dirauth/process_descs.c
+++ b/src/feature/dirauth/process_descs.c
@@ -519,7 +519,8 @@ WRA_MORE_SEVERE(was_router_added_t a, was_router_added_t b)
/** As for dirserv_add_descriptor(), but accepts multiple documents, and
* returns the most severe error that occurred for any one of them. */
was_router_added_t
-dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
+dirserv_add_multiple_descriptors(const char *desc, size_t desclen,
+ uint8_t purpose,
const char *source,
const char **msg)
{
@@ -536,6 +537,11 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
r=ROUTER_ADDED_SUCCESSFULLY; /*Least severe return value. */
+ if (!string_is_utf8_no_bom(desc, desclen)) {
+ *msg = "descriptor(s) or extrainfo(s) not valid UTF-8 or had BOM.";
+ return ROUTER_AUTHDIR_REJECTS;
+ }
+
format_iso_time(time_buf, now);
if (tor_snprintf(annotation_buf, sizeof(annotation_buf),
"@uploaded-at %s\n"
@@ -552,7 +558,7 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
s = desc;
list = smartlist_new();
- if (!router_parse_list_from_string(&s, NULL, list, SAVED_NOWHERE, 0, 0,
+ if (!router_parse_list_from_string(&s, s+desclen, list, SAVED_NOWHERE, 0, 0,
annotation_buf, NULL)) {
SMARTLIST_FOREACH(list, routerinfo_t *, ri, {
msg_out = NULL;
@@ -568,7 +574,7 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
smartlist_clear(list);
s = desc;
- if (!router_parse_list_from_string(&s, NULL, list, SAVED_NOWHERE, 1, 0,
+ if (!router_parse_list_from_string(&s, s+desclen, list, SAVED_NOWHERE, 1, 0,
NULL, NULL)) {
SMARTLIST_FOREACH(list, extrainfo_t *, ei, {
msg_out = NULL;
diff --git a/src/feature/dirauth/process_descs.h b/src/feature/dirauth/process_descs.h
index ad9d5c3d4c..5a0914acd8 100644
--- a/src/feature/dirauth/process_descs.h
+++ b/src/feature/dirauth/process_descs.h
@@ -17,7 +17,8 @@ void dirserv_free_fingerprint_list(void);
int dirserv_add_own_fingerprint(crypto_pk_t *pk);
enum was_router_added_t dirserv_add_multiple_descriptors(
- const char *desc, uint8_t purpose,
+ const char *desc, size_t desclen,
+ uint8_t purpose,
const char *source,
const char **msg);
enum was_router_added_t dirserv_add_descriptor(routerinfo_t *ri,
diff --git a/src/feature/dirauth/shared_random.c b/src/feature/dirauth/shared_random.c
index db4f9d328c..b027d9e375 100644
--- a/src/feature/dirauth/shared_random.c
+++ b/src/feature/dirauth/shared_random.c
@@ -949,7 +949,8 @@ sr_compute_srv(void)
/* Computing a shared random value in the commit phase is very wrong. This
* should only happen at the very end of the reveal phase when a new
* protocol run is about to start. */
- tor_assert(sr_state_get_phase() == SR_PHASE_REVEAL);
+ if (BUG(sr_state_get_phase() != SR_PHASE_REVEAL))
+ return;
state_commits = sr_state_get_commits();
commits = smartlist_new();
diff --git a/src/feature/dirauth/shared_random_state.c b/src/feature/dirauth/shared_random_state.c
index 38c7fd76d0..8c5b28b7cd 100644
--- a/src/feature/dirauth/shared_random_state.c
+++ b/src/feature/dirauth/shared_random_state.c
@@ -22,6 +22,7 @@
#include "feature/dirauth/shared_random_state.h"
#include "feature/dircommon/voting_schedule.h"
#include "lib/encoding/confline.h"
+#include "lib/version/torversion.h"
#include "app/config/or_state_st.h"
@@ -594,8 +595,10 @@ disk_state_update(void)
{
config_line_t **next, *line;
- tor_assert(sr_disk_state);
- tor_assert(sr_state);
+ if (BUG(!sr_disk_state))
+ return;
+ if (BUG(!sr_state))
+ return;
/* Reset current disk state. */
disk_state_reset();
@@ -759,7 +762,8 @@ disk_state_save_to_disk(void)
STATIC void
reset_state_for_new_protocol_run(time_t valid_after)
{
- tor_assert(sr_state);
+ if (BUG(!sr_state))
+ return;
/* Keep counters in track */
sr_state->n_reveal_rounds = 0;
@@ -1091,7 +1095,8 @@ sr_state_update(time_t valid_after)
{
sr_phase_t next_phase;
- tor_assert(sr_state);
+ if (BUG(!sr_state))
+ return;
/* Don't call this function twice in the same voting period. */
if (valid_after <= sr_state->valid_after) {
@@ -1130,7 +1135,8 @@ sr_state_update(time_t valid_after)
/* Count the current round */
if (sr_state->phase == SR_PHASE_COMMIT) {
/* invariant check: we've not entered reveal phase yet */
- tor_assert(sr_state->n_reveal_rounds == 0);
+ if (BUG(sr_state->n_reveal_rounds != 0))
+ return;
sr_state->n_commit_rounds++;
} else {
sr_state->n_reveal_rounds++;
@@ -1320,7 +1326,8 @@ sr_state_init(int save_to_disk, int read_from_disk)
void
set_sr_phase(sr_phase_t phase)
{
- tor_assert(sr_state);
+ if (BUG(!sr_state))
+ return;
sr_state->phase = phase;
}
diff --git a/src/feature/dirauth/voteflags.c b/src/feature/dirauth/voteflags.c
index 4a24dcb50d..aab322d96f 100644
--- a/src/feature/dirauth/voteflags.c
+++ b/src/feature/dirauth/voteflags.c
@@ -95,7 +95,7 @@ real_uptime(const routerinfo_t *router, time_t now)
*/
static int
dirserv_thinks_router_is_unreliable(time_t now,
- routerinfo_t *router,
+ const routerinfo_t *router,
int need_uptime, int need_capacity)
{
if (need_uptime) {
@@ -541,7 +541,7 @@ dirserv_set_router_is_running(routerinfo_t *router, time_t now)
void
set_routerstatus_from_routerinfo(routerstatus_t *rs,
node_t *node,
- routerinfo_t *ri,
+ const routerinfo_t *ri,
time_t now,
int listbadexits)
{
@@ -593,6 +593,10 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs,
rs->or_port = ri->or_port;
rs->dir_port = ri->dir_port;
rs->is_v2_dir = ri->supports_tunnelled_dir_requests;
+
+ rs->is_staledesc =
+ (ri->cache_info.published_on + DESC_IS_STALE_INTERVAL) < now;
+
if (options->AuthDirHasIPv6Connectivity == 1 &&
!tor_addr_is_null(&ri->ipv6_addr) &&
node->last_reachable6 >= now - REACHABLE_TIMEOUT) {
diff --git a/src/feature/dirauth/voteflags.h b/src/feature/dirauth/voteflags.h
index 2f0e061ea4..8dce9fbb04 100644
--- a/src/feature/dirauth/voteflags.h
+++ b/src/feature/dirauth/voteflags.h
@@ -19,12 +19,16 @@ int running_long_enough_to_decide_unreachable(void);
void set_routerstatus_from_routerinfo(routerstatus_t *rs,
node_t *node,
- routerinfo_t *ri, time_t now,
+ const routerinfo_t *ri,
+ time_t now,
int listbadexits);
void dirserv_compute_performance_thresholds(digestmap_t *omit_as_sybil);
#ifdef VOTEFLAGS_PRIVATE
+/** Any descriptor older than this age causes the authorities to set the
+ * StaleDesc flag. */
+#define DESC_IS_STALE_INTERVAL (18*60*60)
STATIC void dirserv_set_routerstatus_testing(routerstatus_t *rs);
#endif
diff --git a/src/feature/dircache/consdiffmgr.c b/src/feature/dircache/consdiffmgr.c
index e79aad6efb..8ecab5ca69 100644
--- a/src/feature/dircache/consdiffmgr.c
+++ b/src/feature/dircache/consdiffmgr.c
@@ -189,6 +189,7 @@ static consdiff_cfg_t consdiff_cfg = {
static int consdiffmgr_ensure_space_for_files(int n);
static int consensus_queue_compression_work(const char *consensus,
+ size_t consensus_len,
const networkstatus_t *as_parsed);
static int consensus_diff_queue_diff_work(consensus_cache_entry_t *diff_from,
consensus_cache_entry_t *diff_to);
@@ -509,8 +510,25 @@ get_max_age_to_cache(void)
MAX_MAX_AGE_TO_CACHE);
}
+#ifdef TOR_UNIT_TESTS
+/** As consdiffmgr_add_consensus, but requires a nul-terminated input. For
+ * testing. */
+int
+consdiffmgr_add_consensus_nulterm(const char *consensus,
+ const networkstatus_t *as_parsed)
+{
+ size_t len = strlen(consensus);
+ /* make a non-nul-terminated copy so that we can have a better chance
+ * of catching errors. */
+ char *ctmp = tor_memdup(consensus, len);
+ int r = consdiffmgr_add_consensus(ctmp, len, as_parsed);
+ tor_free(ctmp);
+ return r;
+}
+#endif
+
/**
- * Given a string containing a networkstatus consensus, and the results of
+ * Given a buffer containing a networkstatus consensus, and the results of
* having parsed that consensus, add that consensus to the cache if it is not
* already present and not too old. Create new consensus diffs from or to
* that consensus as appropriate.
@@ -519,6 +537,7 @@ get_max_age_to_cache(void)
*/
int
consdiffmgr_add_consensus(const char *consensus,
+ size_t consensus_len,
const networkstatus_t *as_parsed)
{
if (BUG(consensus == NULL) || BUG(as_parsed == NULL))
@@ -544,7 +563,7 @@ consdiffmgr_add_consensus(const char *consensus,
}
/* We don't have it. Add it to the cache. */
- return consensus_queue_compression_work(consensus, as_parsed);
+ return consensus_queue_compression_work(consensus, consensus_len, as_parsed);
}
/**
@@ -1387,19 +1406,21 @@ typedef struct consensus_diff_worker_job_t {
} consensus_diff_worker_job_t;
/** Given a consensus_cache_entry_t, check whether it has a label claiming
- * that it was compressed. If so, uncompress its contents into <b>out</b> and
- * set <b>outlen</b> to hold their size. If not, just copy the body into
- * <b>out</b> and set <b>outlen</b> to its length. Return 0 on success,
- * -1 on failure.
- *
- * In all cases, the output is nul-terminated. */
+ * that it was compressed. If so, uncompress its contents into *<b>out</b> and
+ * set <b>outlen</b> to hold their size, and set *<b>owned_out</b> to a pointer
+ * that the caller will need to free. If not, just set *<b>out</b> and
+ * <b>outlen</b> to its extent in memory. Return 0 on success, -1 on failure.
+ **/
STATIC int
-uncompress_or_copy(char **out, size_t *outlen,
- consensus_cache_entry_t *ent)
+uncompress_or_set_ptr(const char **out, size_t *outlen,
+ char **owned_out,
+ consensus_cache_entry_t *ent)
{
const uint8_t *body;
size_t bodylen;
+ *owned_out = NULL;
+
if (consensus_cache_entry_get_body(ent, &body, &bodylen) < 0)
return -1;
@@ -1410,8 +1431,17 @@ uncompress_or_copy(char **out, size_t *outlen,
if (lv_compression)
method = compression_method_get_by_name(lv_compression);
- return tor_uncompress(out, outlen, (const char *)body, bodylen,
+ int rv;
+ if (method == NO_METHOD) {
+ *out = (const char *)body;
+ *outlen = bodylen;
+ rv = 0;
+ } else {
+ rv = tor_uncompress(owned_out, outlen, (const char *)body, bodylen,
method, 1, LOG_WARN);
+ *out = *owned_out;
+ }
+ return rv;
}
/**
@@ -1478,16 +1508,17 @@ consensus_diff_worker_threadfn(void *state_, void *work_)
char *consensus_diff;
{
- char *diff_from_nt = NULL, *diff_to_nt = NULL;
+ const char *diff_from_nt = NULL, *diff_to_nt = NULL;
+ char *owned1 = NULL, *owned2 = NULL;
size_t diff_from_nt_len, diff_to_nt_len;
- if (uncompress_or_copy(&diff_from_nt, &diff_from_nt_len,
- job->diff_from) < 0) {
+ if (uncompress_or_set_ptr(&diff_from_nt, &diff_from_nt_len, &owned1,
+ job->diff_from) < 0) {
return WQ_RPL_REPLY;
}
- if (uncompress_or_copy(&diff_to_nt, &diff_to_nt_len,
- job->diff_to) < 0) {
- tor_free(diff_from_nt);
+ if (uncompress_or_set_ptr(&diff_to_nt, &diff_to_nt_len, &owned2,
+ job->diff_to) < 0) {
+ tor_free(owned1);
return WQ_RPL_REPLY;
}
tor_assert(diff_from_nt);
@@ -1496,9 +1527,12 @@ consensus_diff_worker_threadfn(void *state_, void *work_)
// XXXX ugh; this is going to calculate the SHA3 of both its
// XXXX inputs again, even though we already have that. Maybe it's time
// XXXX to change the API here?
- consensus_diff = consensus_diff_generate(diff_from_nt, diff_to_nt);
- tor_free(diff_from_nt);
- tor_free(diff_to_nt);
+ consensus_diff = consensus_diff_generate(diff_from_nt,
+ diff_from_nt_len,
+ diff_to_nt,
+ diff_to_nt_len);
+ tor_free(owned1);
+ tor_free(owned2);
}
if (!consensus_diff) {
/* Couldn't generate consensus; we'll leave the reply blank. */
@@ -1746,8 +1780,8 @@ consensus_compress_worker_threadfn(void *state_, void *work_)
(const uint8_t *)consensus, bodylen);
{
const char *start, *end;
- if (router_get_networkstatus_v3_signed_boundaries(consensus,
- &start, &end) < 0) {
+ if (router_get_networkstatus_v3_signed_boundaries(consensus, bodylen,
+ &start, &end) < 0) {
start = consensus;
end = consensus+bodylen;
}
@@ -1811,14 +1845,15 @@ static int background_compression = 0;
*/
static int
consensus_queue_compression_work(const char *consensus,
+ size_t consensus_len,
const networkstatus_t *as_parsed)
{
tor_assert(consensus);
tor_assert(as_parsed);
consensus_compress_worker_job_t *job = tor_malloc_zero(sizeof(*job));
- job->consensus = tor_strdup(consensus);
- job->consensus_len = strlen(consensus);
+ job->consensus = tor_memdup_nulterm(consensus, consensus_len);
+ job->consensus_len = strlen(job->consensus);
job->flavor = as_parsed->flavor;
char va_str[ISO_TIME_LEN+1];
diff --git a/src/feature/dircache/consdiffmgr.h b/src/feature/dircache/consdiffmgr.h
index 66c3d65002..011c8799d6 100644
--- a/src/feature/dircache/consdiffmgr.h
+++ b/src/feature/dircache/consdiffmgr.h
@@ -22,6 +22,7 @@ typedef struct consdiff_cfg_t {
struct consensus_cache_entry_t; // from conscache.h
int consdiffmgr_add_consensus(const char *consensus,
+ size_t consensus_len,
const networkstatus_t *as_parsed);
consdiff_status_t consdiffmgr_find_consensus(
@@ -68,8 +69,14 @@ STATIC consensus_cache_entry_t *cdm_cache_lookup_consensus(
STATIC int cdm_entry_get_sha3_value(uint8_t *digest_out,
consensus_cache_entry_t *ent,
const char *label);
-STATIC int uncompress_or_copy(char **out, size_t *outlen,
- consensus_cache_entry_t *ent);
+STATIC int uncompress_or_set_ptr(const char **out, size_t *outlen,
+ char **owned_out,
+ consensus_cache_entry_t *ent);
#endif /* defined(CONSDIFFMGR_PRIVATE) */
+#ifdef TOR_UNIT_TESTS
+int consdiffmgr_add_consensus_nulterm(const char *consensus,
+ const networkstatus_t *as_parsed);
+#endif
+
#endif /* !defined(TOR_CONSDIFFMGR_H) */
diff --git a/src/feature/dircache/dircache.c b/src/feature/dircache/dircache.c
index 872a88018f..4032223db4 100644
--- a/src/feature/dircache/dircache.c
+++ b/src/feature/dircache/dircache.c
@@ -166,22 +166,16 @@ write_http_response_header_impl(dir_connection_t *conn, ssize_t length,
buf_free(buf);
}
-/** As write_http_response_header_impl, but sets encoding and content-typed
- * based on whether the response will be <b>compressed</b> or not. */
+/** As write_http_response_header_impl, but translates method into
+ * encoding */
static void
write_http_response_headers(dir_connection_t *conn, ssize_t length,
compress_method_t method,
const char *extra_headers, long cache_lifetime)
{
- const char *methodname = compression_method_get_name(method);
- const char *doctype;
- if (method == NO_METHOD)
- doctype = "text/plain";
- else
- doctype = "application/octet-stream";
write_http_response_header_impl(conn, length,
- doctype,
- methodname,
+ "text/plain",
+ compression_method_get_name(method),
extra_headers,
cache_lifetime);
}
@@ -1608,8 +1602,8 @@ directory_handle_command_post,(dir_connection_t *conn, const char *headers,
const char *msg = "[None]";
uint8_t purpose = authdir_mode_bridge(options) ?
ROUTER_PURPOSE_BRIDGE : ROUTER_PURPOSE_GENERAL;
- was_router_added_t r = dirserv_add_multiple_descriptors(body, purpose,
- conn->base_.address, &msg);
+ was_router_added_t r = dirserv_add_multiple_descriptors(body, body_len,
+ purpose, conn->base_.address, &msg);
tor_assert(msg);
if (r == ROUTER_ADDED_SUCCESSFULLY) {
diff --git a/src/feature/dircache/dirserv.c b/src/feature/dircache/dirserv.c
index 57178cd506..4366000e2e 100644
--- a/src/feature/dircache/dirserv.c
+++ b/src/feature/dircache/dirserv.c
@@ -234,6 +234,7 @@ free_cached_dir_(void *_d)
* validation is performed. */
void
dirserv_set_cached_consensus_networkstatus(const char *networkstatus,
+ size_t networkstatus_len,
const char *flavor_name,
const common_digests_t *digests,
const uint8_t *sha3_as_signed,
@@ -244,7 +245,9 @@ dirserv_set_cached_consensus_networkstatus(const char *networkstatus,
if (!cached_consensuses)
cached_consensuses = strmap_new();
- new_networkstatus = new_cached_dir(tor_strdup(networkstatus), published);
+ new_networkstatus =
+ new_cached_dir(tor_memdup_nulterm(networkstatus, networkstatus_len),
+ published);
memcpy(&new_networkstatus->digests, digests, sizeof(common_digests_t));
memcpy(&new_networkstatus->digest_sha3_as_signed, sha3_as_signed,
DIGEST256_LEN);
diff --git a/src/feature/dircache/dirserv.h b/src/feature/dircache/dirserv.h
index 41e1376688..aa1e2494ca 100644
--- a/src/feature/dircache/dirserv.h
+++ b/src/feature/dircache/dirserv.h
@@ -84,6 +84,7 @@ int directory_too_idle_to_fetch_descriptors(const or_options_t *options,
cached_dir_t *dirserv_get_consensus(const char *flavor_name);
void dirserv_set_cached_consensus_networkstatus(const char *consensus,
+ size_t consensus_len,
const char *flavor_name,
const common_digests_t *digests,
const uint8_t *sha3_as_signed,
diff --git a/src/feature/dirclient/dirclient.c b/src/feature/dirclient/dirclient.c
index f6a712e429..cd88fa5ebf 100644
--- a/src/feature/dirclient/dirclient.c
+++ b/src/feature/dirclient/dirclient.c
@@ -2205,24 +2205,31 @@ handle_response_fetch_consensus(dir_connection_t *conn,
if (looks_like_a_consensus_diff(body, body_len)) {
/* First find our previous consensus. Maybe it's in ram, maybe not. */
cached_dir_t *cd = dirserv_get_consensus(flavname);
- const char *consensus_body;
- char *owned_consensus = NULL;
+ const char *consensus_body = NULL;
+ size_t consensus_body_len;
+ tor_mmap_t *mapped_consensus = NULL;
if (cd) {
consensus_body = cd->dir;
+ consensus_body_len = cd->dir_len;
} else {
- owned_consensus = networkstatus_read_cached_consensus(flavname);
- consensus_body = owned_consensus;
+ mapped_consensus = networkstatus_map_cached_consensus(flavname);
+ if (mapped_consensus) {
+ consensus_body = mapped_consensus->data;
+ consensus_body_len = mapped_consensus->size;
+ }
}
if (!consensus_body) {
log_warn(LD_DIR, "Received a consensus diff, but we can't find "
"any %s-flavored consensus in our current cache.",flavname);
+ tor_munmap_file(mapped_consensus);
networkstatus_consensus_download_failed(0, flavname);
// XXXX if this happens too much, see below
return -1;
}
- new_consensus = consensus_diff_apply(consensus_body, body);
- tor_free(owned_consensus);
+ new_consensus = consensus_diff_apply(consensus_body, consensus_body_len,
+ body, body_len);
+ tor_munmap_file(mapped_consensus);
if (new_consensus == NULL) {
log_warn(LD_DIR, "Could not apply consensus diff received from server "
"'%s:%d'", conn->base_.address, conn->base_.port);
@@ -2244,7 +2251,9 @@ handle_response_fetch_consensus(dir_connection_t *conn,
sourcename = "downloaded";
}
- if ((r=networkstatus_set_current_consensus(consensus, flavname, 0,
+ if ((r=networkstatus_set_current_consensus(consensus,
+ strlen(consensus),
+ flavname, 0,
conn->identity_digest))<0) {
log_fn(r<-1?LOG_WARN:LOG_INFO, LD_DIR,
"Unable to load %s consensus directory %s from "
diff --git a/src/feature/dircommon/consdiff.c b/src/feature/dircommon/consdiff.c
index f8ced8503f..15266f77bf 100644
--- a/src/feature/dircommon/consdiff.c
+++ b/src/feature/dircommon/consdiff.c
@@ -101,11 +101,11 @@ smartlist_add_linecpy(smartlist_t *lst, memarea_t *area, const char *s)
/* This is a separate, mockable function so that we can override it when
* fuzzing. */
MOCK_IMPL(STATIC int,
-consensus_compute_digest,(const char *cons,
+consensus_compute_digest,(const char *cons, size_t len,
consensus_digest_t *digest_out))
{
int r = crypto_digest256((char*)digest_out->sha3_256,
- cons, strlen(cons), DIGEST_SHA3_256);
+ cons, len, DIGEST_SHA3_256);
return r;
}
@@ -114,11 +114,11 @@ consensus_compute_digest,(const char *cons,
/* This is a separate, mockable function so that we can override it when
* fuzzing. */
MOCK_IMPL(STATIC int,
-consensus_compute_digest_as_signed,(const char *cons,
+consensus_compute_digest_as_signed,(const char *cons, size_t len,
consensus_digest_t *digest_out))
{
return router_get_networkstatus_v3_sha3_as_signed(digest_out->sha3_256,
- cons);
+ cons, len);
}
/** Return true iff <b>d1</b> and <b>d2</b> contain the same digest */
@@ -1229,7 +1229,8 @@ consdiff_apply_diff(const smartlist_t *cons1,
cons2_str = consensus_join_lines(cons2);
consensus_digest_t cons2_digests;
- if (consensus_compute_digest(cons2_str, &cons2_digests) < 0) {
+ if (consensus_compute_digest(cons2_str, strlen(cons2_str),
+ &cons2_digests) < 0) {
/* LCOV_EXCL_START -- digest can't fail */
log_warn(LD_CONSDIFF, "Could not compute digests of the consensus "
"resulting from applying a consensus diff.");
@@ -1283,12 +1284,13 @@ consdiff_apply_diff(const smartlist_t *cons1,
* generated cdlines will become invalid.
*/
STATIC int
-consensus_split_lines(smartlist_t *out, const char *s, memarea_t *area)
+consensus_split_lines(smartlist_t *out,
+ const char *s, size_t len,
+ memarea_t *area)
{
- const char *end_of_str = s + strlen(s);
- tor_assert(*end_of_str == '\0');
+ const char *end_of_str = s + len;
- while (*s) {
+ while (s < end_of_str) {
const char *eol = memchr(s, '\n', end_of_str - s);
if (!eol) {
/* File doesn't end with newline. */
@@ -1334,25 +1336,25 @@ consensus_join_lines(const smartlist_t *inp)
* success, retun a newly allocated string containing that diff. On failure,
* return NULL. */
char *
-consensus_diff_generate(const char *cons1,
- const char *cons2)
+consensus_diff_generate(const char *cons1, size_t cons1len,
+ const char *cons2, size_t cons2len)
{
consensus_digest_t d1, d2;
smartlist_t *lines1 = NULL, *lines2 = NULL, *result_lines = NULL;
int r1, r2;
char *result = NULL;
- r1 = consensus_compute_digest_as_signed(cons1, &d1);
- r2 = consensus_compute_digest(cons2, &d2);
+ r1 = consensus_compute_digest_as_signed(cons1, cons1len, &d1);
+ r2 = consensus_compute_digest(cons2, cons2len, &d2);
if (BUG(r1 < 0 || r2 < 0))
return NULL; // LCOV_EXCL_LINE
memarea_t *area = memarea_new();
lines1 = smartlist_new();
lines2 = smartlist_new();
- if (consensus_split_lines(lines1, cons1, area) < 0)
+ if (consensus_split_lines(lines1, cons1, cons1len, area) < 0)
goto done;
- if (consensus_split_lines(lines2, cons2, area) < 0)
+ if (consensus_split_lines(lines2, cons2, cons2len, area) < 0)
goto done;
result_lines = consdiff_gen_diff(lines1, lines2, &d1, &d2, area);
@@ -1375,7 +1377,9 @@ consensus_diff_generate(const char *cons1,
* consensus. On failure, return NULL. */
char *
consensus_diff_apply(const char *consensus,
- const char *diff)
+ size_t consensus_len,
+ const char *diff,
+ size_t diff_len)
{
consensus_digest_t d1;
smartlist_t *lines1 = NULL, *lines2 = NULL;
@@ -1383,15 +1387,15 @@ consensus_diff_apply(const char *consensus,
char *result = NULL;
memarea_t *area = memarea_new();
- r1 = consensus_compute_digest_as_signed(consensus, &d1);
+ r1 = consensus_compute_digest_as_signed(consensus, consensus_len, &d1);
if (BUG(r1 < 0))
return NULL; // LCOV_EXCL_LINE
lines1 = smartlist_new();
lines2 = smartlist_new();
- if (consensus_split_lines(lines1, consensus, area) < 0)
+ if (consensus_split_lines(lines1, consensus, consensus_len, area) < 0)
goto done;
- if (consensus_split_lines(lines2, diff, area) < 0)
+ if (consensus_split_lines(lines2, diff, diff_len, area) < 0)
goto done;
result = consdiff_apply_diff(lines1, lines2, &d1);
diff --git a/src/feature/dircommon/consdiff.h b/src/feature/dircommon/consdiff.h
index a5e4ba5cbf..eb7c9f9fe0 100644
--- a/src/feature/dircommon/consdiff.h
+++ b/src/feature/dircommon/consdiff.h
@@ -7,10 +7,10 @@
#include "core/or/or.h"
-char *consensus_diff_generate(const char *cons1,
- const char *cons2);
-char *consensus_diff_apply(const char *consensus,
- const char *diff);
+char *consensus_diff_generate(const char *cons1, size_t cons1len,
+ const char *cons2, size_t cons2len);
+char *consensus_diff_apply(const char *consensus, size_t consensus_len,
+ const char *diff, size_t diff_len);
int looks_like_a_consensus_diff(const char *document, size_t len);
@@ -78,7 +78,8 @@ STATIC int smartlist_slice_string_pos(const smartlist_slice_t *slice,
STATIC void set_changed(bitarray_t *changed1, bitarray_t *changed2,
const smartlist_slice_t *slice1,
const smartlist_slice_t *slice2);
-STATIC int consensus_split_lines(smartlist_t *out, const char *s,
+STATIC int consensus_split_lines(smartlist_t *out,
+ const char *s, size_t len,
struct memarea_t *area);
STATIC void smartlist_add_linecpy(smartlist_t *lst, struct memarea_t *area,
const char *s);
@@ -86,10 +87,10 @@ STATIC int lines_eq(const cdline_t *a, const cdline_t *b);
STATIC int line_str_eq(const cdline_t *a, const char *b);
MOCK_DECL(STATIC int,
- consensus_compute_digest,(const char *cons,
+ consensus_compute_digest,(const char *cons, size_t len,
consensus_digest_t *digest_out));
MOCK_DECL(STATIC int,
- consensus_compute_digest_as_signed,(const char *cons,
+ consensus_compute_digest_as_signed,(const char *cons, size_t len,
consensus_digest_t *digest_out));
MOCK_DECL(STATIC int,
consensus_digest_eq,(const uint8_t *d1,
diff --git a/src/feature/dirparse/authcert_parse.c b/src/feature/dirparse/authcert_parse.c
index 2ba46bb8fa..334baf8b1a 100644
--- a/src/feature/dirparse/authcert_parse.c
+++ b/src/feature/dirparse/authcert_parse.c
@@ -24,7 +24,8 @@ static token_rule_t dir_key_certificate_table[] = {
/** Parse a key certificate from <b>s</b>; point <b>end-of-string</b> to
* the first character after the certificate. */
authority_cert_t *
-authority_cert_parse_from_string(const char *s, const char **end_of_string)
+authority_cert_parse_from_string(const char *s, size_t maxlen,
+ const char **end_of_string)
{
/** Reject any certificate at least this big; it is probably an overflow, an
* attack, a bug, or some other nonsense. */
@@ -35,24 +36,25 @@ authority_cert_parse_from_string(const char *s, const char **end_of_string)
char digest[DIGEST_LEN];
directory_token_t *tok;
char fp_declared[DIGEST_LEN];
- char *eos;
+ const char *eos;
size_t len;
int found;
memarea_t *area = NULL;
+ const char *end_of_s = s + maxlen;
const char *s_dup = s;
- s = eat_whitespace(s);
- eos = strstr(s, "\ndir-key-certification");
+ s = eat_whitespace_eos(s, end_of_s);
+ eos = tor_memstr(s, end_of_s - s, "\ndir-key-certification");
if (! eos) {
log_warn(LD_DIR, "No signature found on key certificate");
return NULL;
}
- eos = strstr(eos, "\n-----END SIGNATURE-----\n");
+ eos = tor_memstr(eos, end_of_s - eos, "\n-----END SIGNATURE-----\n");
if (! eos) {
log_warn(LD_DIR, "No end-of-signature found on key certificate");
return NULL;
}
- eos = strchr(eos+2, '\n');
+ eos = memchr(eos+2, '\n', end_of_s - (eos+2));
tor_assert(eos);
++eos;
len = eos - s;
@@ -69,7 +71,7 @@ authority_cert_parse_from_string(const char *s, const char **end_of_string)
log_warn(LD_DIR, "Error tokenizing key certificate");
goto err;
}
- if (router_get_hash_impl(s, strlen(s), digest, "dir-key-certificate-version",
+ if (router_get_hash_impl(s, eos - s, digest, "dir-key-certificate-version",
"\ndir-key-certification", '\n', DIGEST_SHA1) < 0)
goto err;
tok = smartlist_get(tokens, 0);
diff --git a/src/feature/dirparse/authcert_parse.h b/src/feature/dirparse/authcert_parse.h
index f63525e04d..e4e9fec993 100644
--- a/src/feature/dirparse/authcert_parse.h
+++ b/src/feature/dirparse/authcert_parse.h
@@ -13,6 +13,7 @@
#define TOR_AUTHCERT_PARSE_H
authority_cert_t *authority_cert_parse_from_string(const char *s,
+ size_t maxlen,
const char **end_of_string);
#endif /* !defined(TOR_AUTHCERT_PARSE_H) */
diff --git a/src/feature/dirparse/microdesc_parse.c b/src/feature/dirparse/microdesc_parse.c
index 005d2c53d0..165945e392 100644
--- a/src/feature/dirparse/microdesc_parse.c
+++ b/src/feature/dirparse/microdesc_parse.c
@@ -18,6 +18,7 @@
#include "feature/dirparse/routerparse.h"
#include "feature/nodelist/microdesc.h"
#include "feature/nodelist/nickname.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/relay/router.h"
#include "lib/crypt_ops/crypto_curve25519.h"
#include "lib/crypt_ops/crypto_ed25519.h"
@@ -32,7 +33,7 @@ static token_rule_t microdesc_token_table[] = {
T01("ntor-onion-key", K_ONION_KEY_NTOR, GE(1), NO_OBJ ),
T0N("id", K_ID, GE(2), NO_OBJ ),
T0N("a", K_A, GE(1), NO_OBJ ),
- T01("family", K_FAMILY, ARGS, NO_OBJ ),
+ T01("family", K_FAMILY, CONCAT_ARGS, NO_OBJ ),
T01("p", K_P, CONCAT_ARGS, NO_OBJ ),
T01("p6", K_P6, CONCAT_ARGS, NO_OBJ ),
A01("@last-listed", A_LAST_LISTED, CONCAT_ARGS, NO_OBJ ),
@@ -50,13 +51,13 @@ find_start_of_next_microdesc(const char *s, const char *eos)
return NULL;
#define CHECK_LENGTH() STMT_BEGIN \
- if (s+32 > eos) \
+ if (eos - s < 32) \
return NULL; \
STMT_END
#define NEXT_LINE() STMT_BEGIN \
s = memchr(s, '\n', eos-s); \
- if (!s || s+1 >= eos) \
+ if (!s || eos - s <= 1) \
return NULL; \
s++; \
STMT_END
@@ -80,7 +81,7 @@ find_start_of_next_microdesc(const char *s, const char *eos)
/* Okay, now we're pointed at the first line of the microdescriptor which is
not an annotation or onion-key. The next line that _is_ an annotation or
onion-key is the start of the next microdescriptor. */
- while (s+32 < eos) {
+ while (eos - s > 32) {
if (*s == '@' || !strcmpstart(s, "onion-key"))
return s;
NEXT_LINE();
@@ -176,8 +177,8 @@ microdescs_parse_from_string(const char *s, const char *eos,
"Relay's onion key had invalid exponent.");
goto next;
}
- router_set_rsa_onion_pkey(tok->key, &md->onion_pkey,
- &md->onion_pkey_len);
+ md->onion_pkey = tor_memdup(tok->object_body, tok->object_size);
+ md->onion_pkey_len = tok->object_size;
crypto_pk_free(tok->key);
if ((tok = find_opt_by_keyword(tokens, K_ONION_KEY_NTOR))) {
@@ -222,16 +223,9 @@ microdescs_parse_from_string(const char *s, const char *eos,
}
if ((tok = find_opt_by_keyword(tokens, K_FAMILY))) {
- int i;
- md->family = smartlist_new();
- for (i=0;i<tok->n_args;++i) {
- if (!is_legal_nickname_or_hexdigest(tok->args[i])) {
- log_warn(LD_DIR, "Illegal nickname %s in family line",
- escaped(tok->args[i]));
- goto next;
- }
- smartlist_add_strdup(md->family, tok->args[i]);
- }
+ md->family = nodefamily_parse(tok->args[0],
+ NULL,
+ NF_WARN_MALFORMED);
}
if ((tok = find_opt_by_keyword(tokens, K_P))) {
diff --git a/src/feature/dirparse/ns_parse.c b/src/feature/dirparse/ns_parse.c
index 72299e8071..e0cdb2d46d 100644
--- a/src/feature/dirparse/ns_parse.c
+++ b/src/feature/dirparse/ns_parse.c
@@ -151,10 +151,11 @@ static token_rule_t networkstatus_vote_footer_token_table[] = {
* -1. */
int
router_get_networkstatus_v3_signed_boundaries(const char *s,
+ size_t len,
const char **start_out,
const char **end_out)
{
- return router_get_hash_impl_helper(s, strlen(s),
+ return router_get_hash_impl_helper(s, len,
"network-status-version",
"\ndirectory-signature",
' ', LOG_INFO,
@@ -166,12 +167,13 @@ router_get_networkstatus_v3_signed_boundaries(const char *s,
* signed portion can be identified. Return 0 on success, -1 on failure. */
int
router_get_networkstatus_v3_sha3_as_signed(uint8_t *digest_out,
- const char *s)
+ const char *s, size_t len)
{
const char *start, *end;
- if (router_get_networkstatus_v3_signed_boundaries(s, &start, &end) < 0) {
+ if (router_get_networkstatus_v3_signed_boundaries(s, len,
+ &start, &end) < 0) {
start = s;
- end = s + strlen(s);
+ end = s + len;
}
tor_assert(start);
tor_assert(end);
@@ -182,9 +184,10 @@ router_get_networkstatus_v3_sha3_as_signed(uint8_t *digest_out,
/** Set <b>digests</b> to all the digests of the consensus document in
* <b>s</b> */
int
-router_get_networkstatus_v3_hashes(const char *s, common_digests_t *digests)
+router_get_networkstatus_v3_hashes(const char *s, size_t len,
+ common_digests_t *digests)
{
- return router_get_hashes_impl(s,strlen(s),digests,
+ return router_get_hashes_impl(s, len, digests,
"network-status-version",
"\ndirectory-signature",
' ');
@@ -195,13 +198,13 @@ router_get_networkstatus_v3_hashes(const char *s, common_digests_t *digests)
* return the start of the directory footer, or the next directory signature.
* If none is found, return the end of the string. */
static inline const char *
-find_start_of_next_routerstatus(const char *s)
+find_start_of_next_routerstatus(const char *s, const char *s_eos)
{
const char *eos, *footer, *sig;
- if ((eos = strstr(s, "\nr ")))
+ if ((eos = tor_memstr(s, s_eos - s, "\nr ")))
++eos;
else
- eos = s + strlen(s);
+ eos = s_eos;
footer = tor_memstr(s, eos-s, "\ndirectory-footer");
sig = tor_memstr(s, eos-s, "\ndirectory-signature");
@@ -289,7 +292,8 @@ routerstatus_parse_guardfraction(const char *guardfraction_str,
**/
STATIC routerstatus_t *
routerstatus_parse_entry_from_string(memarea_t *area,
- const char **s, smartlist_t *tokens,
+ const char **s, const char *s_eos,
+ smartlist_t *tokens,
networkstatus_t *vote,
vote_routerstatus_t *vote_rs,
int consensus_method,
@@ -308,7 +312,7 @@ routerstatus_parse_entry_from_string(memarea_t *area,
flav = FLAV_NS;
tor_assert(flav == FLAV_NS || flav == FLAV_MICRODESC);
- eos = find_start_of_next_routerstatus(*s);
+ eos = find_start_of_next_routerstatus(*s, s_eos);
if (tokenize_string(area,*s, eos, tokens, rtrstatus_token_table,0)) {
log_warn(LD_DIR, "Error tokenizing router status");
@@ -430,6 +434,8 @@ routerstatus_parse_entry_from_string(memarea_t *area,
rs->is_hs_dir = 1;
} else if (!strcmp(tok->args[i], "V2Dir")) {
rs->is_v2_dir = 1;
+ } else if (!strcmp(tok->args[i], "StaleDesc")) {
+ rs->is_staledesc = 1;
}
}
/* These are implied true by having been included in a consensus made
@@ -1051,7 +1057,9 @@ extract_shared_random_srvs(networkstatus_t *ns, smartlist_t *tokens)
/** Parse a v3 networkstatus vote, opinion, or consensus (depending on
* ns_type), from <b>s</b>, and return the result. Return NULL on failure. */
networkstatus_t *
-networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
+networkstatus_parse_vote_from_string(const char *s,
+ size_t s_len,
+ const char **eos_out,
networkstatus_type_t ns_type)
{
smartlist_t *tokens = smartlist_new();
@@ -1067,20 +1075,22 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
memarea_t *area = NULL, *rs_area = NULL;
consensus_flavor_t flav = FLAV_NS;
char *last_kwd=NULL;
+ const char *eos = s + s_len;
tor_assert(s);
if (eos_out)
*eos_out = NULL;
- if (router_get_networkstatus_v3_hashes(s, &ns_digests) ||
- router_get_networkstatus_v3_sha3_as_signed(sha3_as_signed, s)<0) {
+ if (router_get_networkstatus_v3_hashes(s, s_len, &ns_digests) ||
+ router_get_networkstatus_v3_sha3_as_signed(sha3_as_signed,
+ s, s_len)<0) {
log_warn(LD_DIR, "Unable to compute digest of network-status");
goto err;
}
area = memarea_new();
- end_of_header = find_start_of_next_routerstatus(s);
+ end_of_header = find_start_of_next_routerstatus(s, eos);
if (tokenize_string(area, s, end_of_header, tokens,
(ns_type == NS_TYPE_CONSENSUS) ?
networkstatus_consensus_token_table :
@@ -1111,10 +1121,12 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
if (ns_type != NS_TYPE_CONSENSUS) {
const char *end_of_cert = NULL;
- if (!(cert = strstr(s, "\ndir-key-certificate-version")))
+ if (!(cert = tor_memstr(s, end_of_header - s,
+ "\ndir-key-certificate-version")))
goto err;
++cert;
- ns->cert = authority_cert_parse_from_string(cert, &end_of_cert);
+ ns->cert = authority_cert_parse_from_string(cert, end_of_header - cert,
+ &end_of_cert);
if (!ns->cert || !end_of_cert || end_of_cert > end_of_header)
goto err;
}
@@ -1424,10 +1436,10 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
s = end_of_header;
ns->routerstatus_list = smartlist_new();
- while (!strcmpstart(s, "r ")) {
+ while (eos - s >= 2 && fast_memeq(s, "r ", 2)) {
if (ns->type != NS_TYPE_CONSENSUS) {
vote_routerstatus_t *rs = tor_malloc_zero(sizeof(vote_routerstatus_t));
- if (routerstatus_parse_entry_from_string(rs_area, &s, rs_tokens, ns,
+ if (routerstatus_parse_entry_from_string(rs_area, &s, eos, rs_tokens, ns,
rs, 0, 0)) {
smartlist_add(ns->routerstatus_list, rs);
} else {
@@ -1435,7 +1447,8 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
}
} else {
routerstatus_t *rs;
- if ((rs = routerstatus_parse_entry_from_string(rs_area, &s, rs_tokens,
+ if ((rs = routerstatus_parse_entry_from_string(rs_area, &s, eos,
+ rs_tokens,
NULL, NULL,
ns->consensus_method,
flav))) {
@@ -1480,10 +1493,10 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
/* Parse footer; check signature. */
footer_tokens = smartlist_new();
- if ((end_of_footer = strstr(s, "\nnetwork-status-version ")))
+ if ((end_of_footer = tor_memstr(s, eos-s, "\nnetwork-status-version ")))
++end_of_footer;
else
- end_of_footer = s + strlen(s);
+ end_of_footer = eos;
if (tokenize_string(area,s, end_of_footer, footer_tokens,
networkstatus_vote_footer_token_table, 0)) {
log_warn(LD_DIR, "Error tokenizing network-status vote footer.");
diff --git a/src/feature/dirparse/ns_parse.h b/src/feature/dirparse/ns_parse.h
index 22438d73a7..85d9ded685 100644
--- a/src/feature/dirparse/ns_parse.h
+++ b/src/feature/dirparse/ns_parse.h
@@ -12,18 +12,19 @@
#ifndef TOR_NS_PARSE_H
#define TOR_NS_PARSE_H
-int router_get_networkstatus_v3_hashes(const char *s,
+int router_get_networkstatus_v3_hashes(const char *s, size_t len,
common_digests_t *digests);
-int router_get_networkstatus_v3_signed_boundaries(const char *s,
+int router_get_networkstatus_v3_signed_boundaries(const char *s, size_t len,
const char **start_out,
const char **end_out);
int router_get_networkstatus_v3_sha3_as_signed(uint8_t *digest_out,
- const char *s);
+ const char *s, size_t len);
int compare_vote_routerstatus_entries(const void **_a, const void **_b);
int networkstatus_verify_bw_weights(networkstatus_t *ns, int);
enum networkstatus_type_t;
networkstatus_t *networkstatus_parse_vote_from_string(const char *s,
+ size_t len,
const char **eos_out,
enum networkstatus_type_t ns_type);
@@ -35,7 +36,8 @@ STATIC int routerstatus_parse_guardfraction(const char *guardfraction_str,
struct memarea_t;
STATIC routerstatus_t *routerstatus_parse_entry_from_string(
struct memarea_t *area,
- const char **s, smartlist_t *tokens,
+ const char **s, const char *eos,
+ smartlist_t *tokens,
networkstatus_t *vote,
vote_routerstatus_t *vote_rs,
int consensus_method,
diff --git a/src/feature/dirparse/parsecommon.c b/src/feature/dirparse/parsecommon.c
index c12f199e4e..2e7cea8169 100644
--- a/src/feature/dirparse/parsecommon.c
+++ b/src/feature/dirparse/parsecommon.c
@@ -266,7 +266,7 @@ get_next_token(memarea_t *area,
* attack, a bug, or some other nonsense. */
#define MAX_LINE_LENGTH (128*1024)
- const char *next, *eol, *obstart;
+ const char *next, *eol;
size_t obname_len;
int i;
directory_token_t *tok;
@@ -352,8 +352,7 @@ get_next_token(memarea_t *area,
if (!eol || eol-*s<11 || strcmpstart(*s, "-----BEGIN ")) /* No object. */
goto check_object;
- obstart = *s; /* Set obstart to start of object spec */
- if (*s+16 >= eol || memchr(*s+11,'\0',eol-*s-16) || /* no short lines, */
+ if (eol - *s <= 16 || memchr(*s+11,'\0',eol-*s-16) || /* no short lines, */
strcmp_len(eol-5, "-----", 5) || /* nuls or invalid endings */
(eol-*s) > MAX_UNPARSED_OBJECT_SIZE) { /* name too long */
RET_ERR("Malformed object: bad begin line");
@@ -383,22 +382,26 @@ get_next_token(memarea_t *area,
if (next - *s > MAX_UNPARSED_OBJECT_SIZE)
RET_ERR("Couldn't parse object: missing footer or object much too big.");
- if (!strcmp(tok->object_type, "RSA PUBLIC KEY")) { /* If it's a public key */
- tok->key = crypto_pk_new();
- if (crypto_pk_read_public_key_from_string(tok->key, obstart, eol-obstart))
- RET_ERR("Couldn't parse public key.");
- } else if (!strcmp(tok->object_type, "RSA PRIVATE KEY")) { /* private key */
- tok->key = crypto_pk_new();
- if (crypto_pk_read_private_key_from_string(tok->key, obstart, eol-obstart))
- RET_ERR("Couldn't parse private key.");
- } else { /* If it's something else, try to base64-decode it */
+ {
int r;
- tok->object_body = ALLOC(next-*s); /* really, this is too much RAM. */
- r = base64_decode(tok->object_body, next-*s, *s, next-*s);
+ size_t maxsize = base64_decode_maxsize(next-*s);
+ tok->object_body = ALLOC(maxsize);
+ r = base64_decode(tok->object_body, maxsize, *s, next-*s);
if (r<0)
RET_ERR("Malformed object: bad base64-encoded data");
tok->object_size = r;
}
+
+ if (!strcmp(tok->object_type, "RSA PUBLIC KEY")) { /* If it's a public key */
+ tok->key = crypto_pk_asn1_decode(tok->object_body, tok->object_size);
+ if (! tok->key)
+ RET_ERR("Couldn't parse public key.");
+ } else if (!strcmp(tok->object_type, "RSA PRIVATE KEY")) { /* private key */
+ tok->key = crypto_pk_asn1_decode_private(tok->object_body,
+ tok->object_size);
+ if (! tok->key)
+ RET_ERR("Couldn't parse private key.");
+ }
*s = eol;
check_object:
diff --git a/src/feature/dirparse/routerparse.c b/src/feature/dirparse/routerparse.c
index 2249ab7cbc..358f6e44e8 100644
--- a/src/feature/dirparse/routerparse.c
+++ b/src/feature/dirparse/routerparse.c
@@ -588,8 +588,8 @@ router_parse_entry_from_string(const char *s, const char *end,
"Relay's onion key had invalid exponent.");
goto err;
}
- router_set_rsa_onion_pkey(tok->key, &router->onion_pkey,
- &router->onion_pkey_len);
+ router->onion_pkey = tor_memdup(tok->object_body, tok->object_size);
+ router->onion_pkey_len = tok->object_size;
crypto_pk_free(tok->key);
if ((tok = find_opt_by_keyword(tokens, K_ONION_KEY_NTOR))) {
diff --git a/src/feature/hibernate/hibernate.c b/src/feature/hibernate/hibernate.c
index 02b05ca3a2..feeb3d92ef 100644
--- a/src/feature/hibernate/hibernate.c
+++ b/src/feature/hibernate/hibernate.c
@@ -50,14 +50,25 @@ hibernating, phase 2:
#include <unistd.h>
#endif
+#ifdef HAVE_SYSTEMD
+# if defined(__COVERITY__) && !defined(__INCLUDE_LEVEL__)
+/* Systemd's use of gcc's __INCLUDE_LEVEL__ extension macro appears to confuse
+ * Coverity. Here's a kludge to unconfuse it.
+ */
+# define __INCLUDE_LEVEL__ 2
+# endif /* defined(__COVERITY__) && !defined(__INCLUDE_LEVEL__) */
+#include <systemd/sd-daemon.h>
+#endif /* defined(HAVE_SYSTEMD) */
+
/** Are we currently awake, asleep, running out of bandwidth, or shutting
* down? */
static hibernate_state_t hibernate_state = HIBERNATE_STATE_INITIAL;
/** If are hibernating, when do we plan to wake up? Set to 0 if we
* aren't hibernating. */
static time_t hibernate_end_time = 0;
-/** If we are shutting down, when do we plan finally exit? Set to 0 if
- * we aren't shutting down. */
+/** If we are shutting down, when do we plan finally exit? Set to 0 if we
+ * aren't shutting down. (This is obsolete; scheduled shutdowns are supposed
+ * to happen from mainloop_schedule_shutdown() now.) */
static time_t shutdown_time = 0;
/** A timed event that we'll use when it's time to wake up from
@@ -821,6 +832,8 @@ hibernate_soft_limit_reached(void)
return get_accounting_bytes() >= soft_limit;
}
+#define TOR_USEC_PER_SEC (1000000)
+
/** Called when we get a SIGINT, or when bandwidth soft limit is
* reached. Puts us into "loose hibernation": we don't accept new
* connections, but we continue handling old ones. */
@@ -855,7 +868,33 @@ hibernate_begin(hibernate_state_t new_state, time_t now)
log_notice(LD_GENERAL,"Interrupt: we have stopped accepting new "
"connections, and will shut down in %d seconds. Interrupt "
"again to exit now.", options->ShutdownWaitLength);
- shutdown_time = time(NULL) + options->ShutdownWaitLength;
+ /* We add an arbitrary delay here so that even if something goes wrong
+ * with the mainloop shutdown code, we can still shutdown from
+ * consider_hibernation() if we call it... but so that the
+ * mainloop_schedule_shutdown() mechanism will be the first one called.
+ */
+ shutdown_time = time(NULL) + options->ShutdownWaitLength + 5;
+ mainloop_schedule_shutdown(options->ShutdownWaitLength);
+#ifdef HAVE_SYSTEMD
+ /* tell systemd that we may need more than the default 90 seconds to shut
+ * down so they don't kill us. add some extra time to actually finish
+ * shutting down, otherwise systemd will kill us immediately after the
+ * EXTEND_TIMEOUT_USEC expires. this is an *upper* limit; tor will probably
+ * only take one or two more seconds, but assume that maybe we got swapped
+ * out and it takes a little while longer.
+ *
+ * as of writing, this is a no-op with all-defaults: ShutdownWaitLength is
+ * 30 seconds, so this will extend the timeout to 60 seconds.
+ * default systemd DefaultTimeoutStopSec is 90 seconds, so systemd will
+ * wait (up to) 90 seconds anyways.
+ *
+ * 2^31 usec = ~2147 sec = ~35 min. probably nobody will actually set
+ * ShutdownWaitLength to more than that, but use a longer type so we don't
+ * need to think about UB on overflow
+ */
+ sd_notifyf(0, "EXTEND_TIMEOUT_USEC=%" PRIu64,
+ ((uint64_t)(options->ShutdownWaitLength) + 30) * TOR_USEC_PER_SEC);
+#endif
} else { /* soft limit reached */
hibernate_end_time = interval_end_time;
}
@@ -1064,11 +1103,12 @@ consider_hibernation(time_t now)
hibernate_state_t prev_state = hibernate_state;
/* If we're in 'exiting' mode, then we just shut down after the interval
- * elapses. */
+ * elapses. The mainloop was supposed to catch this via
+ * mainloop_schedule_shutdown(), but apparently it didn't. */
if (hibernate_state == HIBERNATE_STATE_EXITING) {
tor_assert(shutdown_time);
if (shutdown_time <= now) {
- log_notice(LD_GENERAL, "Clean shutdown finished. Exiting.");
+ log_notice(LD_BUG, "Mainloop did not catch shutdown event; exiting.");
tor_shutdown_event_loop_and_exit(0);
}
return; /* if exiting soon, don't worry about bandwidth limits */
@@ -1080,7 +1120,7 @@ consider_hibernation(time_t now)
if (hibernate_end_time > now && accounting_enabled) {
/* If we're hibernating, don't wake up until it's time, regardless of
* whether we're in a new interval. */
- return ;
+ return;
} else {
hibernate_end_time_elapsed(now);
}
@@ -1208,8 +1248,6 @@ on_hibernate_state_change(hibernate_state_t prev_state)
if (prev_state != HIBERNATE_STATE_INITIAL) {
rescan_periodic_events(get_options());
}
-
- reschedule_per_second_timer();
}
/** Free all resources held by the accounting module */
diff --git a/src/feature/hs/hs_config.c b/src/feature/hs/hs_config.c
index 93d7403dfb..497e31fbb4 100644
--- a/src/feature/hs/hs_config.c
+++ b/src/feature/hs/hs_config.c
@@ -419,7 +419,7 @@ config_generic_service(const config_line_t *line_,
dup_opt_seen = line->key;
goto err;
}
- have_version = 1;
+ have_version = service->config.hs_version_explicitly_set = 1;
continue;
}
/* Virtual port. */
@@ -534,18 +534,15 @@ config_service(const config_line_t *line, const or_options_t *options,
/* We have a new hidden service. */
service = hs_service_new(options);
+
/* We'll configure that service as a generic one and then pass it to a
* specific function according to the configured version number. */
if (config_generic_service(line, options, service) < 0) {
goto err;
}
+
tor_assert(service->config.version <= HS_VERSION_MAX);
- /* Before we configure the service on a per-version basis, we'll make
- * sure that this set of options for a service are valid that is for
- * instance an option only for v2 is not used for v3. */
- if (config_has_invalid_options(line->next, service)) {
- goto err;
- }
+
/* Check permission on service directory that was just parsed. And this must
* be done regardless of the service version. Do not ask for the directory
* to be created, this is done when the keys are loaded because we could be
@@ -556,11 +553,19 @@ config_service(const config_line_t *line, const or_options_t *options,
0) < 0) {
goto err;
}
+
/* We'll try to learn the service version here by loading the key(s) if
- * present. Depending on the key format, we can figure out the service
- * version. If we can't find a key, the configuration version will be used
- * which has been set previously. */
- service->config.version = config_learn_service_version(service);
+ * present and we did not set HiddenServiceVersion. Depending on the key
+ * format, we can figure out the service version. */
+ if (!service->config.hs_version_explicitly_set) {
+ service->config.version = config_learn_service_version(service);
+ }
+
+ /* We make sure that this set of options for a service are valid that is for
+ * instance an option only for v2 is not used for v3. */
+ if (config_has_invalid_options(line->next, service)) {
+ goto err;
+ }
/* Different functions are in charge of specific options for a version. We
* start just after the service directory line so once we hit another
@@ -580,13 +585,16 @@ config_service(const config_line_t *line, const or_options_t *options,
if (ret < 0) {
goto err;
}
+
/* We'll check if this service can be kept depending on the others
* configured previously. */
if (service_is_duplicate_in_list(service_list, service)) {
goto err;
}
+
/* Passes, add it to the given list. */
smartlist_add(service_list, service);
+
return 0;
err:
diff --git a/src/feature/hs/hs_descriptor.c b/src/feature/hs/hs_descriptor.c
index 0e3c761bf6..1b2008c804 100644
--- a/src/feature/hs/hs_descriptor.c
+++ b/src/feature/hs/hs_descriptor.c
@@ -1406,10 +1406,10 @@ encrypted_data_length_is_valid(size_t len)
* SECRET_SEED = x25519(sk, pk)
* KEYS = KDF(subcredential | SECRET_SEED, 40)
*
- * The keys_out parameter will points to the buffer containing the KEYS. The
- * caller should wipe and free its content once done with it. This function
- * can't fail. */
-static void
+ * Set the <b>keys_out</b> argument to point to the buffer containing the KEYS,
+ * and return the buffer's length. The caller should wipe and free its content
+ * once done with it. This function can't fail. */
+static size_t
build_descriptor_cookie_keys(const uint8_t *subcredential,
size_t subcredential_len,
const curve25519_secret_key_t *sk,
@@ -1441,6 +1441,7 @@ build_descriptor_cookie_keys(const uint8_t *subcredential,
memwipe(secret_seed, 0, sizeof(secret_seed));
*keys_out = keystream;
+ return keystream_len;
}
/* Decrypt the descriptor cookie given the descriptor, the auth client,
@@ -1456,6 +1457,7 @@ decrypt_descriptor_cookie(const hs_descriptor_t *desc,
{
int ret = -1;
uint8_t *keystream = NULL;
+ size_t keystream_length = 0;
uint8_t *descriptor_cookie = NULL;
const uint8_t *cookie_key = NULL;
crypto_cipher_t *cipher = NULL;
@@ -1471,10 +1473,12 @@ decrypt_descriptor_cookie(const hs_descriptor_t *desc,
tor_assert(!tor_mem_is_zero((char *) desc->subcredential, DIGEST256_LEN));
/* Get the KEYS component to derive the CLIENT-ID and COOKIE-KEY. */
- build_descriptor_cookie_keys(desc->subcredential, DIGEST256_LEN,
- client_auth_sk,
- &desc->superencrypted_data.auth_ephemeral_pubkey,
- &keystream);
+ keystream_length =
+ build_descriptor_cookie_keys(desc->subcredential, DIGEST256_LEN,
+ client_auth_sk,
+ &desc->superencrypted_data.auth_ephemeral_pubkey,
+ &keystream);
+ tor_assert(keystream_length > 0);
/* If the client id of auth client is not the same as the calculcated
* client id, it means that this auth client is invaild according to the
@@ -1500,7 +1504,7 @@ decrypt_descriptor_cookie(const hs_descriptor_t *desc,
if (cipher) {
crypto_cipher_free(cipher);
}
- memwipe(keystream, 0, sizeof(keystream));
+ memwipe(keystream, 0, keystream_length);
tor_free(keystream);
return ret;
}
@@ -2915,6 +2919,7 @@ hs_desc_build_authorized_client(const uint8_t *subcredential,
hs_desc_authorized_client_t *client_out)
{
uint8_t *keystream = NULL;
+ size_t keystream_length = 0;
const uint8_t *cookie_key;
crypto_cipher_t *cipher;
@@ -2933,8 +2938,11 @@ hs_desc_build_authorized_client(const uint8_t *subcredential,
DIGEST256_LEN));
/* Get the KEYS part so we can derive the CLIENT-ID and COOKIE-KEY. */
- build_descriptor_cookie_keys(subcredential, DIGEST256_LEN,
- auth_ephemeral_sk, client_auth_pk, &keystream);
+ keystream_length =
+ build_descriptor_cookie_keys(subcredential, DIGEST256_LEN,
+ auth_ephemeral_sk, client_auth_pk,
+ &keystream);
+ tor_assert(keystream_length > 0);
/* Extract the CLIENT-ID and COOKIE-KEY from the KEYS. */
memcpy(client_out->client_id, keystream, HS_DESC_CLIENT_ID_LEN);
@@ -2951,7 +2959,7 @@ hs_desc_build_authorized_client(const uint8_t *subcredential,
(const char *) descriptor_cookie,
HS_DESC_DESCRIPTOR_COOKIE_LEN);
- memwipe(keystream, 0, sizeof(keystream));
+ memwipe(keystream, 0, keystream_length);
tor_free(keystream);
crypto_cipher_free(cipher);
diff --git a/src/feature/hs/hs_intropoint.c b/src/feature/hs/hs_intropoint.c
index c716447c9f..2ea53af6a0 100644
--- a/src/feature/hs/hs_intropoint.c
+++ b/src/feature/hs/hs_intropoint.c
@@ -503,12 +503,6 @@ handle_introduce1(or_circuit_t *client_circ, const uint8_t *request,
/* Circuit has been closed on failure of transmission. */
goto done;
}
- if (status != HS_INTRO_ACK_STATUS_SUCCESS) {
- /* We just sent a NACK that is a non success status code so close the
- * circuit because it's not useful to keep it open. Remember, a client can
- * only send one INTRODUCE1 cell on a circuit. */
- circuit_mark_for_close(TO_CIRCUIT(client_circ), END_CIRC_REASON_INTERNAL);
- }
done:
trn_cell_introduce1_free(parsed_cell);
return ret;
diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 78654bfb23..623a239d50 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -1696,6 +1696,32 @@ build_desc_intro_points(const hs_service_t *service,
} DIGEST256MAP_FOREACH_END;
}
+/* Build the descriptor signing key certificate. */
+static void
+build_desc_signing_key_cert(hs_service_descriptor_t *desc, time_t now)
+{
+ hs_desc_plaintext_data_t *plaintext;
+
+ tor_assert(desc);
+ tor_assert(desc->desc);
+
+ /* Ease our life a bit. */
+ plaintext = &desc->desc->plaintext_data;
+
+ /* Get rid of what we have right now. */
+ tor_cert_free(plaintext->signing_key_cert);
+
+ /* Fresh certificate for the signing key. */
+ plaintext->signing_key_cert =
+ tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC,
+ &desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME,
+ CERT_FLAG_INCLUDE_SIGNING_KEY);
+ /* If the cert creation fails, the descriptor encoding will fail and thus
+ * ultimately won't be uploaded. We'll get a stack trace to help us learn
+ * where the call came from and the tor_cert_create() will log the error. */
+ tor_assert_nonfatal(plaintext->signing_key_cert);
+}
+
/* Populate the descriptor encrypted section from the given service object.
* This will generate a valid list of introduction points that can be used
* after for circuit creation. Return 0 on success else -1 on error. */
@@ -1811,17 +1837,15 @@ build_service_desc_superencrypted(const hs_service_t *service,
/* Populate the descriptor plaintext section from the given service object.
* The caller must make sure that the keys in the descriptors are valid that
- * is are non-zero. Return 0 on success else -1 on error. */
-static int
+ * is are non-zero. This can't fail. */
+static void
build_service_desc_plaintext(const hs_service_t *service,
- hs_service_descriptor_t *desc, time_t now)
+ hs_service_descriptor_t *desc)
{
- int ret = -1;
hs_desc_plaintext_data_t *plaintext;
tor_assert(service);
tor_assert(desc);
- /* XXX: Use a "assert_desc_ok()" ? */
tor_assert(!tor_mem_is_zero((char *) &desc->blinded_kp,
sizeof(desc->blinded_kp)));
tor_assert(!tor_mem_is_zero((char *) &desc->signing_kp,
@@ -1835,24 +1859,13 @@ build_service_desc_plaintext(const hs_service_t *service,
plaintext->version = service->config.version;
plaintext->lifetime_sec = HS_DESC_DEFAULT_LIFETIME;
- plaintext->signing_key_cert =
- tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC,
- &desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME,
- CERT_FLAG_INCLUDE_SIGNING_KEY);
- if (plaintext->signing_key_cert == NULL) {
- log_warn(LD_REND, "Unable to create descriptor signing certificate for "
- "service %s",
- safe_str_client(service->onion_address));
- goto end;
- }
/* Copy public key material to go in the descriptor. */
ed25519_pubkey_copy(&plaintext->signing_pubkey, &desc->signing_kp.pubkey);
ed25519_pubkey_copy(&plaintext->blinded_pubkey, &desc->blinded_kp.pubkey);
- /* Success. */
- ret = 0;
- end:
- return ret;
+ /* Create the signing key certificate. This will be updated before each
+ * upload but we create it here so we don't complexify our unit tests. */
+ build_desc_signing_key_cert(desc, approx_time());
}
/** Compute the descriptor's OPE cipher for encrypting revision counters. */
@@ -1924,12 +1937,10 @@ build_service_desc_keys(const hs_service_t *service,
goto end;
}
- /* Random a descriptor cookie to be used as a part of a key to encrypt the
- * descriptor, if the client auth is enabled. */
- if (service->config.is_client_auth_enabled) {
- crypto_strongest_rand(desc->descriptor_cookie,
- sizeof(desc->descriptor_cookie));
- }
+ /* Random descriptor cookie to be used as a part of a key to encrypt the
+ * descriptor, only if the client auth is enabled will it be used. */
+ crypto_strongest_rand(desc->descriptor_cookie,
+ sizeof(desc->descriptor_cookie));
/* Success. */
ret = 0;
@@ -1944,8 +1955,7 @@ build_service_desc_keys(const hs_service_t *service,
*
* This can error if we are unable to create keys or certificate. */
static void
-build_service_descriptor(hs_service_t *service, time_t now,
- uint64_t time_period_num,
+build_service_descriptor(hs_service_t *service, uint64_t time_period_num,
hs_service_descriptor_t **desc_out)
{
char *encoded_desc;
@@ -1964,9 +1974,8 @@ build_service_descriptor(hs_service_t *service, time_t now,
goto err;
}
/* Setup plaintext descriptor content. */
- if (build_service_desc_plaintext(service, desc, now) < 0) {
- goto err;
- }
+ build_service_desc_plaintext(service, desc);
+
/* Setup superencrypted descriptor content. */
if (build_service_desc_superencrypted(service, desc) < 0) {
goto err;
@@ -2039,10 +2048,8 @@ build_descriptors_for_new_service(hs_service_t *service, time_t now)
}
/* Build descriptors. */
- build_service_descriptor(service, now, current_desc_tp,
- &service->desc_current);
- build_service_descriptor(service, now, next_desc_tp,
- &service->desc_next);
+ build_service_descriptor(service, current_desc_tp, &service->desc_current);
+ build_service_descriptor(service, next_desc_tp, &service->desc_next);
log_info(LD_REND, "Hidden service %s has just started. Both descriptors "
"built. Now scheduled for upload.",
safe_str_client(service->onion_address));
@@ -2072,7 +2079,7 @@ build_all_descriptors(time_t now)
}
if (service->desc_next == NULL) {
- build_service_descriptor(service, now, hs_get_next_time_period_num(0),
+ build_service_descriptor(service, hs_get_next_time_period_num(0),
&service->desc_next);
log_info(LD_REND, "Hidden service %s next descriptor successfully "
"built. Now scheduled for upload.",
@@ -2284,12 +2291,9 @@ service_desc_schedule_upload(hs_service_descriptor_t *desc,
}
}
-/* Update the given descriptor from the given service. The possible update
- * actions includes:
- * - Picking missing intro points if needed.
- */
+/* Pick missing intro points for this descriptor if needed. */
static void
-update_service_descriptor(hs_service_t *service,
+update_service_descriptor_intro_points(hs_service_t *service,
hs_service_descriptor_t *desc, time_t now)
{
unsigned int num_intro_points;
@@ -2328,15 +2332,17 @@ update_service_descriptor(hs_service_t *service,
}
}
-/* Update descriptors for each service if needed. */
+/* Update descriptor intro points for each service if needed. We do this as
+ * part of the periodic event because we need to establish intro point circuits
+ * before we publish descriptors. */
STATIC void
-update_all_descriptors(time_t now)
+update_all_descriptors_intro_points(time_t now)
{
FOR_EACH_SERVICE_BEGIN(service) {
/* We'll try to update each descriptor that is if certain conditions apply
* in order for the descriptor to be updated. */
FOR_EACH_DESCRIPTOR_BEGIN(service, desc) {
- update_service_descriptor(service, desc, now);
+ update_service_descriptor_intro_points(service, desc, now);
} FOR_EACH_DESCRIPTOR_END;
} FOR_EACH_SERVICE_END;
}
@@ -2621,10 +2627,10 @@ run_build_descriptor_event(time_t now)
* been rotated or we just started up. */
build_all_descriptors(now);
- /* Finally, we'll check if we should update the descriptors. Missing
- * introduction points will be picked in this function which is useful for
- * newly built descriptors. */
- update_all_descriptors(now);
+ /* Finally, we'll check if we should update the descriptors' intro
+ * points. Missing introduction points will be picked in this function which
+ * is useful for newly built descriptors. */
+ update_all_descriptors_intro_points(now);
}
/* For the given service, launch any intro point circuits that could be
@@ -2925,8 +2931,8 @@ set_descriptor_revision_counter(hs_service_descriptor_t *hs_desc, time_t now,
/* The OPE module returns CRYPTO_OPE_ERROR in case of errors. */
tor_assert_nonfatal(rev_counter < CRYPTO_OPE_ERROR);
- log_info(LD_REND, "Encrypted revision counter %d to %ld",
- (int) seconds_since_start_of_srv, (long int) rev_counter);
+ log_info(LD_REND, "Encrypted revision counter %d to %" PRIu64,
+ (int) seconds_since_start_of_srv, rev_counter);
hs_desc->desc->plaintext_data.revision_counter = rev_counter;
}
@@ -3085,6 +3091,37 @@ should_service_upload_descriptor(const hs_service_t *service,
return 0;
}
+/* Refresh the given service descriptor meaning this will update every mutable
+ * field that needs to be updated before we upload.
+ *
+ * This should ONLY be called before uploading a descriptor. It assumes that
+ * the descriptor has been built (desc->desc) and that all intro point
+ * circuits have been established. */
+static void
+refresh_service_descriptor(const hs_service_t *service,
+ hs_service_descriptor_t *desc, time_t now)
+{
+ /* There are few fields that we consider "mutable" in the descriptor meaning
+ * we need to update them regurlarly over the lifetime fo the descriptor.
+ * The rest are set once and should not be modified.
+ *
+ * - Signing key certificate.
+ * - Revision counter.
+ * - Introduction points which includes many thing. See
+ * hs_desc_intro_point_t. and the setup_desc_intro_point() function.
+ */
+
+ /* Create the signing key certificate. */
+ build_desc_signing_key_cert(desc, now);
+
+ /* Build the intro points descriptor section. The refresh step is just
+ * before we upload so all circuits have been properly established. */
+ build_desc_intro_points(service, desc, now);
+
+ /* Set the desc revision counter right before uploading */
+ set_descriptor_revision_counter(desc, now, service->desc_current == desc);
+}
+
/* Scheduled event run from the main loop. Try to upload the descriptor for
* each service. */
STATIC void
@@ -3120,15 +3157,12 @@ run_upload_descriptor_event(time_t now)
service->config.num_intro_points,
(desc->missing_intro_points) ? " (couldn't pick more)" : "");
- /* At this point, we have to upload the descriptor so start by building
- * the intro points descriptor section which we are now sure to be
- * accurate because all circuits have been established. */
- build_desc_intro_points(service, desc, now);
-
- /* Set the desc revision counter right before uploading */
- set_descriptor_revision_counter(desc, approx_time(),
- service->desc_current == desc);
+ /* We are about to upload so we need to do one last step which is to
+ * update the service's descriptor mutable fields in order to upload a
+ * coherent descriptor. */
+ refresh_service_descriptor(service, desc, now);
+ /* Proceed with the upload, the descriptor is ready to be encoded. */
upload_descriptor_to_all(service, desc);
} FOR_EACH_DESCRIPTOR_END;
} FOR_EACH_SERVICE_END;
@@ -3593,8 +3627,10 @@ hs_service_del_ephemeral(const char *address)
goto err;
}
- /* Close circuits, remove from map and finally free. */
- close_service_circuits(service);
+ /* Close introduction circuits, remove from map and finally free. Notice
+ * that the rendezvous circuits aren't closed in order for any existing
+ * connections to finish. We let the application terminate them. */
+ close_service_intro_circuits(service);
remove_service(hs_service_map, service);
hs_service_free(service);
@@ -3633,8 +3669,8 @@ hs_service_lookup_current_desc(const ed25519_public_key_t *pk)
}
/* Return the number of service we have configured and usable. */
-unsigned int
-hs_service_get_num_services(void)
+MOCK_IMPL(unsigned int,
+hs_service_get_num_services,(void))
{
if (hs_service_map == NULL) {
return 0;
diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 6fb15b9d37..be1155bcd1 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -99,49 +99,65 @@ typedef struct hs_service_intropoints_t {
digestmap_t *failed_id;
} hs_service_intropoints_t;
-/* Representation of a service descriptor. */
+/* Representation of a service descriptor.
+ *
+ * Some elements of the descriptor are mutable whereas others are immutable:
+
+ * Immutable elements are initialized once when the descriptor is built (when
+ * service descriptors gets rotated). This means that these elements are
+ * initialized once and then they don't change for the lifetime of the
+ * descriptor. See build_service_descriptor().
+ *
+ * Mutable elements are initialized when we build the descriptor but they are
+ * also altered during the lifetime of the descriptor. They could be
+ * _refreshed_ everytime we upload the descriptor (which happens multiple times
+ * over the lifetime of the descriptor), or through periodic events. We do this
+ * for elements like the descriptor revision counter and various
+ * certificates. See refresh_service_descriptor() and
+ * update_service_descriptor_intro_points().
+ */
typedef struct hs_service_descriptor_t {
- /* Decoded descriptor. This object is used for encoding when the service
- * publishes the descriptor. */
- hs_descriptor_t *desc;
-
- /* Client authorization ephemeral keypair. */
+ /* Immutable: Client authorization ephemeral keypair. */
curve25519_keypair_t auth_ephemeral_kp;
- /* Descriptor cookie used to encrypt the descriptor, when the client
- * authorization is enabled */
+ /* Immutable: Descriptor cookie used to encrypt the descriptor, when the
+ * client authorization is enabled */
uint8_t descriptor_cookie[HS_DESC_DESCRIPTOR_COOKIE_LEN];
- /* Descriptor signing keypair. */
+ /* Immutable: Descriptor signing keypair. */
ed25519_keypair_t signing_kp;
- /* Blinded keypair derived from the master identity public key. */
+ /* Immutable: Blinded keypair derived from the master identity public key. */
ed25519_keypair_t blinded_kp;
- /* When is the next time when we should upload the descriptor. */
+ /* Immutable: The time period number this descriptor has been created for. */
+ uint64_t time_period_num;
+
+ /** Immutable: The OPE cipher for encrypting revision counters for this
+ * descriptor. Tied to the descriptor blinded key. */
+ struct crypto_ope_t *ope_cipher;
+
+ /* Mutable: Decoded descriptor. This object is used for encoding when the
+ * service publishes the descriptor. */
+ hs_descriptor_t *desc;
+
+ /* Mutable: When is the next time when we should upload the descriptor. */
time_t next_upload_time;
- /* Introduction points assign to this descriptor which contains
- * hs_service_intropoints_t object indexed by authentication key (the RSA
- * key if the node is legacy). */
+ /* Mutable: Introduction points assign to this descriptor which contains
+ * hs_service_intropoints_t object indexed by authentication key (the RSA key
+ * if the node is legacy). */
hs_service_intropoints_t intro_points;
- /* The time period number this descriptor has been created for. */
- uint64_t time_period_num;
-
- /* True iff we have missing intro points for this descriptor because we
- * couldn't pick any nodes. */
+ /* Mutable: True iff we have missing intro points for this descriptor because
+ * we couldn't pick any nodes. */
unsigned int missing_intro_points : 1;
- /** List of the responsible HSDirs (their b64ed identity digest) last time we
- * uploaded this descriptor. If the set of responsible HSDirs is different
- * from this list, this means we received new dirinfo and we need to
- * reupload our descriptor. */
+ /** Mutable: List of the responsible HSDirs (their b64ed identity digest)
+ * last time we uploaded this descriptor. If the set of responsible HSDirs
+ * is different from this list, this means we received new dirinfo and we
+ * need to reupload our descriptor. */
smartlist_t *previous_hsdirs;
-
- /** The OPE cipher for encrypting revision counters for this descriptor.
- * Tied to the descriptor blinded key. */
- struct crypto_ope_t *ope_cipher;
} hs_service_descriptor_t;
/* Service key material. */
@@ -178,6 +194,9 @@ typedef struct hs_service_config_t {
* option. */
uint32_t version;
+ /* Have we explicitly set HiddenServiceVersion? */
+ unsigned int hs_version_explicitly_set : 1;
+
/* List of rend_service_port_config_t */
smartlist_t *ports;
@@ -291,7 +310,7 @@ hs_service_t *hs_service_new(const or_options_t *options);
void hs_service_free_(hs_service_t *service);
#define hs_service_free(s) FREE_AND_NULL(hs_service_t, hs_service_free_, (s))
-unsigned int hs_service_get_num_services(void);
+MOCK_DECL(unsigned int, hs_service_get_num_services,(void));
void hs_service_stage_services(const smartlist_t *service_list);
int hs_service_load_all_keys(void);
int hs_service_get_version_from_key(const hs_service_t *service);
@@ -387,7 +406,7 @@ STATIC int intro_point_should_expire(const hs_service_intro_point_t *ip,
STATIC void run_housekeeping_event(time_t now);
STATIC void rotate_all_descriptors(time_t now);
STATIC void build_all_descriptors(time_t now);
-STATIC void update_all_descriptors(time_t now);
+STATIC void update_all_descriptors_intro_points(time_t now);
STATIC void run_upload_descriptor_event(time_t now);
STATIC void service_descriptor_free_(hs_service_descriptor_t *desc);
diff --git a/src/feature/nodelist/authcert.c b/src/feature/nodelist/authcert.c
index b111422d0d..2c4915e913 100644
--- a/src/feature/nodelist/authcert.c
+++ b/src/feature/nodelist/authcert.c
@@ -380,7 +380,8 @@ trusted_dirs_load_certs_from_string(const char *contents, int source,
int added_trusted_cert = 0;
for (s = contents; *s; s = eos) {
- authority_cert_t *cert = authority_cert_parse_from_string(s, &eos);
+ authority_cert_t *cert = authority_cert_parse_from_string(s, strlen(s),
+ &eos);
cert_list_t *cl;
if (!cert) {
failure_code = -1;
diff --git a/src/feature/nodelist/fmt_routerstatus.c b/src/feature/nodelist/fmt_routerstatus.c
index e70aeb2950..b1d4a48038 100644
--- a/src/feature/nodelist/fmt_routerstatus.c
+++ b/src/feature/nodelist/fmt_routerstatus.c
@@ -135,7 +135,7 @@ routerstatus_format_entry(const routerstatus_t *rs, const char *version,
goto done;
smartlist_add_asprintf(chunks,
- "s%s%s%s%s%s%s%s%s%s%s\n",
+ "s%s%s%s%s%s%s%s%s%s%s%s\n",
/* These must stay in alphabetical order. */
rs->is_authority?" Authority":"",
rs->is_bad_exit?" BadExit":"",
@@ -145,6 +145,7 @@ routerstatus_format_entry(const routerstatus_t *rs, const char *version,
rs->is_hs_dir?" HSDir":"",
rs->is_flagged_running?" Running":"",
rs->is_stable?" Stable":"",
+ rs->is_staledesc?" StaleDesc":"",
rs->is_v2_dir?" V2Dir":"",
rs->is_valid?" Valid":"");
diff --git a/src/feature/nodelist/microdesc.c b/src/feature/nodelist/microdesc.c
index 146c772daf..eadca69548 100644
--- a/src/feature/nodelist/microdesc.c
+++ b/src/feature/nodelist/microdesc.c
@@ -23,6 +23,7 @@
#include "feature/nodelist/dirlist.h"
#include "feature/nodelist/microdesc.h"
#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/routerlist.h"
#include "feature/relay/router.h"
@@ -108,10 +109,12 @@ microdesc_note_outdated_dirserver(const char *relay_digest)
{
char relay_hexdigest[HEX_DIGEST_LEN+1];
- /* Don't register outdated dirservers if we don't have a live consensus,
- * since we might be trying to fetch microdescriptors that are not even
- * currently active. */
- if (!networkstatus_get_live_consensus(approx_time())) {
+ /* If we have a reasonably live consensus, then most of our dirservers should
+ * still be caching all the microdescriptors in it. Reasonably live
+ * consensuses are up to a day old. But microdescriptors expire 7 days after
+ * the last consensus that referenced them. */
+ if (!networkstatus_get_reasonably_live_consensus(approx_time(),
+ FLAV_MICRODESC)) {
return;
}
@@ -882,10 +885,7 @@ microdesc_free_(microdesc_t *md, const char *fname, int lineno)
if (md->body && md->saved_location != SAVED_IN_CACHE)
tor_free(md->body);
- if (md->family) {
- SMARTLIST_FOREACH(md->family, char *, cp, tor_free(cp));
- smartlist_free(md->family);
- }
+ nodefamily_free(md->family);
short_policy_free(md->exit_policy);
short_policy_free(md->ipv6_exit_policy);
diff --git a/src/feature/nodelist/microdesc_st.h b/src/feature/nodelist/microdesc_st.h
index d23da13137..30c896181d 100644
--- a/src/feature/nodelist/microdesc_st.h
+++ b/src/feature/nodelist/microdesc_st.h
@@ -9,6 +9,7 @@
struct curve25519_public_key_t;
struct ed25519_public_key_t;
+struct nodefamily_t;
struct short_policy_t;
/** A microdescriptor is the smallest amount of information needed to build a
@@ -69,8 +70,8 @@ struct microdesc_t {
tor_addr_t ipv6_addr;
/** As routerinfo_t.ipv6_orport */
uint16_t ipv6_orport;
- /** As routerinfo_t.family */
- smartlist_t *family;
+ /** As routerinfo_t.family, with readable members parsed. */
+ struct nodefamily_t *family;
/** IPv4 exit policy summary */
struct short_policy_t *exit_policy;
/** IPv6 exit policy summary */
diff --git a/src/feature/nodelist/networkstatus.c b/src/feature/nodelist/networkstatus.c
index de2451b79c..65ea3cc491 100644
--- a/src/feature/nodelist/networkstatus.c
+++ b/src/feature/nodelist/networkstatus.c
@@ -116,8 +116,6 @@ STATIC networkstatus_t *current_md_consensus = NULL;
typedef struct consensus_waiting_for_certs_t {
/** The consensus itself. */
networkstatus_t *consensus;
- /** The encoded version of the consensus, nul-terminated. */
- char *body;
/** When did we set the current value of consensus_waiting_for_certs? If
* this is too recent, we shouldn't try to fetch a new consensus for a
* little while, to give ourselves time to get certificates for this one. */
@@ -210,14 +208,11 @@ networkstatus_reset_download_failures(void)
download_status_reset(&consensus_bootstrap_dl_status[i]);
}
-/**
- * Read and and return the cached consensus of type <b>flavorname</b>. If
- * <b>unverified</b> is true, get the one we haven't verified. Return NULL if
- * the file isn't there. */
+/** Return the filename used to cache the consensus of a given flavor */
static char *
-networkstatus_read_cached_consensus_impl(int flav,
- const char *flavorname,
- int unverified_consensus)
+networkstatus_get_cache_fname(int flav,
+ const char *flavorname,
+ int unverified_consensus)
{
char buf[128];
const char *prefix;
@@ -232,21 +227,35 @@ networkstatus_read_cached_consensus_impl(int flav,
tor_snprintf(buf, sizeof(buf), "%s-%s-consensus", prefix, flavorname);
}
- char *filename = get_cachedir_fname(buf);
- char *result = read_file_to_str(filename, RFTS_IGNORE_MISSING, NULL);
+ return get_cachedir_fname(buf);
+}
+
+/**
+ * Read and and return the cached consensus of type <b>flavorname</b>. If
+ * <b>unverified</b> is false, get the one we haven't verified. Return NULL if
+ * the file isn't there. */
+static tor_mmap_t *
+networkstatus_map_cached_consensus_impl(int flav,
+ const char *flavorname,
+ int unverified_consensus)
+{
+ char *filename = networkstatus_get_cache_fname(flav,
+ flavorname,
+ unverified_consensus);
+ tor_mmap_t *result = tor_mmap_file(filename);
tor_free(filename);
return result;
}
-/** Return a new string containing the current cached consensus of flavor
- * <b>flavorname</b>. */
-char *
-networkstatus_read_cached_consensus(const char *flavorname)
- {
+/** Map the file containing the current cached consensus of flavor
+ * <b>flavorname</b> */
+tor_mmap_t *
+networkstatus_map_cached_consensus(const char *flavorname)
+{
int flav = networkstatus_parse_flavor_name(flavorname);
if (flav < 0)
return NULL;
- return networkstatus_read_cached_consensus_impl(flav, flavorname, 0);
+ return networkstatus_map_cached_consensus_impl(flav, flavorname, 0);
}
/** Read every cached v3 consensus networkstatus from the disk. */
@@ -259,24 +268,26 @@ router_reload_consensus_networkstatus(void)
/* FFFF Suppress warnings if cached consensus is bad? */
for (flav = 0; flav < N_CONSENSUS_FLAVORS; ++flav) {
const char *flavor = networkstatus_get_flavor_name(flav);
- char *s = networkstatus_read_cached_consensus_impl(flav, flavor, 0);
- if (s) {
- if (networkstatus_set_current_consensus(s, flavor, flags, NULL) < -1) {
+ tor_mmap_t *m = networkstatus_map_cached_consensus_impl(flav, flavor, 0);
+ if (m) {
+ if (networkstatus_set_current_consensus(m->data, m->size,
+ flavor, flags, NULL) < -1) {
log_warn(LD_FS, "Couldn't load consensus %s networkstatus from cache",
flavor);
}
- tor_free(s);
+ tor_munmap_file(m);
}
- s = networkstatus_read_cached_consensus_impl(flav, flavor, 1);
- if (s) {
- if (networkstatus_set_current_consensus(s, flavor,
+ m = networkstatus_map_cached_consensus_impl(flav, flavor, 1);
+ if (m) {
+ if (networkstatus_set_current_consensus(m->data, m->size,
+ flavor,
flags | NSSET_WAS_WAITING_FOR_CERTS,
NULL)) {
log_info(LD_FS, "Couldn't load unverified consensus %s networkstatus "
"from cache", flavor);
}
- tor_free(s);
+ tor_munmap_file(m);
}
}
@@ -713,8 +724,8 @@ networkstatus_vote_find_mutable_entry(networkstatus_t *ns, const char *digest)
/** Return the entry in <b>ns</b> for the identity digest <b>digest</b>, or
* NULL if none was found. */
-const routerstatus_t *
-networkstatus_vote_find_entry(networkstatus_t *ns, const char *digest)
+MOCK_IMPL(const routerstatus_t *,
+networkstatus_vote_find_entry,(networkstatus_t *ns, const char *digest))
{
return networkstatus_vote_find_mutable_entry(ns, digest);
}
@@ -1448,13 +1459,10 @@ networkstatus_valid_until_is_reasonably_live(time_t valid_until,
return (now <= valid_until + REASONABLY_LIVE_TIME);
}
-/* XXXX remove this in favor of get_live_consensus. But actually,
- * leave something like it for bridge users, who need to not totally
- * lose if they spend a while fetching a new consensus. */
/** As networkstatus_get_live_consensus(), but is way more tolerant of expired
* consensuses. */
-networkstatus_t *
-networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+MOCK_IMPL(networkstatus_t *,
+networkstatus_get_reasonably_live_consensus,(time_t now, int flavor))
{
networkstatus_t *consensus =
networkstatus_get_latest_consensus_by_flavor(flavor);
@@ -1844,6 +1852,7 @@ warn_early_consensus(const networkstatus_t *c, const char *flavor,
*/
int
networkstatus_set_current_consensus(const char *consensus,
+ size_t consensus_len,
const char *flavor,
unsigned flags,
const char *source_dir)
@@ -1872,7 +1881,9 @@ networkstatus_set_current_consensus(const char *consensus,
}
/* Make sure it's parseable. */
- c = networkstatus_parse_vote_from_string(consensus, NULL, NS_TYPE_CONSENSUS);
+ c = networkstatus_parse_vote_from_string(consensus,
+ consensus_len,
+ NULL, NS_TYPE_CONSENSUS);
if (!c) {
log_warn(LD_DIR, "Unable to parse networkstatus consensus");
result = -2;
@@ -1960,14 +1971,12 @@ networkstatus_set_current_consensus(const char *consensus,
c->valid_after > current_valid_after) {
waiting = &consensus_waiting_for_certs[flav];
networkstatus_vote_free(waiting->consensus);
- tor_free(waiting->body);
waiting->consensus = c;
free_consensus = 0;
- waiting->body = tor_strdup(consensus);
waiting->set_at = now;
waiting->dl_failed = 0;
if (!from_cache) {
- write_str_to_file(unverified_fname, consensus, 0);
+ write_bytes_to_file(unverified_fname, consensus, consensus_len, 0);
}
if (dl_certs)
authority_certs_fetch_missing(c, now, source_dir);
@@ -2058,10 +2067,6 @@ networkstatus_set_current_consensus(const char *consensus,
waiting->consensus->valid_after <= c->valid_after) {
networkstatus_vote_free(waiting->consensus);
waiting->consensus = NULL;
- if (consensus != waiting->body)
- tor_free(waiting->body);
- else
- waiting->body = NULL;
waiting->set_at = 0;
waiting->dl_failed = 0;
if (unlink(unverified_fname) != 0) {
@@ -2111,17 +2116,18 @@ networkstatus_set_current_consensus(const char *consensus,
if (we_want_to_fetch_flavor(options, flav)) {
if (dir_server_mode(get_options())) {
dirserv_set_cached_consensus_networkstatus(consensus,
+ consensus_len,
flavor,
&c->digests,
c->digest_sha3_as_signed,
c->valid_after);
- consdiffmgr_add_consensus(consensus, c);
+ consdiffmgr_add_consensus(consensus, consensus_len, c);
}
}
if (!from_cache) {
- write_str_to_file(consensus_fname, consensus, 0);
+ write_bytes_to_file(consensus_fname, consensus, consensus_len, 0);
}
warn_early_consensus(c, flavor, now);
@@ -2157,14 +2163,16 @@ networkstatus_note_certs_arrived(const char *source_dir)
if (!waiting->consensus)
continue;
if (networkstatus_check_consensus_signature(waiting->consensus, 0)>=0) {
- char *waiting_body = waiting->body;
- if (!networkstatus_set_current_consensus(
- waiting_body,
- flavor_name,
- NSSET_WAS_WAITING_FOR_CERTS,
- source_dir)) {
- tor_free(waiting_body);
+ tor_mmap_t *mapping = networkstatus_map_cached_consensus_impl(
+ i, flavor_name, 1);
+ if (mapping) {
+ networkstatus_set_current_consensus(mapping->data,
+ mapping->size,
+ flavor_name,
+ NSSET_WAS_WAITING_FOR_CERTS,
+ source_dir);
}
+ tor_munmap_file(mapping);
}
}
}
@@ -2392,7 +2400,9 @@ networkstatus_dump_bridge_status_to_file(time_t now)
published, thresholds, fingerprint_line ? fingerprint_line : "",
status);
fname = get_datadir_fname("networkstatus-bridges");
- write_str_to_file(fname,published_thresholds_and_status,0);
+ if (write_str_to_file(fname,published_thresholds_and_status,0)<0) {
+ log_warn(LD_DIRSERV, "Unable to write networkstatus-bridges file.");
+ }
tor_free(thresholds);
tor_free(published_thresholds_and_status);
tor_free(fname);
@@ -2671,6 +2681,9 @@ networkstatus_check_required_protocols(const networkstatus_t *ns,
const char *required, *recommended;
char *missing = NULL;
+ const bool consensus_postdates_this_release =
+ ns->valid_after >= tor_get_approx_release_date();
+
tor_assert(warning_out);
if (client_mode) {
@@ -2688,7 +2701,7 @@ networkstatus_check_required_protocols(const networkstatus_t *ns,
"%s on the Tor network. The missing protocols are: %s",
func, missing);
tor_free(missing);
- return 1;
+ return consensus_postdates_this_release ? 1 : 0;
}
if (! protover_all_supported(recommended, &missing)) {
@@ -2721,6 +2734,5 @@ networkstatus_free_all(void)
networkstatus_vote_free(waiting->consensus);
waiting->consensus = NULL;
}
- tor_free(waiting->body);
}
}
diff --git a/src/feature/nodelist/networkstatus.h b/src/feature/nodelist/networkstatus.h
index 6f8b2dc964..3d212dd304 100644
--- a/src/feature/nodelist/networkstatus.h
+++ b/src/feature/nodelist/networkstatus.h
@@ -16,7 +16,7 @@
void networkstatus_reset_warnings(void);
void networkstatus_reset_download_failures(void);
-char *networkstatus_read_cached_consensus(const char *flavorname);
+tor_mmap_t *networkstatus_map_cached_consensus(const char *flavorname);
int router_reload_consensus_networkstatus(void);
void routerstatus_free_(routerstatus_t *rs);
#define routerstatus_free(rs) \
@@ -40,8 +40,9 @@ int compare_digest_to_routerstatus_entry(const void *_key,
const void **_member);
int compare_digest_to_vote_routerstatus_entry(const void *_key,
const void **_member);
-const routerstatus_t *networkstatus_vote_find_entry(networkstatus_t *ns,
- const char *digest);
+MOCK_DECL(const routerstatus_t *,networkstatus_vote_find_entry,(
+ networkstatus_t *ns,
+ const char *digest));
routerstatus_t *networkstatus_vote_find_mutable_entry(networkstatus_t *ns,
const char *digest);
int networkstatus_vote_find_entry_idx(networkstatus_t *ns,
@@ -89,8 +90,9 @@ int networkstatus_consensus_reasonably_live(const networkstatus_t *consensus,
time_t now);
int networkstatus_valid_until_is_reasonably_live(time_t valid_until,
time_t now);
-networkstatus_t *networkstatus_get_reasonably_live_consensus(time_t now,
- int flavor);
+MOCK_DECL(networkstatus_t *,networkstatus_get_reasonably_live_consensus,
+ (time_t now,
+ int flavor));
MOCK_DECL(int, networkstatus_consensus_is_bootstrapping,(time_t now));
int networkstatus_consensus_can_use_multiple_directories(
const or_options_t *options);
@@ -105,6 +107,7 @@ int networkstatus_consensus_has_ipv6(const or_options_t* options);
#define NSSET_ACCEPT_OBSOLETE 8
#define NSSET_REQUIRE_FLAVOR 16
int networkstatus_set_current_consensus(const char *consensus,
+ size_t consensus_len,
const char *flavor,
unsigned flags,
const char *source_dir);
@@ -156,4 +159,3 @@ extern networkstatus_t *current_md_consensus;
#endif /* defined(NETWORKSTATUS_PRIVATE) */
#endif /* !defined(TOR_NETWORKSTATUS_H) */
-
diff --git a/src/feature/nodelist/nodefamily.c b/src/feature/nodelist/nodefamily.c
new file mode 100644
index 0000000000..944ad54755
--- /dev/null
+++ b/src/feature/nodelist/nodefamily.c
@@ -0,0 +1,416 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file nodefamily.c
+ * \brief Code to manipulate encoded, reference-counted node families. We
+ * use these tricks to save space, since these families would otherwise
+ * require a large number of tiny allocations.
+ **/
+
+#include "core/or/or.h"
+#include "feature/nodelist/nickname.h"
+#include "feature/nodelist/nodefamily.h"
+#include "feature/nodelist/nodefamily_st.h"
+#include "feature/nodelist/nodelist.h"
+#include "feature/relay/router.h"
+#include "feature/nodelist/routerlist.h"
+
+#include "ht.h"
+#include "siphash.h"
+
+#include "lib/container/smartlist.h"
+#include "lib/ctime/di_ops.h"
+#include "lib/defs/digest_sizes.h"
+#include "lib/log/util_bug.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+/**
+ * Allocate and return a blank node family with space to hold <b>n_members</b>
+ * members.
+ */
+static nodefamily_t *
+nodefamily_alloc(int n_members)
+{
+ size_t alloc_len = offsetof(nodefamily_t, family_members) +
+ NODEFAMILY_ARRAY_SIZE(n_members);
+ nodefamily_t *nf = tor_malloc_zero(alloc_len);
+ nf->n_members = n_members;
+ return nf;
+}
+
+/**
+ * Hashtable hash implementation.
+ */
+static inline unsigned int
+nodefamily_hash(const nodefamily_t *nf)
+{
+ return (unsigned) siphash24g(nf->family_members,
+ NODEFAMILY_ARRAY_SIZE(nf->n_members));
+}
+
+/**
+ * Hashtable equality implementation.
+ */
+static inline unsigned int
+nodefamily_eq(const nodefamily_t *a, const nodefamily_t *b)
+{
+ return (a->n_members == b->n_members) &&
+ fast_memeq(a->family_members, b->family_members,
+ NODEFAMILY_ARRAY_SIZE(a->n_members));
+}
+
+static HT_HEAD(nodefamily_map, nodefamily_t) the_node_families
+ = HT_INITIALIZER();
+
+HT_PROTOTYPE(nodefamily_map, nodefamily_t, ht_ent, nodefamily_hash,
+ nodefamily_eq)
+HT_GENERATE2(nodefamily_map, nodefamily_t, ht_ent, nodefamily_hash,
+ node_family_eq, 0.6, tor_reallocarray_, tor_free_)
+
+/**
+ * Parse the family declaration in <b>s</b>, returning the canonical
+ * <b>nodefamily_t</b> for its members. Return NULL on error.
+ *
+ * If <b>rsa_id_self</b> is provided, it is a DIGEST_LEN-byte digest
+ * for the router that declared this family: insert it into the
+ * family declaration if it is not there already.
+ *
+ * If NF_WARN_MALFORMED is set in <b>flags</b>, warn about any
+ * elements that we can't parse. (By default, we log at info.)
+ *
+ * If NF_REJECT_MALFORMED is set in <b>flags</b>, treat any unparseable
+ * elements as an error. (By default, we simply omit them.)
+ **/
+nodefamily_t *
+nodefamily_parse(const char *s, const uint8_t *rsa_id_self,
+ unsigned flags)
+{
+ smartlist_t *sl = smartlist_new();
+ smartlist_split_string(sl, s, NULL, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
+ nodefamily_t *result = nodefamily_from_members(sl, rsa_id_self, flags, NULL);
+ SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp));
+ smartlist_free(sl);
+ return result;
+}
+
+/**
+ * Canonicalize the family list <b>s</b>, returning a newly allocated string.
+ *
+ * The canonicalization rules are fully specified in dir-spec.txt, but,
+ * briefly: $hexid entries are put in caps, $hexid[=~]foo entries are
+ * truncated, nicknames are put into lowercase, unrecognized entries are left
+ * alone, and everything is sorted.
+ **/
+char *
+nodefamily_canonicalize(const char *s, const uint8_t *rsa_id_self,
+ unsigned flags)
+{
+ smartlist_t *sl = smartlist_new();
+ smartlist_t *result_members = smartlist_new();
+ smartlist_split_string(sl, s, NULL, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
+ nodefamily_t *nf = nodefamily_from_members(sl, rsa_id_self, flags,
+ result_members);
+
+ char *formatted = nodefamily_format(nf);
+ smartlist_split_string(result_members, formatted, NULL,
+ SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
+ smartlist_sort_strings(result_members);
+ char *combined = smartlist_join_strings(result_members, " ", 0, NULL);
+
+ nodefamily_free(nf);
+ SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp));
+ smartlist_free(sl);
+ SMARTLIST_FOREACH(result_members, char *, cp, tor_free(cp));
+ smartlist_free(result_members);
+ tor_free(formatted);
+
+ return combined;
+}
+
+/**
+ * qsort helper for encoded nodefamily elements.
+ **/
+static int
+compare_members(const void *a, const void *b)
+{
+ return fast_memcmp(a, b, NODEFAMILY_MEMBER_LEN);
+}
+
+/**
+ * Parse the member strings in <b>members</b>, returning their canonical
+ * <b>nodefamily_t</b>. Return NULL on error.
+ *
+ * If <b>rsa_id_self</b> is provided, it is a DIGEST_LEN-byte digest
+ * for the router that declared this family: insert it into the
+ * family declaration if it is not there already.
+ *
+ * The <b>flags</b> element is interpreted as in nodefamily_parse().
+ *
+ * If <b>unrecognized</b> is provided, fill it copies of any unrecognized
+ * members. (Note that malformed $hexids are not considered unrecognized.)
+ **/
+nodefamily_t *
+nodefamily_from_members(const smartlist_t *members,
+ const uint8_t *rsa_id_self,
+ unsigned flags,
+ smartlist_t *unrecognized_out)
+{
+ const int n_self = rsa_id_self ? 1 : 0;
+ int n_bad_elements = 0;
+ int n_members = smartlist_len(members) + n_self;
+ nodefamily_t *tmp = nodefamily_alloc(n_members);
+ uint8_t *ptr = NODEFAMILY_MEMBER_PTR(tmp, 0);
+
+ SMARTLIST_FOREACH_BEGIN(members, const char *, cp) {
+ bool bad_element = true;
+ if (is_legal_nickname(cp)) {
+ ptr[0] = NODEFAMILY_BY_NICKNAME;
+ tor_assert(strlen(cp) < DIGEST_LEN); // guaranteed by is_legal_nickname
+ memcpy(ptr+1, cp, strlen(cp));
+ tor_strlower((char*) ptr+1);
+ bad_element = false;
+ } else if (is_legal_hexdigest(cp)) {
+ char digest_buf[DIGEST_LEN];
+ char nn_buf[MAX_NICKNAME_LEN+1];
+ char nn_char=0;
+ if (hex_digest_nickname_decode(cp, digest_buf, &nn_char, nn_buf)==0) {
+ bad_element = false;
+ ptr[0] = NODEFAMILY_BY_RSA_ID;
+ memcpy(ptr+1, digest_buf, DIGEST_LEN);
+ }
+ } else {
+ if (unrecognized_out)
+ smartlist_add_strdup(unrecognized_out, cp);
+ }
+
+ if (bad_element) {
+ const int severity = (flags & NF_WARN_MALFORMED) ? LOG_WARN : LOG_INFO;
+ log_fn(severity, LD_GENERAL,
+ "Bad element %s while parsing a node family.",
+ escaped(cp));
+ ++n_bad_elements;
+ } else {
+ ptr += NODEFAMILY_MEMBER_LEN;
+ }
+ } SMARTLIST_FOREACH_END(cp);
+
+ if (n_bad_elements && (flags & NF_REJECT_MALFORMED))
+ goto err;
+
+ if (rsa_id_self) {
+ /* Add self. */
+ ptr[0] = NODEFAMILY_BY_RSA_ID;
+ memcpy(ptr+1, rsa_id_self, DIGEST_LEN);
+ }
+
+ n_members -= n_bad_elements;
+
+ /* Sort tmp into canonical order. */
+ qsort(tmp->family_members, n_members, NODEFAMILY_MEMBER_LEN,
+ compare_members);
+
+ /* Remove duplicates. */
+ int i;
+ for (i = 0; i < n_members-1; ++i) {
+ uint8_t *thisptr = NODEFAMILY_MEMBER_PTR(tmp, i);
+ uint8_t *nextptr = NODEFAMILY_MEMBER_PTR(tmp, i+1);
+ if (fast_memeq(thisptr, nextptr, NODEFAMILY_MEMBER_LEN)) {
+ memmove(thisptr, nextptr, (n_members-i-1)*NODEFAMILY_MEMBER_LEN);
+ --n_members;
+ --i;
+ }
+ }
+ int n_members_alloc = tmp->n_members;
+ tmp->n_members = n_members;
+
+ /* See if we already allocated this family. */
+ nodefamily_t *found = HT_FIND(nodefamily_map, &the_node_families, tmp);
+ if (found) {
+ /* If we did, great: incref it and return it. */
+ ++found->refcnt;
+ tor_free(tmp);
+ return found;
+ } else {
+ /* If not, insert it into the hashtable. */
+ if (n_members_alloc != n_members) {
+ /* Compact the family if needed */
+ nodefamily_t *tmp2 = nodefamily_alloc(n_members);
+ memcpy(tmp2->family_members, tmp->family_members,
+ n_members * NODEFAMILY_MEMBER_LEN);
+ tor_free(tmp);
+ tmp = tmp2;
+ }
+
+ tmp->refcnt = 1;
+ HT_INSERT(nodefamily_map, &the_node_families, tmp);
+ return tmp;
+ }
+
+ err:
+ tor_free(tmp);
+ return NULL;
+}
+
+/**
+ * Drop our reference to <b>family</b>, freeing it if there are no more
+ * references.
+ */
+void
+nodefamily_free_(nodefamily_t *family)
+{
+ if (family == NULL)
+ return;
+
+ --family->refcnt;
+
+ if (family->refcnt == 0) {
+ HT_REMOVE(nodefamily_map, &the_node_families, family);
+ tor_free(family);
+ }
+}
+
+/**
+ * Return true iff <b>family</b> contains the SHA1 RSA1024 identity
+ * <b>rsa_id</b>.
+ */
+bool
+nodefamily_contains_rsa_id(const nodefamily_t *family,
+ const uint8_t *rsa_id)
+{
+ if (family == NULL)
+ return false;
+
+ unsigned i;
+ for (i = 0; i < family->n_members; ++i) {
+ const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i);
+ if (ptr[0] == NODEFAMILY_BY_RSA_ID &&
+ fast_memeq(ptr+1, rsa_id, DIGEST_LEN)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * Return true iff <b>family</b> contains the nickname <b>name</b>.
+ */
+bool
+nodefamily_contains_nickname(const nodefamily_t *family,
+ const char *name)
+{
+ if (family == NULL)
+ return false;
+
+ unsigned i;
+ for (i = 0; i < family->n_members; ++i) {
+ const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i);
+ // note that the strcasecmp() is safe because there is always at least one
+ // NUL in the encoded nickname, because all legal nicknames are less than
+ // DIGEST_LEN bytes long.
+ if (ptr[0] == NODEFAMILY_BY_NICKNAME && !strcasecmp((char*)ptr+1, name)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * Return true if <b>family</b> contains the nickname or the RSA ID for
+ * <b>node</b>
+ **/
+bool
+nodefamily_contains_node(const nodefamily_t *family,
+ const node_t *node)
+{
+ return
+ nodefamily_contains_nickname(family, node_get_nickname(node))
+ ||
+ nodefamily_contains_rsa_id(family, node_get_rsa_id_digest(node));
+}
+
+/**
+ * Look up every entry in <b>family</b>, and add add the corresponding
+ * node_t to <b>out</b>.
+ **/
+void
+nodefamily_add_nodes_to_smartlist(const nodefamily_t *family,
+ smartlist_t *out)
+{
+ if (!family)
+ return;
+
+ unsigned i;
+ for (i = 0; i < family->n_members; ++i) {
+ const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i);
+ const node_t *node = NULL;
+ switch (ptr[0]) {
+ case NODEFAMILY_BY_NICKNAME:
+ node = node_get_by_nickname((char*)ptr+1, NNF_NO_WARN_UNNAMED);
+ break;
+ case NODEFAMILY_BY_RSA_ID:
+ node = node_get_by_id((char*)ptr+1);
+ break;
+ default:
+ /* LCOV_EXCL_START */
+ tor_assert_nonfatal_unreached();
+ break;
+ /* LCOV_EXCL_STOP */
+ }
+ if (node)
+ smartlist_add(out, (void *)node);
+ }
+}
+
+/**
+ * Encode <b>family</b> as a space-separated string.
+ */
+char *
+nodefamily_format(const nodefamily_t *family)
+{
+ if (!family)
+ return tor_strdup("");
+
+ unsigned i;
+ smartlist_t *sl = smartlist_new();
+ for (i = 0; i < family->n_members; ++i) {
+ const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i);
+ switch (ptr[0]) {
+ case NODEFAMILY_BY_NICKNAME:
+ smartlist_add_strdup(sl, (char*)ptr+1);
+ break;
+ case NODEFAMILY_BY_RSA_ID: {
+ char buf[HEX_DIGEST_LEN+2];
+ buf[0]='$';
+ base16_encode(buf+1, sizeof(buf)-1, (char*)ptr+1, DIGEST_LEN);
+ tor_strupper(buf);
+ smartlist_add_strdup(sl, buf);
+ break;
+ }
+ default:
+ /* LCOV_EXCL_START */
+ tor_assert_nonfatal_unreached();
+ break;
+ /* LCOV_EXCL_STOP */
+ }
+ }
+
+ char *result = smartlist_join_strings(sl, " ", 0, NULL);
+ SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp));
+ smartlist_free(sl);
+ return result;
+}
+
+/**
+ * Free all storage held in the nodefamily map.
+ **/
+void
+nodefamily_free_all(void)
+{
+ HT_CLEAR(nodefamily_map, &the_node_families);
+}
diff --git a/src/feature/nodelist/nodefamily.h b/src/feature/nodelist/nodefamily.h
new file mode 100644
index 0000000000..ea1076876d
--- /dev/null
+++ b/src/feature/nodelist/nodefamily.h
@@ -0,0 +1,50 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file nodefamily.h
+ * \brief Header file for nodefamily.c.
+ **/
+
+#ifndef TOR_NODEFAMILY_H
+#define TOR_NODEFAMILY_H
+
+#include "lib/malloc/malloc.h"
+#include <stdbool.h>
+
+typedef struct nodefamily_t nodefamily_t;
+struct node_t;
+struct smartlist_t;
+
+#define NF_WARN_MALFORMED (1u<<0)
+#define NF_REJECT_MALFORMED (1u<<1)
+
+nodefamily_t *nodefamily_parse(const char *s,
+ const uint8_t *rsa_id_self,
+ unsigned flags);
+nodefamily_t *nodefamily_from_members(const struct smartlist_t *members,
+ const uint8_t *rsa_id_self,
+ unsigned flags,
+ smartlist_t *unrecognized_out);
+void nodefamily_free_(nodefamily_t *family);
+#define nodefamily_free(family) \
+ FREE_AND_NULL(nodefamily_t, nodefamily_free_, (family))
+
+bool nodefamily_contains_rsa_id(const nodefamily_t *family,
+ const uint8_t *rsa_id);
+bool nodefamily_contains_nickname(const nodefamily_t *family,
+ const char *name);
+bool nodefamily_contains_node(const nodefamily_t *family,
+ const struct node_t *node);
+void nodefamily_add_nodes_to_smartlist(const nodefamily_t *family,
+ struct smartlist_t *out);
+char *nodefamily_format(const nodefamily_t *family);
+char *nodefamily_canonicalize(const char *s, const uint8_t *rsa_id_self,
+ unsigned flags);
+
+void nodefamily_free_all(void);
+
+#endif
diff --git a/src/feature/nodelist/nodefamily_st.h b/src/feature/nodelist/nodefamily_st.h
new file mode 100644
index 0000000000..a498b4b3b9
--- /dev/null
+++ b/src/feature/nodelist/nodefamily_st.h
@@ -0,0 +1,48 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef TOR_NODEFAMILY_ST_H
+#define TOR_NODEFAMILY_ST_H
+
+#include "orconfig.h"
+#include "ht.h"
+
+struct nodefamily_t {
+ /** Entry for this nodefamily_t within the hashtable. */
+ HT_ENTRY(nodefamily_t) ht_ent;
+ /** Reference count. (The hashtable is not treated as a reference */
+ uint32_t refcnt;
+ /** Number of items encoded in <b>family_members</b>. */
+ uint32_t n_members;
+ /* A byte-array encoding the members of this family. We encode each member
+ * as one byte to indicate whether it's a nickname or a fingerprint, plus
+ * DIGEST_LEN bytes of data. The entries are lexically sorted.
+ */
+ uint8_t family_members[FLEXIBLE_ARRAY_MEMBER];
+};
+
+#define NODEFAMILY_MEMBER_LEN (1+DIGEST_LEN)
+
+/** Tag byte, indicates that the following bytes are a RSA1024 SHA1 ID.
+ */
+#define NODEFAMILY_BY_RSA_ID 0
+/** Tag byte, indicates that the following bytes are a NUL-padded nickname.
+ */
+#define NODEFAMILY_BY_NICKNAME 1
+
+/**
+ * Number of bytes to allocate in the array for a nodefamily_t with N members.
+ **/
+#define NODEFAMILY_ARRAY_SIZE(n) \
+ ((n) * NODEFAMILY_MEMBER_LEN)
+
+/**
+ * Pointer to the i'th member of <b>nf</b>, as encoded.
+ */
+#define NODEFAMILY_MEMBER_PTR(nf, i) \
+ (&((nf)->family_members[(i) * NODEFAMILY_MEMBER_LEN]))
+
+#endif
diff --git a/src/feature/nodelist/nodelist.c b/src/feature/nodelist/nodelist.c
index a98a5c8655..f93ecd5bfe 100644
--- a/src/feature/nodelist/nodelist.c
+++ b/src/feature/nodelist/nodelist.c
@@ -59,6 +59,7 @@
#include "feature/nodelist/microdesc.h"
#include "feature/nodelist/networkstatus.h"
#include "feature/nodelist/node_select.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/routerlist.h"
#include "feature/nodelist/routerset.h"
@@ -1019,8 +1020,7 @@ node_get_by_nickname,(const char *nickname, unsigned flags))
} SMARTLIST_FOREACH_END(node);
if (any_unwarned) {
- log_warn(LD_CONFIG, "There are multiple matches for the name %s, "
- "but none is listed as Named in the directory consensus. "
+ log_warn(LD_CONFIG, "There are multiple matches for the name %s. "
"Choosing one arbitrarily.", nickname);
}
} else if (smartlist_len(matches)==1 && warn_if_unnamed) {
@@ -1504,19 +1504,6 @@ node_is_me(const node_t *node)
return router_digest_is_me(node->identity);
}
-/** Return <b>node</b> declared family (as a list of names), or NULL if
- * the node didn't declare a family. */
-const smartlist_t *
-node_get_declared_family(const node_t *node)
-{
- if (node->ri && node->ri->declared_family)
- return node->ri->declared_family;
- else if (node->md && node->md->family)
- return node->md->family;
- else
- return NULL;
-}
-
/* Does this node have a valid IPv6 address?
* Prefer node_has_ipv6_orport() or node_has_ipv6_dirport() for
* checking specific ports. */
@@ -1867,6 +1854,9 @@ int
addrs_in_same_network_family(const tor_addr_t *a1,
const tor_addr_t *a2)
{
+ if (tor_addr_is_null(a1) || tor_addr_is_null(a2))
+ return 0;
+
switch (tor_addr_family(a1)) {
case AF_INET:
return 0 == tor_addr_compare_masked(a1, a2, 16, CMP_SEMANTIC);
@@ -1882,7 +1872,7 @@ addrs_in_same_network_family(const tor_addr_t *a1,
* (case-insensitive), or if <b>node's</b> identity key digest
* matches a hexadecimal value stored in <b>nickname</b>. Return
* false otherwise. */
-static int
+STATIC int
node_nickname_matches(const node_t *node, const char *nickname)
{
const char *n = node_get_nickname(node);
@@ -1894,7 +1884,7 @@ node_nickname_matches(const node_t *node, const char *nickname)
}
/** Return true iff <b>node</b> is named by some nickname in <b>lst</b>. */
-static inline int
+STATIC int
node_in_nickname_smartlist(const smartlist_t *lst, const node_t *node)
{
if (!lst) return 0;
@@ -1905,6 +1895,61 @@ node_in_nickname_smartlist(const smartlist_t *lst, const node_t *node)
return 0;
}
+/** Return true iff n1's declared family contains n2. */
+STATIC int
+node_family_contains(const node_t *n1, const node_t *n2)
+{
+ if (n1->ri && n1->ri->declared_family) {
+ return node_in_nickname_smartlist(n1->ri->declared_family, n2);
+ } else if (n1->md) {
+ return nodefamily_contains_node(n1->md->family, n2);
+ } else {
+ return 0;
+ }
+}
+
+/**
+ * Return true iff <b>node</b> has declared a nonempty family.
+ **/
+STATIC bool
+node_has_declared_family(const node_t *node)
+{
+ if (node->ri && node->ri->declared_family &&
+ smartlist_len(node->ri->declared_family)) {
+ return true;
+ }
+
+ if (node->md && node->md->family) {
+ return true;
+ }
+
+ return false;
+}
+
+/**
+ * Add to <b>out</b> every node_t that is listed by <b>node</b> as being in
+ * its family. (Note that these nodes are not in node's family unless they
+ * also agree that node is in their family.)
+ **/
+STATIC void
+node_lookup_declared_family(smartlist_t *out, const node_t *node)
+{
+ if (node->ri && node->ri->declared_family &&
+ smartlist_len(node->ri->declared_family)) {
+ SMARTLIST_FOREACH_BEGIN(node->ri->declared_family, const char *, name) {
+ const node_t *n2 = node_get_by_nickname(name, NNF_NO_WARN_UNNAMED);
+ if (n2) {
+ smartlist_add(out, (node_t *)n2);
+ }
+ } SMARTLIST_FOREACH_END(name);
+ return;
+ }
+
+ if (node->md && node->md->family) {
+ nodefamily_add_nodes_to_smartlist(node->md->family, out);
+ }
+}
+
/** Return true iff r1 and r2 are in the same family, but not the same
* router. */
int
@@ -1917,22 +1962,23 @@ nodes_in_same_family(const node_t *node1, const node_t *node2)
tor_addr_t a1, a2;
node_get_addr(node1, &a1);
node_get_addr(node2, &a2);
- if (addrs_in_same_network_family(&a1, &a2))
+
+ tor_addr_port_t ap6_1, ap6_2;
+ node_get_pref_ipv6_orport(node1, &ap6_1);
+ node_get_pref_ipv6_orport(node2, &ap6_2);
+
+ if (addrs_in_same_network_family(&a1, &a2) ||
+ addrs_in_same_network_family(&ap6_1.addr, &ap6_2.addr))
return 1;
}
/* Are they in the same family because the agree they are? */
- {
- const smartlist_t *f1, *f2;
- f1 = node_get_declared_family(node1);
- f2 = node_get_declared_family(node2);
- if (f1 && f2 &&
- node_in_nickname_smartlist(f1, node2) &&
- node_in_nickname_smartlist(f2, node1))
- return 1;
+ if (node_family_contains(node1, node2) &&
+ node_family_contains(node2, node1)) {
+ return 1;
}
- /* Are they in the same option because the user says they are? */
+ /* Are they in the same family because the user says they are? */
if (options->NodeFamilySets) {
SMARTLIST_FOREACH(options->NodeFamilySets, const routerset_t *, rs, {
if (routerset_contains_node(rs, node1) &&
@@ -1957,13 +2003,10 @@ void
nodelist_add_node_and_family(smartlist_t *sl, const node_t *node)
{
const smartlist_t *all_nodes = nodelist_get_list();
- const smartlist_t *declared_family;
const or_options_t *options = get_options();
tor_assert(node);
- declared_family = node_get_declared_family(node);
-
/* Let's make sure that we have the node itself, if it's a real node. */
{
const node_t *real_node = node_get_by_id(node->identity);
@@ -1974,35 +2017,35 @@ nodelist_add_node_and_family(smartlist_t *sl, const node_t *node)
/* First, add any nodes with similar network addresses. */
if (options->EnforceDistinctSubnets) {
tor_addr_t node_addr;
+ tor_addr_port_t node_ap6;
node_get_addr(node, &node_addr);
+ node_get_pref_ipv6_orport(node, &node_ap6);
SMARTLIST_FOREACH_BEGIN(all_nodes, const node_t *, node2) {
tor_addr_t a;
+ tor_addr_port_t ap6;
node_get_addr(node2, &a);
- if (addrs_in_same_network_family(&a, &node_addr))
+ node_get_pref_ipv6_orport(node2, &ap6);
+ if (addrs_in_same_network_family(&a, &node_addr) ||
+ addrs_in_same_network_family(&ap6.addr, &node_ap6.addr))
smartlist_add(sl, (void*)node2);
} SMARTLIST_FOREACH_END(node2);
}
- /* Now, add all nodes in the declared_family of this node, if they
+ /* Now, add all nodes in the declared family of this node, if they
* also declare this node to be in their family. */
- if (declared_family) {
+ if (node_has_declared_family(node)) {
+ smartlist_t *declared_family = smartlist_new();
+ node_lookup_declared_family(declared_family, node);
+
/* Add every r such that router declares familyness with node, and node
* declares familyhood with router. */
- SMARTLIST_FOREACH_BEGIN(declared_family, const char *, name) {
- const node_t *node2;
- const smartlist_t *family2;
- if (!(node2 = node_get_by_nickname(name, NNF_NO_WARN_UNNAMED)))
- continue;
- if (!(family2 = node_get_declared_family(node2)))
- continue;
- SMARTLIST_FOREACH_BEGIN(family2, const char *, name2) {
- if (node_nickname_matches(node, name2)) {
- smartlist_add(sl, (void*)node2);
- break;
- }
- } SMARTLIST_FOREACH_END(name2);
- } SMARTLIST_FOREACH_END(name);
+ SMARTLIST_FOREACH_BEGIN(declared_family, const node_t *, node2) {
+ if (node_family_contains(node2, node)) {
+ smartlist_add(sl, (void*)node2);
+ }
+ } SMARTLIST_FOREACH_END(node2);
+ smartlist_free(declared_family);
}
/* If the user declared any families locally, honor those too. */
diff --git a/src/feature/nodelist/nodelist.h b/src/feature/nodelist/nodelist.h
index cf7658cf9d..32300eb00c 100644
--- a/src/feature/nodelist/nodelist.h
+++ b/src/feature/nodelist/nodelist.h
@@ -68,7 +68,6 @@ const char *node_get_platform(const node_t *node);
uint32_t node_get_prim_addr_ipv4h(const node_t *node);
void node_get_address_string(const node_t *node, char *cp, size_t len);
long node_get_declared_uptime(const node_t *node);
-const smartlist_t *node_get_declared_family(const node_t *node);
const struct ed25519_public_key_t *node_get_ed25519_id(const node_t *node);
int node_ed25519_id_matches(const node_t *node,
const struct ed25519_public_key_t *id);
@@ -155,10 +154,16 @@ int count_loading_descriptors_progress(void);
#ifdef NODELIST_PRIVATE
+STATIC int node_nickname_matches(const node_t *node, const char *nickname);
+STATIC int node_in_nickname_smartlist(const smartlist_t *lst,
+ const node_t *node);
+STATIC int node_family_contains(const node_t *n1, const node_t *n2);
+STATIC bool node_has_declared_family(const node_t *node);
+STATIC void node_lookup_declared_family(smartlist_t *out, const node_t *node);
+
#ifdef TOR_UNIT_TESTS
-STATIC void
-node_set_hsdir_index(node_t *node, const networkstatus_t *ns);
+STATIC void node_set_hsdir_index(node_t *node, const networkstatus_t *ns);
#endif /* defined(TOR_UNIT_TESTS) */
diff --git a/src/feature/nodelist/routerlist.c b/src/feature/nodelist/routerlist.c
index a8c9003e68..b4d56459df 100644
--- a/src/feature/nodelist/routerlist.c
+++ b/src/feature/nodelist/routerlist.c
@@ -160,7 +160,7 @@ static time_t last_descriptor_download_attempted = 0;
*
* From time to time, we replace "cached-descriptors" with a new file
* containing only the live, non-superseded descriptors, and clear
- * cached-routers.new.
+ * cached-descriptors.new.
*
* On startup, we read both files.
*/
diff --git a/src/feature/nodelist/routerstatus_st.h b/src/feature/nodelist/routerstatus_st.h
index 714aa27435..ea06587799 100644
--- a/src/feature/nodelist/routerstatus_st.h
+++ b/src/feature/nodelist/routerstatus_st.h
@@ -47,6 +47,8 @@ struct routerstatus_t {
unsigned int is_v2_dir:1; /** True iff this router publishes an open DirPort
* or it claims to accept tunnelled dir requests.
*/
+ unsigned int is_staledesc:1; /** True iff the authorities think this router
+ * should upload a new descriptor soon. */
unsigned int has_bandwidth:1; /**< The vote/consensus had bw info */
unsigned int has_exitsummary:1; /**< The vote/consensus had exit summaries */
diff --git a/src/feature/relay/dns.c b/src/feature/relay/dns.c
index bc507d47f6..701719af95 100644
--- a/src/feature/relay/dns.c
+++ b/src/feature/relay/dns.c
@@ -1357,6 +1357,42 @@ evdns_err_is_transient(int err)
}
}
+/**
+ * Return number of configured nameservers in <b>the_evdns_base</b>.
+ */
+size_t
+number_of_configured_nameservers(void)
+{
+ return evdns_base_count_nameservers(the_evdns_base);
+}
+
+#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR
+/**
+ * Return address of configured nameserver in <b>the_evdns_base</b>
+ * at index <b>idx</b>.
+ */
+tor_addr_t *
+configured_nameserver_address(const size_t idx)
+{
+ struct sockaddr_storage sa;
+ ev_socklen_t sa_len = sizeof(sa);
+
+ if (evdns_base_get_nameserver_addr(the_evdns_base, (int)idx,
+ (struct sockaddr *)&sa,
+ sa_len) > 0) {
+ tor_addr_t *tor_addr = tor_malloc(sizeof(tor_addr_t));
+ if (tor_addr_from_sockaddr(tor_addr,
+ (const struct sockaddr *)&sa,
+ NULL) == 0) {
+ return tor_addr;
+ }
+ tor_free(tor_addr);
+ }
+
+ return NULL;
+}
+#endif
+
/** Configure eventdns nameservers if force is true, or if the configuration
* has changed since the last time we called this function, or if we failed on
* our last attempt. On Unix, this reads from /etc/resolv.conf or
@@ -1388,16 +1424,23 @@ configure_nameservers(int force)
evdns_set_log_fn(evdns_log_cb);
if (conf_fname) {
log_debug(LD_FS, "stat()ing %s", conf_fname);
- if (stat(sandbox_intern_string(conf_fname), &st)) {
+ int missing_resolv_conf = 0;
+ int stat_res = stat(sandbox_intern_string(conf_fname), &st);
+
+ if (stat_res) {
log_warn(LD_EXIT, "Unable to stat resolver configuration in '%s': %s",
conf_fname, strerror(errno));
- goto err;
- }
- if (!force && resolv_conf_fname && !strcmp(conf_fname,resolv_conf_fname)
+ missing_resolv_conf = 1;
+ } else if (!force && resolv_conf_fname &&
+ !strcmp(conf_fname,resolv_conf_fname)
&& st.st_mtime == resolv_conf_mtime) {
log_info(LD_EXIT, "No change to '%s'", conf_fname);
return 0;
}
+
+ if (stat_res == 0 && st.st_size == 0)
+ missing_resolv_conf = 1;
+
if (nameservers_configured) {
evdns_base_search_clear(the_evdns_base);
evdns_base_clear_nameservers_and_suspend(the_evdns_base);
@@ -1410,20 +1453,34 @@ configure_nameservers(int force)
sandbox_intern_string("/etc/hosts"));
}
#endif /* defined(DNS_OPTION_HOSTSFILE) && defined(USE_LIBSECCOMP) */
- log_info(LD_EXIT, "Parsing resolver configuration in '%s'", conf_fname);
- if ((r = evdns_base_resolv_conf_parse(the_evdns_base, flags,
- sandbox_intern_string(conf_fname)))) {
- log_warn(LD_EXIT, "Unable to parse '%s', or no nameservers in '%s' (%d)",
- conf_fname, conf_fname, r);
- goto err;
- }
- if (evdns_base_count_nameservers(the_evdns_base) == 0) {
- log_warn(LD_EXIT, "Unable to find any nameservers in '%s'.", conf_fname);
- goto err;
+
+ if (!missing_resolv_conf) {
+ log_info(LD_EXIT, "Parsing resolver configuration in '%s'", conf_fname);
+ if ((r = evdns_base_resolv_conf_parse(the_evdns_base, flags,
+ sandbox_intern_string(conf_fname)))) {
+ log_warn(LD_EXIT, "Unable to parse '%s', or no nameservers "
+ "in '%s' (%d)", conf_fname, conf_fname, r);
+
+ if (r != 6) // "r = 6" means "no DNS servers were in resolv.conf" -
+ goto err; // in which case we expect libevent to add 127.0.0.1 as
+ // fallback.
+ }
+ if (evdns_base_count_nameservers(the_evdns_base) == 0) {
+ log_warn(LD_EXIT, "Unable to find any nameservers in '%s'.",
+ conf_fname);
+ }
+
+ tor_free(resolv_conf_fname);
+ resolv_conf_fname = tor_strdup(conf_fname);
+ resolv_conf_mtime = st.st_mtime;
+ } else {
+ log_warn(LD_EXIT, "Could not read your DNS config from '%s' - "
+ "please investigate your DNS configuration. "
+ "This is possibly a problem. Meanwhile, falling"
+ " back to local DNS at 127.0.0.1.", conf_fname);
+ evdns_base_nameserver_ip_add(the_evdns_base, "127.0.0.1");
}
- tor_free(resolv_conf_fname);
- resolv_conf_fname = tor_strdup(conf_fname);
- resolv_conf_mtime = st.st_mtime;
+
if (nameservers_configured)
evdns_base_resume(the_evdns_base);
}
diff --git a/src/feature/relay/dns.h b/src/feature/relay/dns.h
index 1dd6f903d1..5758ea4363 100644
--- a/src/feature/relay/dns.h
+++ b/src/feature/relay/dns.h
@@ -45,6 +45,11 @@ size_t dns_cache_handle_oom(time_t now, size_t min_remove_bytes);
#ifdef DNS_PRIVATE
#include "feature/relay/dns_structs.h"
+size_t number_of_configured_nameservers(void);
+#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR
+tor_addr_t *configured_nameserver_address(const size_t idx);
+#endif
+
MOCK_DECL(STATIC int,dns_resolve_impl,(edge_connection_t *exitconn,
int is_resolve,or_circuit_t *oncirc, char **hostname_out,
int *made_connection_pending_out, cached_resolve_t **resolve_out));
diff --git a/src/feature/relay/router.c b/src/feature/relay/router.c
index 4afcddc675..be9ef3d2f3 100644
--- a/src/feature/relay/router.c
+++ b/src/feature/relay/router.c
@@ -30,6 +30,7 @@
#include "feature/nodelist/dirlist.h"
#include "feature/nodelist/networkstatus.h"
#include "feature/nodelist/nickname.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/routerlist.h"
#include "feature/nodelist/torcert.h"
@@ -49,6 +50,7 @@
#include "lib/encoding/confline.h"
#include "lib/osinfo/uname.h"
#include "lib/tls/tortls.h"
+#include "lib/version/torversion.h"
#include "feature/dirauth/authmode.h"
@@ -58,6 +60,7 @@
#include "feature/dircommon/dir_connection_st.h"
#include "feature/nodelist/authority_cert_st.h"
#include "feature/nodelist/extrainfo_st.h"
+#include "feature/nodelist/networkstatus_st.h"
#include "feature/nodelist/node_st.h"
#include "feature/nodelist/routerinfo_st.h"
#include "feature/nodelist/routerstatus_st.h"
@@ -339,6 +342,16 @@ set_server_identity_key(crypto_pk_t *k)
}
}
+#ifdef TOR_UNIT_TESTS
+/** Testing only -- set the server's RSA identity digest to
+ * be <b>digest</b> */
+void
+set_server_identity_key_digest_testing(const uint8_t *digest)
+{
+ memcpy(server_identitykey_digest, digest, DIGEST_LEN);
+}
+#endif
+
/** Make sure that we have set up our identity keys to match or not match as
* appropriate, and die with an assertion if we have not. */
static void
@@ -636,7 +649,7 @@ load_authority_keyset(int legacy, crypto_pk_t **key_out,
fname);
goto done;
}
- parsed = authority_cert_parse_from_string(cert, &eos);
+ parsed = authority_cert_parse_from_string(cert, strlen(cert), &eos);
if (!parsed) {
log_warn(LD_DIR, "Unable to parse certificate in %s", fname);
goto done;
@@ -1469,9 +1482,9 @@ static extrainfo_t *desc_extrainfo = NULL;
static const char *desc_gen_reason = "uninitialized reason";
/** Since when has our descriptor been "clean"? 0 if we need to regenerate it
* now. */
-static time_t desc_clean_since = 0;
+STATIC time_t desc_clean_since = 0;
/** Why did we mark the descriptor dirty? */
-static const char *desc_dirty_reason = "Tor just started";
+STATIC const char *desc_dirty_reason = "Tor just started";
/** Boolean: do we need to regenerate the above? */
static int desc_needs_upload = 0;
@@ -1690,10 +1703,6 @@ router_get_descriptor_gen_reason(void)
return desc_gen_reason;
}
-/** A list of nicknames that we've warned about including in our family
- * declaration verbatim rather than as digests. */
-static smartlist_t *warned_nonexistent_family = NULL;
-
static int router_guess_address_from_dir_headers(uint32_t *guess);
/** Make a current best guess at our address, either because
@@ -1806,6 +1815,132 @@ router_check_descriptor_address_consistency(uint32_t ipv4h_desc_addr)
CONN_TYPE_DIR_LISTENER);
}
+/** A list of nicknames that we've warned about including in our family,
+ * for one reason or another. */
+static smartlist_t *warned_family = NULL;
+
+/**
+ * Return a new smartlist containing the family members configured in
+ * <b>options</b>. Warn about invalid or missing entries. Return NULL
+ * if this relay should not declare a family.
+ **/
+STATIC smartlist_t *
+get_my_declared_family(const or_options_t *options)
+{
+ if (!options->MyFamily)
+ return NULL;
+
+ if (options->BridgeRelay)
+ return NULL;
+
+ if (!warned_family)
+ warned_family = smartlist_new();
+
+ smartlist_t *declared_family = smartlist_new();
+ config_line_t *family;
+
+ /* First we try to get the whole family in the form of hexdigests. */
+ for (family = options->MyFamily; family; family = family->next) {
+ char *name = family->value;
+ const node_t *member;
+ if (options->Nickname && !strcasecmp(name, options->Nickname))
+ continue; /* Don't list ourself by nickname, that's redundant */
+ else
+ member = node_get_by_nickname(name, 0);
+
+ if (!member) {
+ /* This node doesn't seem to exist, so warn about it if it is not
+ * a hexdigest. */
+ int is_legal = is_legal_nickname_or_hexdigest(name);
+ if (!smartlist_contains_string(warned_family, name) &&
+ !is_legal_hexdigest(name)) {
+ if (is_legal)
+ log_warn(LD_CONFIG,
+ "There is a router named %s in my declared family, but "
+ "I have no descriptor for it. I'll use the nickname "
+ "as is, but this may confuse clients. Please list it "
+ "by identity digest instead.", escaped(name));
+ else
+ log_warn(LD_CONFIG, "There is a router named %s in my declared "
+ "family, but that isn't a legal digest or nickname. "
+ "Skipping it.", escaped(name));
+ smartlist_add_strdup(warned_family, name);
+ }
+ if (is_legal) {
+ smartlist_add_strdup(declared_family, name);
+ }
+ } else {
+ /* List the node by digest. */
+ char *fp = tor_malloc(HEX_DIGEST_LEN+2);
+ fp[0] = '$';
+ base16_encode(fp+1,HEX_DIGEST_LEN+1,
+ member->identity, DIGEST_LEN);
+ smartlist_add(declared_family, fp);
+
+ if (! is_legal_hexdigest(name) &&
+ !smartlist_contains_string(warned_family, name)) {
+ /* Warn if this node was not specified by hexdigest. */
+ log_warn(LD_CONFIG, "There is a router named %s in my declared "
+ "family, but it wasn't listed by digest. Please consider "
+ "saying %s instead, if that's what you meant.",
+ escaped(name), fp);
+ smartlist_add_strdup(warned_family, name);
+ }
+ }
+ }
+
+ /* Now declared_family should have the closest we can come to the
+ * identities that the user wanted.
+ *
+ * Unlike older versions of Tor, we _do_ include our own identity: this
+ * helps microdescriptor compression, and helps in-memory compression
+ * on clients. */
+ nodefamily_t *nf = nodefamily_from_members(declared_family,
+ router_get_my_id_digest(),
+ NF_WARN_MALFORMED,
+ NULL);
+ SMARTLIST_FOREACH(declared_family, char *, s, tor_free(s));
+ smartlist_free(declared_family);
+ if (!nf) {
+ return NULL;
+ }
+
+ char *s = nodefamily_format(nf);
+ nodefamily_free(nf);
+
+ smartlist_t *result = smartlist_new();
+ smartlist_split_string(result, s, NULL,
+ SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
+ tor_free(s);
+
+ if (smartlist_len(result) == 1) {
+ /* This is a one-element list containing only ourself; instead return
+ * nothing */
+ const char *singleton = smartlist_get(result, 0);
+ bool is_me = false;
+ if (singleton[0] == '$') {
+ char d[DIGEST_LEN];
+ int n = base16_decode(d, sizeof(d), singleton+1, strlen(singleton+1));
+ if (n == DIGEST_LEN &&
+ fast_memeq(d, router_get_my_id_digest(), DIGEST_LEN)) {
+ is_me = true;
+ }
+ }
+ if (!is_me) {
+ // LCOV_EXCL_START
+ log_warn(LD_BUG, "Found a singleton family list with an element "
+ "that wasn't us! Element was %s", escaped(singleton));
+ // LCOV_EXCL_STOP
+ } else {
+ SMARTLIST_FOREACH(result, char *, cp, tor_free(cp));
+ smartlist_free(result);
+ return NULL;
+ }
+ }
+
+ return result;
+}
+
/** Build a fresh routerinfo, signed server descriptor, and extra-info document
* for this OR. Set r to the generated routerinfo, e to the generated
* extra-info document. Return 0 on success, -1 on temporary error. Failure to
@@ -1920,54 +2055,7 @@ router_build_fresh_descriptor(routerinfo_t **r, extrainfo_t **e)
tor_free(p_tmp);
}
- if (options->MyFamily && ! options->BridgeRelay) {
- if (!warned_nonexistent_family)
- warned_nonexistent_family = smartlist_new();
- ri->declared_family = smartlist_new();
- config_line_t *family;
- for (family = options->MyFamily; family; family = family->next) {
- char *name = family->value;
- const node_t *member;
- if (!strcasecmp(name, options->Nickname))
- continue; /* Don't list ourself, that's redundant */
- else
- member = node_get_by_nickname(name, 0);
- if (!member) {
- int is_legal = is_legal_nickname_or_hexdigest(name);
- if (!smartlist_contains_string(warned_nonexistent_family, name) &&
- !is_legal_hexdigest(name)) {
- if (is_legal)
- log_warn(LD_CONFIG,
- "I have no descriptor for the router named \"%s\" in my "
- "declared family; I'll use the nickname as is, but "
- "this may confuse clients.", name);
- else
- log_warn(LD_CONFIG, "There is a router named \"%s\" in my "
- "declared family, but that isn't a legal nickname. "
- "Skipping it.", escaped(name));
- smartlist_add_strdup(warned_nonexistent_family, name);
- }
- if (is_legal) {
- smartlist_add_strdup(ri->declared_family, name);
- }
- } else if (router_digest_is_me(member->identity)) {
- /* Don't list ourself in our own family; that's redundant */
- /* XXX shouldn't be possible */
- } else {
- char *fp = tor_malloc(HEX_DIGEST_LEN+2);
- fp[0] = '$';
- base16_encode(fp+1,HEX_DIGEST_LEN+1,
- member->identity, DIGEST_LEN);
- smartlist_add(ri->declared_family, fp);
- if (smartlist_contains_string(warned_nonexistent_family, name))
- smartlist_string_remove(warned_nonexistent_family, name);
- }
- }
-
- /* remove duplicates from the list */
- smartlist_sort_strings(ri->declared_family);
- smartlist_uniq_strings(ri->declared_family);
- }
+ ri->declared_family = get_my_declared_family(options);
/* Now generate the extrainfo. */
ei = tor_malloc_zero(sizeof(extrainfo_t));
@@ -2133,7 +2221,9 @@ mark_my_descriptor_dirty_if_too_old(time_t now)
/* Now we see whether we want to be retrying frequently or no. The
* rule here is that we'll retry frequently if we aren't listed in the
* live consensus we have, or if the publication time of the
- * descriptor listed for us in the consensus is very old. */
+ * descriptor listed for us in the consensus is very old, or if the
+ * consensus lists us as "stale" and we haven't regenerated since the
+ * consensus was published. */
ns = networkstatus_get_live_consensus(now);
if (ns) {
rs = networkstatus_vote_find_entry(ns, server_identitykey_digest);
@@ -2141,6 +2231,8 @@ mark_my_descriptor_dirty_if_too_old(time_t now)
retry_fast_reason = "not listed in consensus";
else if (rs->published_on < slow_cutoff)
retry_fast_reason = "version listed in consensus is quite old";
+ else if (rs->is_staledesc && ns->valid_after > desc_clean_since)
+ retry_fast_reason = "listed as stale in consensus";
}
if (retry_fast_reason && desc_clean_since < fast_cutoff)
@@ -3058,9 +3150,9 @@ extrainfo_dump_to_string(char **s_out, extrainfo_t *extrainfo,
void
router_reset_warnings(void)
{
- if (warned_nonexistent_family) {
- SMARTLIST_FOREACH(warned_nonexistent_family, char *, cp, tor_free(cp));
- smartlist_clear(warned_nonexistent_family);
+ if (warned_family) {
+ SMARTLIST_FOREACH(warned_family, char *, cp, tor_free(cp));
+ smartlist_clear(warned_family);
}
}
@@ -3084,11 +3176,12 @@ router_free_all(void)
memwipe(&curve25519_onion_key, 0, sizeof(curve25519_onion_key));
memwipe(&last_curve25519_onion_key, 0, sizeof(last_curve25519_onion_key));
- if (warned_nonexistent_family) {
- SMARTLIST_FOREACH(warned_nonexistent_family, char *, cp, tor_free(cp));
- smartlist_free(warned_nonexistent_family);
+ if (warned_family) {
+ SMARTLIST_FOREACH(warned_family, char *, cp, tor_free(cp));
+ smartlist_free(warned_family);
}
}
+
/* From the given RSA key object, convert it to ASN-1 encoded format and set
* the newly allocated object in onion_pkey_out. The length of the key is set
* in onion_pkey_len_out. */
diff --git a/src/feature/relay/router.h b/src/feature/relay/router.h
index 4575172afb..7a63c33d32 100644
--- a/src/feature/relay/router.h
+++ b/src/feature/relay/router.h
@@ -117,6 +117,14 @@ void router_free_all(void);
/* Used only by router.c and test.c */
STATIC void get_platform_str(char *platform, size_t len);
STATIC int router_write_fingerprint(int hashed);
+STATIC smartlist_t *get_my_declared_family(const or_options_t *options);
+
+#ifdef TOR_UNIT_TESTS
+extern time_t desc_clean_since;
+extern const char *desc_dirty_reason;
+void set_server_identity_key_digest_testing(const uint8_t *digest);
+#endif
+
#endif
#endif /* !defined(TOR_ROUTER_H) */
diff --git a/src/feature/rend/rendcache.c b/src/feature/rend/rendcache.c
index 848386b97d..b851e71959 100644
--- a/src/feature/rend/rendcache.c
+++ b/src/feature/rend/rendcache.c
@@ -45,7 +45,7 @@ STATIC digestmap_t *rend_cache_v2_dir = NULL;
* looked up in this cache and if present, it is discarded from the fetched
* descriptor. At the end, all IP(s) in the cache, for a specific service
* ID, that were NOT present in the descriptor are removed from this cache.
- * Which means that if at least one IP was not in this cache, thus usuable,
+ * Which means that if at least one IP was not in this cache, thus usable,
* it's considered a new descriptor so we keep it. Else, if all IPs were in
* this cache, we discard the descriptor as it's considered unusable.
*
diff --git a/src/feature/stats/geoip_stats.c b/src/feature/stats/geoip_stats.c
index 1a4f8ddfb0..3106c6c82c 100644
--- a/src/feature/stats/geoip_stats.c
+++ b/src/feature/stats/geoip_stats.c
@@ -30,7 +30,7 @@
#include "core/or/or.h"
#include "ht.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "feature/control/control.h"
#include "feature/client/dnsserv.h"
diff --git a/src/include.am b/src/include.am
index d2f83da814..9070a69a03 100644
--- a/src/include.am
+++ b/src/include.am
@@ -1,5 +1,6 @@
include src/ext/include.am
include src/lib/arch/include.am
+include src/lib/buf/include.am
include src/lib/err/include.am
include src/lib/cc/include.am
include src/lib/ctime/include.am
@@ -25,6 +26,7 @@ include src/lib/osinfo/include.am
include src/lib/process/include.am
include src/lib/sandbox/include.am
include src/lib/string/include.am
+include src/lib/subsys/include.am
include src/lib/smartlist_core/include.am
include src/lib/term/include.am
include src/lib/testsupport/include.am
@@ -32,6 +34,7 @@ include src/lib/thread/include.am
include src/lib/time/include.am
include src/lib/tls/include.am
include src/lib/trace/include.am
+include src/lib/version/include.am
include src/lib/wallclock/include.am
include src/trunnel/include.am
diff --git a/src/lib/buf/.may_include b/src/lib/buf/.may_include
new file mode 100644
index 0000000000..c4be73bce2
--- /dev/null
+++ b/src/lib/buf/.may_include
@@ -0,0 +1,10 @@
+orconfig.h
+
+lib/buf/*.h
+lib/cc/*.h
+lib/ctime/*.h
+lib/malloc/*.h
+lib/testsupport/*.h
+lib/log/*.h
+lib/string/*.h
+lib/time/*.h
diff --git a/src/lib/container/buffers.c b/src/lib/buf/buffers.c
index 87d782d7ef..495c5ec453 100644
--- a/src/lib/container/buffers.c
+++ b/src/lib/buf/buffers.c
@@ -25,7 +25,7 @@
#define BUFFERS_PRIVATE
#include "orconfig.h"
#include <stddef.h>
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/cc/torint.h"
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
diff --git a/src/lib/container/buffers.h b/src/lib/buf/buffers.h
index c48f83cfc7..c48f83cfc7 100644
--- a/src/lib/container/buffers.h
+++ b/src/lib/buf/buffers.h
diff --git a/src/lib/buf/include.am b/src/lib/buf/include.am
new file mode 100644
index 0000000000..3338c3dbdb
--- /dev/null
+++ b/src/lib/buf/include.am
@@ -0,0 +1,17 @@
+
+noinst_LIBRARIES += src/lib/libtor-buf.a
+
+if UNITTESTS_ENABLED
+noinst_LIBRARIES += src/lib/libtor-buf-testing.a
+endif
+
+src_lib_libtor_buf_a_SOURCES = \
+ src/lib/buf/buffers.c
+
+src_lib_libtor_buf_testing_a_SOURCES = \
+ $(src_lib_libtor_buf_a_SOURCES)
+src_lib_libtor_buf_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_lib_libtor_buf_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+
+noinst_HEADERS += \
+ src/lib/buf/buffers.h
diff --git a/src/lib/cc/.may_include b/src/lib/cc/.may_include
index 2b06e8519c..fa1478ce46 100644
--- a/src/lib/cc/.may_include
+++ b/src/lib/cc/.may_include
@@ -1 +1,2 @@
orconfig.h
+lib/cc/*.h \ No newline at end of file
diff --git a/src/lib/cc/ctassert.h b/src/lib/cc/ctassert.h
new file mode 100644
index 0000000000..e42976360f
--- /dev/null
+++ b/src/lib/cc/ctassert.h
@@ -0,0 +1,53 @@
+/* Copyright (c) 2018 The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file ctassert.h
+ *
+ * \brief Compile-time assertions: CTASSERT(expression).
+ */
+
+#ifndef TOR_CTASSERT_H
+#define TOR_CTASSERT_H
+
+#include "lib/cc/compat_compiler.h"
+
+/**
+ * CTASSERT(expression)
+ *
+ * Trigger a compiler error if expression is false.
+ */
+#if __STDC_VERSION__ >= 201112L
+
+/* If C11 is available, just use _Static_assert. */
+#define CTASSERT(x) _Static_assert((x), #x)
+
+#else
+
+/*
+ * If C11 is not available, expand __COUNTER__, or __INCLUDE_LEVEL__
+ * and __LINE__, or just __LINE__, with an intermediate preprocessor
+ * macro CTASSERT_EXPN, and then use CTASSERT_DECL to paste the
+ * expansions together into a unique name.
+ *
+ * We use this name as a typedef of an array type with a positive
+ * length if the assertion is true, and a negative length of the
+ * assertion is false, which is invalid and hence triggers a compiler
+ * error.
+ */
+#if defined(__COUNTER__)
+#define CTASSERT(x) CTASSERT_EXPN((x), c, __COUNTER__)
+#elif defined(__INCLUDE_LEVEL__)
+#define CTASSERT(x) CTASSERT_EXPN((x), __INCLUDE_LEVEL__, __LINE__)
+#else
+/* hope it's unique enough */
+#define CTASSERT(x) CTASSERT_EXPN((x), l, __LINE__)
+#endif
+
+#define CTASSERT_EXPN(x, a, b) CTASSERT_DECL(x, a, b)
+#define CTASSERT_DECL(x, a, b) \
+ typedef char tor_ctassert_##a##_##b[(x) ? 1 : -1] ATTR_UNUSED
+
+#endif
+
+#endif /* !defined(TOR_CTASSERT_H) */
diff --git a/src/lib/cc/include.am b/src/lib/cc/include.am
index 2ae90f97dd..52cf8a9f72 100644
--- a/src/lib/cc/include.am
+++ b/src/lib/cc/include.am
@@ -1,4 +1,5 @@
noinst_HEADERS += \
src/lib/cc/compat_compiler.h \
+ src/lib/cc/ctassert.h \
src/lib/cc/torint.h
diff --git a/src/lib/compress/.may_include b/src/lib/compress/.may_include
index 68fe9f1c54..6cd80086e6 100644
--- a/src/lib/compress/.may_include
+++ b/src/lib/compress/.may_include
@@ -1,5 +1,6 @@
orconfig.h
lib/arch/*.h
+lib/buf/*.h
lib/cc/*.h
lib/compress/*.h
lib/container/*.h
@@ -8,5 +9,6 @@ lib/intmath/*.h
lib/log/*.h
lib/malloc/*.h
lib/string/*.h
+lib/subsys/*.h
lib/testsupport/*.h
lib/thread/*.h
diff --git a/src/lib/compress/compress.c b/src/lib/compress/compress.c
index 2ad9b15b2e..6cb9bd492b 100644
--- a/src/lib/compress/compress.c
+++ b/src/lib/compress/compress.c
@@ -29,10 +29,12 @@
#include "lib/compress/compress.h"
#include "lib/compress/compress_lzma.h"
#include "lib/compress/compress_none.h"
+#include "lib/compress/compress_sys.h"
#include "lib/compress/compress_zlib.h"
#include "lib/compress/compress_zstd.h"
#include "lib/intmath/cmp.h"
#include "lib/malloc/malloc.h"
+#include "lib/subsys/subsys.h"
#include "lib/thread/threads.h"
/** Total number of bytes allocated for compression state overhead. */
@@ -660,7 +662,7 @@ tor_compress_state_size(const tor_compress_state_t *state)
}
/** Initialize all compression modules. */
-void
+int
tor_compress_init(void)
{
atomic_counter_init(&total_compress_allocation);
@@ -668,6 +670,8 @@ tor_compress_init(void)
tor_zlib_init();
tor_lzma_init();
tor_zstd_init();
+
+ return 0;
}
/** Warn if we had any problems while setting up our compression libraries.
@@ -677,5 +681,20 @@ tor_compress_init(void)
void
tor_compress_log_init_warnings(void)
{
+ // XXXX can we move this into tor_compress_init() after all? log.c queues
+ // XXXX log messages at startup.
tor_zstd_warn_if_version_mismatched();
}
+
+static int
+subsys_compress_initialize(void)
+{
+ return tor_compress_init();
+}
+
+const subsys_fns_t sys_compress = {
+ .name = "compress",
+ .supported = true,
+ .level = -70,
+ .initialize = subsys_compress_initialize,
+};
diff --git a/src/lib/compress/compress.h b/src/lib/compress/compress.h
index 4466e27c4d..4dd6506238 100644
--- a/src/lib/compress/compress.h
+++ b/src/lib/compress/compress.h
@@ -89,7 +89,7 @@ void tor_compress_free_(tor_compress_state_t *state);
size_t tor_compress_state_size(const tor_compress_state_t *state);
-void tor_compress_init(void);
+int tor_compress_init(void);
void tor_compress_log_init_warnings(void);
struct buf_t;
diff --git a/src/lib/compress/compress_buf.c b/src/lib/compress/compress_buf.c
index 63ee9e0102..ecf76ee078 100644
--- a/src/lib/compress/compress_buf.c
+++ b/src/lib/compress/compress_buf.c
@@ -11,7 +11,7 @@
#define BUFFERS_PRIVATE
#include "lib/cc/compat_compiler.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/compress/compress.h"
#include "lib/log/util_bug.h"
diff --git a/src/lib/compress/compress_sys.h b/src/lib/compress/compress_sys.h
new file mode 100644
index 0000000000..a162140cfb
--- /dev/null
+++ b/src/lib/compress/compress_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file compress_sys.h
+ * \brief Declare subsystem object for the compress module
+ **/
+
+#ifndef TOR_COMPRESS_SYS_H
+#define TOR_COMPRESS_SYS_H
+
+extern const struct subsys_fns_t sys_compress;
+
+#endif /* !defined(TOR_COMPRESS_SYS_H) */
diff --git a/src/lib/compress/include.am b/src/lib/compress/include.am
index 75c9032bd2..b952779578 100644
--- a/src/lib/compress/include.am
+++ b/src/lib/compress/include.am
@@ -22,5 +22,6 @@ noinst_HEADERS += \
src/lib/compress/compress.h \
src/lib/compress/compress_lzma.h \
src/lib/compress/compress_none.h \
+ src/lib/compress/compress_sys.h \
src/lib/compress/compress_zlib.h \
src/lib/compress/compress_zstd.h
diff --git a/src/lib/container/.may_include b/src/lib/container/.may_include
index 90de5eda40..81507527d3 100644
--- a/src/lib/container/.may_include
+++ b/src/lib/container/.may_include
@@ -7,12 +7,9 @@ lib/malloc/*.h
lib/err/*.h
lib/smartlist_core/*.h
lib/string/*.h
-lib/testsupport/testsupport.h
+lib/testsupport/*.h
lib/intmath/*.h
lib/log/*.h
-# XXXX I am unsure about this one. It's only here for buffers.c
-lib/time/*.h
-
-ht.h
-siphash.h
+ext/ht.h
+ext/siphash.h
diff --git a/src/lib/container/bloomfilt.c b/src/lib/container/bloomfilt.c
index ea2d2917c7..a64fcb9300 100644
--- a/src/lib/container/bloomfilt.c
+++ b/src/lib/container/bloomfilt.c
@@ -14,7 +14,7 @@
#include "lib/container/bloomfilt.h"
#include "lib/intmath/bits.h"
#include "lib/log/util_bug.h"
-#include "siphash.h"
+#include "ext/siphash.h"
/** How many bloom-filter bits we set per address. This is twice the
* BLOOMFILT_N_HASHES value, since we split the siphash output into two 32-bit
diff --git a/src/lib/container/include.am b/src/lib/container/include.am
index e6492098b5..032e4033da 100644
--- a/src/lib/container/include.am
+++ b/src/lib/container/include.am
@@ -7,7 +7,6 @@ endif
src_lib_libtor_container_a_SOURCES = \
src/lib/container/bloomfilt.c \
- src/lib/container/buffers.c \
src/lib/container/map.c \
src/lib/container/order.c \
src/lib/container/smartlist.c
@@ -20,7 +19,6 @@ src_lib_libtor_container_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
noinst_HEADERS += \
src/lib/container/bitarray.h \
src/lib/container/bloomfilt.h \
- src/lib/container/buffers.h \
src/lib/container/handles.h \
src/lib/container/map.h \
src/lib/container/order.h \
diff --git a/src/lib/container/map.c b/src/lib/container/map.c
index 85e074e10a..137e316920 100644
--- a/src/lib/container/map.c
+++ b/src/lib/container/map.c
@@ -21,7 +21,7 @@
#include <stdlib.h>
#include <string.h>
-#include "ht.h"
+#include "ext/ht.h"
/** Helper: Declare an entry type and a map type to implement a mapping using
* ht.h. The map type will be called <b>maptype</b>. The key part of each
diff --git a/src/lib/container/map.h b/src/lib/container/map.h
index ff71622682..4f427fe767 100644
--- a/src/lib/container/map.h
+++ b/src/lib/container/map.h
@@ -15,7 +15,7 @@
#include "lib/testsupport/testsupport.h"
#include "lib/cc/torint.h"
-#include "siphash.h"
+#include "ext/siphash.h"
#define DECLARE_MAP_FNS(maptype, keytype, prefix) \
typedef struct maptype maptype; \
diff --git a/src/lib/crypt_ops/.may_include b/src/lib/crypt_ops/.may_include
index a0fa4ec05c..0739699686 100644
--- a/src/lib/crypt_ops/.may_include
+++ b/src/lib/crypt_ops/.may_include
@@ -12,7 +12,8 @@ lib/malloc/*.h
lib/intmath/*.h
lib/sandbox/*.h
lib/string/*.h
-lib/testsupport/testsupport.h
+lib/subsys/*.h
+lib/testsupport/*.h
lib/thread/*.h
lib/log/*.h
@@ -21,4 +22,4 @@ trunnel/pwbox.h
keccak-tiny/*.h
ed25519/*.h
-siphash.h
+ext/siphash.h
diff --git a/src/lib/crypt_ops/aes_openssl.c b/src/lib/crypt_ops/aes_openssl.c
index f2990fc06d..ac275af33c 100644
--- a/src/lib/crypt_ops/aes_openssl.c
+++ b/src/lib/crypt_ops/aes_openssl.c
@@ -101,12 +101,12 @@ aes_cnt_cipher_t *
aes_new_cipher(const uint8_t *key, const uint8_t *iv, int key_bits)
{
EVP_CIPHER_CTX *cipher = EVP_CIPHER_CTX_new();
- const EVP_CIPHER *c;
+ const EVP_CIPHER *c = NULL;
switch (key_bits) {
case 128: c = EVP_aes_128_ctr(); break;
case 192: c = EVP_aes_192_ctr(); break;
case 256: c = EVP_aes_256_ctr(); break;
- default: tor_assert(0); // LCOV_EXCL_LINE
+ default: tor_assert_unreached(); // LCOV_EXCL_LINE
}
EVP_EncryptInit(cipher, c, key, iv);
return (aes_cnt_cipher_t *) cipher;
diff --git a/src/lib/crypt_ops/crypto_init.c b/src/lib/crypt_ops/crypto_init.c
index 9d6e2da0d0..f9943939fb 100644
--- a/src/lib/crypt_ops/crypto_init.c
+++ b/src/lib/crypt_ops/crypto_init.c
@@ -20,8 +20,11 @@
#include "lib/crypt_ops/crypto_openssl_mgt.h"
#include "lib/crypt_ops/crypto_nss_mgt.h"
#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_sys.h"
-#include "siphash.h"
+#include "lib/subsys/subsys.h"
+
+#include "ext/siphash.h"
/** Boolean: has our crypto library been initialized? (early phase) */
static int crypto_early_initialized_ = 0;
@@ -202,3 +205,47 @@ tor_is_using_nss(void)
return 0;
#endif
}
+
+static int
+subsys_crypto_initialize(void)
+{
+ if (crypto_early_init() < 0)
+ return -1;
+ crypto_dh_init();
+ return 0;
+}
+
+static void
+subsys_crypto_shutdown(void)
+{
+ crypto_global_cleanup();
+}
+
+static void
+subsys_crypto_prefork(void)
+{
+ crypto_prefork();
+}
+
+static void
+subsys_crypto_postfork(void)
+{
+ crypto_postfork();
+}
+
+static void
+subsys_crypto_thread_cleanup(void)
+{
+ crypto_thread_cleanup();
+}
+
+const struct subsys_fns_t sys_crypto = {
+ .name = "crypto",
+ .supported = true,
+ .level = -60,
+ .initialize = subsys_crypto_initialize,
+ .shutdown = subsys_crypto_shutdown,
+ .prefork = subsys_crypto_prefork,
+ .postfork = subsys_crypto_postfork,
+ .thread_cleanup = subsys_crypto_thread_cleanup,
+};
diff --git a/src/lib/crypt_ops/crypto_sys.h b/src/lib/crypt_ops/crypto_sys.h
new file mode 100644
index 0000000000..31644d088b
--- /dev/null
+++ b/src/lib/crypt_ops/crypto_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file log_crypto.h
+ * \brief Declare subsystem object for the crypto module.
+ **/
+
+#ifndef TOR_CRYPTO_SYS_H
+#define TOR_CRYPTO_SYS_H
+
+extern const struct subsys_fns_t sys_crypto;
+
+#endif /* !defined(TOR_CRYPTO_SYS_H) */
diff --git a/src/lib/crypt_ops/digestset.c b/src/lib/crypt_ops/digestset.c
index 89dd377a9c..84516e0172 100644
--- a/src/lib/crypt_ops/digestset.c
+++ b/src/lib/crypt_ops/digestset.c
@@ -11,7 +11,7 @@
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/defs/digest_sizes.h"
#include "lib/crypt_ops/digestset.h"
-#include "siphash.h"
+#include "ext/siphash.h"
/* Wrap our hash function to have the signature that the bloom filter
* needs. */
diff --git a/src/lib/crypt_ops/include.am b/src/lib/crypt_ops/include.am
index 1022096fdc..d0ccc13bff 100644
--- a/src/lib/crypt_ops/include.am
+++ b/src/lib/crypt_ops/include.am
@@ -66,5 +66,6 @@ noinst_HEADERS += \
src/lib/crypt_ops/crypto_rand.h \
src/lib/crypt_ops/crypto_rsa.h \
src/lib/crypt_ops/crypto_s2k.h \
+ src/lib/crypt_ops/crypto_sys.h \
src/lib/crypt_ops/crypto_util.h \
src/lib/crypt_ops/digestset.h
diff --git a/src/lib/encoding/.may_include b/src/lib/encoding/.may_include
index 7c2ef36929..c9bf4b1786 100644
--- a/src/lib/encoding/.may_include
+++ b/src/lib/encoding/.may_include
@@ -1,5 +1,6 @@
orconfig.h
lib/cc/*.h
+lib/container/*.h
lib/ctime/*.h
lib/encoding/*.h
lib/intmath/*.h
diff --git a/src/lib/encoding/binascii.c b/src/lib/encoding/binascii.c
index e9140d9432..067db075ad 100644
--- a/src/lib/encoding/binascii.c
+++ b/src/lib/encoding/binascii.c
@@ -179,6 +179,18 @@ base64_encode_size(size_t srclen, int flags)
return enclen;
}
+/** Return an upper bound on the number of bytes that might be needed to hold
+ * the data from decoding the base64 string <b>srclen</b>. This is only an
+ * upper bound, since some part of the base64 string might be padding or
+ * space. */
+size_t
+base64_decode_maxsize(size_t srclen)
+{
+ tor_assert(srclen < INT_MAX / 3);
+
+ return CEIL_DIV(srclen * 3, 4);
+}
+
/** Internal table mapping 6 bit values to the Base64 alphabet. */
static const char base64_encode_table[64] = {
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
diff --git a/src/lib/encoding/binascii.h b/src/lib/encoding/binascii.h
index 23cbaa7070..c71ba65dfb 100644
--- a/src/lib/encoding/binascii.h
+++ b/src/lib/encoding/binascii.h
@@ -42,6 +42,7 @@ const char *hex_str(const char *from, size_t fromlen);
#define BASE64_ENCODE_MULTILINE 1
size_t base64_encode_size(size_t srclen, int flags);
+size_t base64_decode_maxsize(size_t srclen);
int base64_encode(char *dest, size_t destlen, const char *src, size_t srclen,
int flags);
int base64_decode(char *dest, size_t destlen, const char *src, size_t srclen);
diff --git a/src/lib/encoding/include.am b/src/lib/encoding/include.am
index 2d2aa3988a..83e9211b6f 100644
--- a/src/lib/encoding/include.am
+++ b/src/lib/encoding/include.am
@@ -9,6 +9,7 @@ src_lib_libtor_encoding_a_SOURCES = \
src/lib/encoding/confline.c \
src/lib/encoding/cstring.c \
src/lib/encoding/keyval.c \
+ src/lib/encoding/kvline.c \
src/lib/encoding/pem.c \
src/lib/encoding/time_fmt.c
@@ -22,5 +23,6 @@ noinst_HEADERS += \
src/lib/encoding/confline.h \
src/lib/encoding/cstring.h \
src/lib/encoding/keyval.h \
+ src/lib/encoding/kvline.h \
src/lib/encoding/pem.h \
src/lib/encoding/time_fmt.h
diff --git a/src/lib/encoding/kvline.c b/src/lib/encoding/kvline.c
new file mode 100644
index 0000000000..11ff4f0f96
--- /dev/null
+++ b/src/lib/encoding/kvline.c
@@ -0,0 +1,239 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file kvline.c
+ *
+ * \brief Manipulating lines of key-value pairs.
+ **/
+
+#include "orconfig.h"
+
+#include "lib/container/smartlist.h"
+#include "lib/encoding/confline.h"
+#include "lib/encoding/cstring.h"
+#include "lib/encoding/kvline.h"
+#include "lib/malloc/malloc.h"
+#include "lib/string/compat_ctype.h"
+#include "lib/string/printf.h"
+#include "lib/string/util_string.h"
+#include "lib/log/escape.h"
+#include "lib/log/util_bug.h"
+
+#include <stdbool.h>
+#include <stddef.h>
+#include <string.h>
+
+/** Return true iff we need to quote and escape the string <b>s</b> to encode
+ * it. */
+static bool
+needs_escape(const char *s, bool as_keyless_val)
+{
+ if (as_keyless_val && *s == 0)
+ return true;
+
+ for (; *s; ++s) {
+ if (*s >= 127 || TOR_ISSPACE(*s) || ! TOR_ISPRINT(*s) ||
+ *s == '\'' || *s == '\"') {
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * Return true iff the key in <b>line</b> is not set.
+ **/
+static bool
+line_has_no_key(const config_line_t *line)
+{
+ return line->key == NULL || strlen(line->key) == 0;
+}
+
+/**
+ * Return true iff the all the lines in <b>line</b> can be encoded
+ * using <b>flags</b>.
+ **/
+static bool
+kvline_can_encode_lines(const config_line_t *line, unsigned flags)
+{
+ for ( ; line; line = line->next) {
+ const bool keyless = line_has_no_key(line);
+ if (keyless) {
+ if (! (flags & KV_OMIT_KEYS)) {
+ /* If KV_OMIT_KEYS is not set, we can't encode a line with no key. */
+ return false;
+ }
+ if (strchr(line->value, '=') && !( flags & KV_QUOTED)) {
+ /* We can't have a keyless value with = without quoting it. */
+ return false;
+ }
+ }
+
+ if (needs_escape(line->value, keyless) && ! (flags & KV_QUOTED)) {
+ /* If KV_QUOTED is false, we can't encode a value that needs quotes. */
+ return false;
+ }
+ if (line->key && strlen(line->key) &&
+ (needs_escape(line->key, false) || strchr(line->key, '='))) {
+ /* We can't handle keys that need quoting. */
+ return false;
+ }
+ }
+ return true;
+}
+
+/**
+ * Encode a linked list of lines in <b>line</b> as a series of 'Key=Value'
+ * pairs, using the provided <b>flags</b> to encode it. Return a newly
+ * allocated string on success, or NULL on failure.
+ *
+ * If KV_QUOTED is set in <b>flags</b>, then all values that contain
+ * spaces or unusual characters are escaped and quoted. Otherwise, such
+ * values are not allowed.
+ *
+ * If KV_OMIT_KEYS is set in <b>flags</b>, then pairs with empty keys are
+ * allowed, and are encoded as 'Value'. Otherwise, such pairs are not
+ * allowed.
+ */
+char *
+kvline_encode(const config_line_t *line,
+ unsigned flags)
+{
+ if (!kvline_can_encode_lines(line, flags))
+ return NULL;
+
+ smartlist_t *elements = smartlist_new();
+
+ for (; line; line = line->next) {
+
+ const char *k = "";
+ const char *eq = "=";
+ const char *v = "";
+ const bool keyless = line_has_no_key(line);
+ bool esc = needs_escape(line->value, keyless);
+ char *tmp = NULL;
+
+ if (! keyless) {
+ k = line->key;
+ } else {
+ eq = "";
+ if (strchr(line->value, '=')) {
+ esc = true;
+ }
+ }
+
+ if (esc) {
+ tmp = esc_for_log(line->value);
+ v = tmp;
+ } else {
+ v = line->value;
+ }
+
+ smartlist_add_asprintf(elements, "%s%s%s", k, eq, v);
+ tor_free(tmp);
+ }
+
+ char *result = smartlist_join_strings(elements, " ", 0, NULL);
+
+ SMARTLIST_FOREACH(elements, char *, cp, tor_free(cp));
+ smartlist_free(elements);
+
+ return result;
+}
+
+/**
+ * Decode a <b>line</b> containing a series of space-separated 'Key=Value'
+ * pairs, using the provided <b>flags</b> to decode it. Return a newly
+ * allocated list of pairs on success, or NULL on failure.
+ *
+ * If KV_QUOTED is set in <b>flags</b>, then (double-)quoted values are
+ * allowed. Otherwise, such values are not allowed.
+ *
+ * If KV_OMIT_KEYS is set in <b>flags</b>, then values without keys are
+ * allowed. Otherwise, such values are not allowed.
+ */
+config_line_t *
+kvline_parse(const char *line, unsigned flags)
+{
+ const char *cp = line, *cplast = NULL;
+ bool omit_keys = (flags & KV_OMIT_KEYS) != 0;
+ bool quoted = (flags & KV_QUOTED) != 0;
+
+ config_line_t *result = NULL;
+ config_line_t **next_line = &result;
+
+ char *key = NULL;
+ char *val = NULL;
+
+ while (*cp) {
+ key = val = NULL;
+ {
+ size_t idx = strspn(cp, " \t\r\v\n");
+ cp += idx;
+ }
+ if (BUG(cp == cplast)) {
+ /* If we didn't parse anything, this code is broken. */
+ goto err; // LCOV_EXCL_LINE
+ }
+ cplast = cp;
+ if (! *cp)
+ break; /* End of string; we're done. */
+
+ /* Possible formats are K=V, K="V", V, and "V", depending on flags. */
+
+ /* Find the key. */
+ if (*cp != '\"') {
+ size_t idx = strcspn(cp, " \t\r\v\n=");
+
+ if (cp[idx] == '=') {
+ key = tor_memdup_nulterm(cp, idx);
+ cp += idx + 1;
+ } else {
+ if (!omit_keys)
+ goto err;
+ }
+ }
+
+ if (*cp == '\"') {
+ /* The type is "V". */
+ if (!quoted)
+ goto err;
+ size_t len=0;
+ cp = unescape_string(cp, &val, &len);
+ if (cp == NULL || len != strlen(val)) {
+ // The string contains a NUL or is badly coded.
+ goto err;
+ }
+ } else {
+ size_t idx = strcspn(cp, " \t\r\v\n");
+ val = tor_memdup_nulterm(cp, idx);
+ cp += idx;
+ }
+
+ if (key && strlen(key) == 0) {
+ /* We don't allow empty keys. */
+ goto err;
+ }
+
+ *next_line = tor_malloc_zero(sizeof(config_line_t));
+ (*next_line)->key = key ? key : tor_strdup("");
+ (*next_line)->value = val;
+ next_line = &(*next_line)->next;
+ key = val = NULL;
+ }
+
+ if (!kvline_can_encode_lines(result, flags)) {
+ goto err;
+ }
+ return result;
+
+ err:
+ tor_free(key);
+ tor_free(val);
+ config_free_lines(result);
+ return NULL;
+}
diff --git a/src/lib/encoding/kvline.h b/src/lib/encoding/kvline.h
new file mode 100644
index 0000000000..3272cc1754
--- /dev/null
+++ b/src/lib/encoding/kvline.h
@@ -0,0 +1,24 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file kvline.h
+ *
+ * \brief Header for kvline.c
+ **/
+
+#ifndef TOR_KVLINE_H
+#define TOR_KVLINE_H
+
+struct config_line_t;
+
+#define KV_QUOTED (1u<<0)
+#define KV_OMIT_KEYS (1u<<1)
+
+struct config_line_t *kvline_parse(const char *line, unsigned flags);
+char *kvline_encode(const struct config_line_t *line, unsigned flags);
+
+#endif /* !defined(TOR_KVLINE_H) */
diff --git a/src/lib/encoding/time_fmt.c b/src/lib/encoding/time_fmt.c
index a921fc681c..233d0dddff 100644
--- a/src/lib/encoding/time_fmt.c
+++ b/src/lib/encoding/time_fmt.c
@@ -26,6 +26,10 @@
#include <string.h>
#include <time.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
#ifdef _WIN32
/* For struct timeval */
#include <winsock2.h>
diff --git a/src/lib/err/.may_include b/src/lib/err/.may_include
index 48cc0ef088..daa1b6e4ca 100644
--- a/src/lib/err/.may_include
+++ b/src/lib/err/.may_include
@@ -1,3 +1,5 @@
orconfig.h
lib/cc/*.h
lib/err/*.h
+lib/subsys/*.h
+lib/version/*.h \ No newline at end of file
diff --git a/src/lib/err/include.am b/src/lib/err/include.am
index f2a409c51e..43adcd2694 100644
--- a/src/lib/err/include.am
+++ b/src/lib/err/include.am
@@ -6,8 +6,9 @@ noinst_LIBRARIES += src/lib/libtor-err-testing.a
endif
src_lib_libtor_err_a_SOURCES = \
- src/lib/err/backtrace.c \
- src/lib/err/torerr.c
+ src/lib/err/backtrace.c \
+ src/lib/err/torerr.c \
+ src/lib/err/torerr_sys.c
src_lib_libtor_err_testing_a_SOURCES = \
$(src_lib_libtor_err_a_SOURCES)
@@ -16,4 +17,5 @@ src_lib_libtor_err_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
noinst_HEADERS += \
src/lib/err/backtrace.h \
- src/lib/err/torerr.h
+ src/lib/err/torerr.h \
+ src/lib/err/torerr_sys.h
diff --git a/src/lib/err/torerr.c b/src/lib/err/torerr.c
index f9e139f967..e9de86837f 100644
--- a/src/lib/err/torerr.c
+++ b/src/lib/err/torerr.c
@@ -123,6 +123,16 @@ tor_log_set_sigsafe_err_fds(const int *fds, int n)
}
/**
+ * Reset the list of emergency error fds to its default.
+ */
+void
+tor_log_reset_sigsafe_err_fds(void)
+{
+ int fds[] = { STDERR_FILENO };
+ tor_log_set_sigsafe_err_fds(fds, 1);
+}
+
+/**
* Set the granularity (in ms) to use when reporting fatal errors outside
* the logging system.
*/
diff --git a/src/lib/err/torerr.h b/src/lib/err/torerr.h
index d4bba6916f..b415ef73ef 100644
--- a/src/lib/err/torerr.h
+++ b/src/lib/err/torerr.h
@@ -39,6 +39,7 @@ void tor_raw_assertion_failed_msg_(const char *file, int line,
void tor_log_err_sigsafe(const char *m, ...);
int tor_log_get_sigsafe_err_fds(const int **out);
void tor_log_set_sigsafe_err_fds(const int *fds, int n);
+void tor_log_reset_sigsafe_err_fds(void);
void tor_log_sigsafe_err_set_granularity(int ms);
int format_hex_number_sigsafe(unsigned long x, char *buf, int max_len);
diff --git a/src/lib/err/torerr_sys.c b/src/lib/err/torerr_sys.c
new file mode 100644
index 0000000000..96bb1308a4
--- /dev/null
+++ b/src/lib/err/torerr_sys.c
@@ -0,0 +1,40 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file torerr_sys.c
+ * \brief Subsystem object for the error handling subsystem.
+ **/
+
+#include "orconfig.h"
+#include "lib/err/backtrace.h"
+#include "lib/err/torerr.h"
+#include "lib/err/torerr_sys.h"
+#include "lib/subsys/subsys.h"
+#include "lib/version/torversion.h"
+
+#include <stddef.h>
+
+static int
+subsys_torerr_initialize(void)
+{
+ if (configure_backtrace_handler(get_version()) < 0)
+ return -1;
+ tor_log_reset_sigsafe_err_fds();
+
+ return 0;
+}
+static void
+subsys_torerr_shutdown(void)
+{
+ tor_log_reset_sigsafe_err_fds();
+ clean_up_backtrace_handler();
+}
+
+const subsys_fns_t sys_torerr = {
+ .name = "err",
+ .level = -100,
+ .supported = true,
+ .initialize = subsys_torerr_initialize,
+ .shutdown = subsys_torerr_shutdown
+};
diff --git a/src/lib/err/torerr_sys.h b/src/lib/err/torerr_sys.h
new file mode 100644
index 0000000000..b56270d538
--- /dev/null
+++ b/src/lib/err/torerr_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file torerr_sys.h
+ * \brief Declare subsystem object for torerr.c
+ **/
+
+#ifndef TOR_TORERR_SYS_H
+#define TOR_TORERR_SYS_H
+
+extern const struct subsys_fns_t sys_torerr;
+
+#endif /* !defined(TOR_TORERR_SYS_H) */
diff --git a/src/lib/evloop/.may_include b/src/lib/evloop/.may_include
index 30af508914..273de7bb94 100644
--- a/src/lib/evloop/.may_include
+++ b/src/lib/evloop/.may_include
@@ -12,5 +12,5 @@ lib/testsupport/*.h
lib/thread/*.h
lib/time/*.h
-src/ext/timeouts/timeout.c
-tor_queue.h \ No newline at end of file
+ext/timeouts/timeout.c
+ext/tor_queue.h \ No newline at end of file
diff --git a/src/lib/evloop/timers.c b/src/lib/evloop/timers.c
index c4e85c7c93..6743b6af51 100644
--- a/src/lib/evloop/timers.c
+++ b/src/lib/evloop/timers.c
@@ -39,6 +39,10 @@
#include "lib/malloc/malloc.h"
#include "lib/time/compat_time.h"
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
#ifdef _WIN32
// For struct timeval.
#include <winsock2.h>
@@ -76,7 +80,8 @@ struct timeout_cb {
* use 32-bit math. */
#define WHEEL_BIT 5
#endif
-#include "src/ext/timeouts/timeout.c"
+
+#include "ext/timeouts/timeout.c"
static struct timeouts *global_timeouts = NULL;
static struct mainloop_event_t *global_timer_event = NULL;
diff --git a/src/lib/evloop/workqueue.c b/src/lib/evloop/workqueue.c
index 5471f87b04..b36a02da5e 100644
--- a/src/lib/evloop/workqueue.c
+++ b/src/lib/evloop/workqueue.c
@@ -36,7 +36,7 @@
#include "lib/net/socket.h"
#include "lib/thread/threads.h"
-#include "tor_queue.h"
+#include "ext/tor_queue.h"
#include <event2/event.h>
#include <string.h>
diff --git a/src/lib/fs/.may_include b/src/lib/fs/.may_include
index b1e49fc891..c192e6181c 100644
--- a/src/lib/fs/.may_include
+++ b/src/lib/fs/.may_include
@@ -13,4 +13,4 @@ lib/malloc/*.h
lib/memarea/*.h
lib/sandbox/*.h
lib/string/*.h
-lib/testsupport/testsupport.h
+lib/testsupport/*.h
diff --git a/src/lib/intmath/cmp.h b/src/lib/intmath/cmp.h
index 16952bee3e..11b6fdf98e 100644
--- a/src/lib/intmath/cmp.h
+++ b/src/lib/intmath/cmp.h
@@ -36,4 +36,7 @@
((v) > (max)) ? (max) : \
(v) )
+/** Give the absolute value of <b>x</b>, independent of its type. */
+#define ABS(x) ( ((x)<0) ? -(x) : (x) )
+
#endif /* !defined(TOR_INTMATH_CMP_H) */
diff --git a/src/lib/log/.may_include b/src/lib/log/.may_include
index 852173aab3..11c87f0a0d 100644
--- a/src/lib/log/.may_include
+++ b/src/lib/log/.may_include
@@ -9,7 +9,7 @@ lib/lock/*.h
lib/log/*.h
lib/malloc/*.h
lib/string/*.h
+lib/subsys/*.h
lib/testsupport/*.h
+lib/version/*.h
lib/wallclock/*.h
-
-micro-revision.i \ No newline at end of file
diff --git a/src/lib/log/include.am b/src/lib/log/include.am
index 4a6c9b3686..9d3dbe3104 100644
--- a/src/lib/log/include.am
+++ b/src/lib/log/include.am
@@ -7,9 +7,9 @@ endif
src_lib_libtor_log_a_SOURCES = \
src/lib/log/escape.c \
- src/lib/log/git_revision.c \
src/lib/log/ratelim.c \
src/lib/log/log.c \
+ src/lib/log/log_sys.c \
src/lib/log/util_bug.c
if WIN32
@@ -21,16 +21,10 @@ src_lib_libtor_log_testing_a_SOURCES = \
src_lib_libtor_log_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
src_lib_libtor_log_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
-# Declare that these object files depend on micro-revision.i. Without this
-# rule, we could try to build them before micro-revision.i was created.
-src/lib/log/git_revision.$(OBJEXT) \
- src/lib/log/src_lib_libtor_log_testing_a-git_revision.$(OBJEXT): \
- micro-revision.i
-
noinst_HEADERS += \
src/lib/log/escape.h \
- src/lib/log/git_revision.h \
src/lib/log/ratelim.h \
src/lib/log/log.h \
+ src/lib/log/log_sys.h \
src/lib/log/util_bug.h \
src/lib/log/win32err.h
diff --git a/src/lib/log/log.c b/src/lib/log/log.c
index d60ce6308a..2c25ddf1aa 100644
--- a/src/lib/log/log.c
+++ b/src/lib/log/log.c
@@ -32,7 +32,8 @@
#define LOG_PRIVATE
#include "lib/log/log.h"
-#include "lib/log/git_revision.h"
+#include "lib/log/log_sys.h"
+#include "lib/version/git_revision.h"
#include "lib/log/ratelim.h"
#include "lib/lock/compat_mutex.h"
#include "lib/smartlist_core/smartlist_core.h"
@@ -1267,7 +1268,7 @@ static const char *domain_list[] = {
"GENERAL", "CRYPTO", "NET", "CONFIG", "FS", "PROTOCOL", "MM",
"HTTP", "APP", "CONTROL", "CIRC", "REND", "BUG", "DIR", "DIRSERV",
"OR", "EDGE", "ACCT", "HIST", "HANDSHAKE", "HEARTBEAT", "CHANNEL",
- "SCHED", "GUARD", "CONSDIFF", "DOS", NULL
+ "SCHED", "GUARD", "CONSDIFF", "DOS", "PROCESS", "PT", NULL
};
/** Return a bitmask for the log domain for which <b>domain</b> is the name,
diff --git a/src/lib/log/log.h b/src/lib/log/log.h
index 493409756f..c8820ee037 100644
--- a/src/lib/log/log.h
+++ b/src/lib/log/log.h
@@ -107,8 +107,12 @@
#define LD_CONSDIFF (1u<<24)
/** Denial of Service mitigation. */
#define LD_DOS (1u<<25)
+/** Processes */
+#define LD_PROCESS (1u<<26)
+/** Pluggable Transports. */
+#define LD_PT (1u<<27)
/** Number of logging domains in the code. */
-#define N_LOGGING_DOMAINS 26
+#define N_LOGGING_DOMAINS 28
/** This log message is not safe to send to a callback-based logger
* immediately. Used as a flag, not a log domain. */
diff --git a/src/lib/log/log_sys.c b/src/lib/log/log_sys.c
new file mode 100644
index 0000000000..e20f3156ca
--- /dev/null
+++ b/src/lib/log/log_sys.c
@@ -0,0 +1,35 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file log_sys.c
+ * \brief Setup and tear down the logging module.
+ **/
+
+#include "orconfig.h"
+#include "lib/subsys/subsys.h"
+#include "lib/log/escape.h"
+#include "lib/log/log.h"
+#include "lib/log/log_sys.h"
+
+static int
+subsys_logging_initialize(void)
+{
+ init_logging(0);
+ return 0;
+}
+
+static void
+subsys_logging_shutdown(void)
+{
+ logs_free_all();
+ escaped(NULL);
+}
+
+const subsys_fns_t sys_logging = {
+ .name = "log",
+ .supported = true,
+ .level = -90,
+ .initialize = subsys_logging_initialize,
+ .shutdown = subsys_logging_shutdown,
+};
diff --git a/src/lib/log/log_sys.h b/src/lib/log/log_sys.h
new file mode 100644
index 0000000000..f7afbb279d
--- /dev/null
+++ b/src/lib/log/log_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file log_sys.h
+ * \brief Declare subsystem object for the logging module.
+ **/
+
+#ifndef TOR_LOG_SYS_H
+#define TOR_LOG_SYS_H
+
+extern const struct subsys_fns_t sys_logging;
+
+#endif /* !defined(TOR_LOG_SYS_H) */
diff --git a/src/lib/malloc/.may_include b/src/lib/malloc/.may_include
index cc62bb1013..7686bf862a 100644
--- a/src/lib/malloc/.may_include
+++ b/src/lib/malloc/.may_include
@@ -3,4 +3,4 @@ orconfig.h
lib/cc/*.h
lib/err/*.h
lib/malloc/*.h
-lib/testsupport/testsupport.h
+lib/testsupport/*.h
diff --git a/src/lib/memarea/.may_include b/src/lib/memarea/.may_include
index 814652a93c..a1edaf2231 100644
--- a/src/lib/memarea/.may_include
+++ b/src/lib/memarea/.may_include
@@ -1,7 +1,7 @@
orconfig.h
lib/arch/*.h
lib/cc/*.h
-lib/container/*.h
lib/log/*.h
lib/malloc/*.h
lib/memarea/*.h
+lib/smartlist_core/*.h \ No newline at end of file
diff --git a/src/lib/memarea/memarea.c b/src/lib/memarea/memarea.c
index dd7c48c079..96d94c89d9 100644
--- a/src/lib/memarea/memarea.c
+++ b/src/lib/memarea/memarea.c
@@ -16,7 +16,8 @@
#include "lib/arch/bytes.h"
#include "lib/cc/torint.h"
-#include "lib/container/smartlist.h"
+#include "lib/smartlist_core/smartlist_core.h"
+#include "lib/smartlist_core/smartlist_foreach.h"
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
#include "lib/malloc/malloc.h"
diff --git a/src/lib/net/.may_include b/src/lib/net/.may_include
index 13b209bbed..e4368f799b 100644
--- a/src/lib/net/.may_include
+++ b/src/lib/net/.may_include
@@ -1,8 +1,9 @@
orconfig.h
-siphash.h
-ht.h
+ext/siphash.h
+ext/ht.h
lib/arch/*.h
+lib/buf/*.h
lib/cc/*.h
lib/container/*.h
lib/ctime/*.h
@@ -11,5 +12,6 @@ lib/lock/*.h
lib/log/*.h
lib/net/*.h
lib/string/*.h
+lib/subsys/*.h
lib/testsupport/*.h
lib/malloc/*.h \ No newline at end of file
diff --git a/src/lib/net/address.c b/src/lib/net/address.c
index 03767e2950..240201d7b6 100644
--- a/src/lib/net/address.c
+++ b/src/lib/net/address.c
@@ -40,6 +40,7 @@
#include "lib/net/address.h"
#include "lib/net/socket.h"
+#include "lib/cc/ctassert.h"
#include "lib/container/smartlist.h"
#include "lib/ctime/di_ops.h"
#include "lib/log/log.h"
@@ -52,7 +53,7 @@
#include "lib/string/printf.h"
#include "lib/string/util_string.h"
-#include "siphash.h"
+#include "ext/siphash.h"
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
@@ -98,6 +99,7 @@
#if AF_UNSPEC != 0
#error We rely on AF_UNSPEC being 0. Let us know about your platform, please!
#endif
+CTASSERT(AF_UNSPEC == 0);
/** Convert the tor_addr_t in <b>a</b>, with port in <b>port</b>, into a
* sockaddr object in *<b>sa_out</b> of object size <b>len</b>. If not enough
@@ -1187,14 +1189,22 @@ tor_addr_parse(tor_addr_t *addr, const char *src)
int result;
struct in_addr in_tmp;
struct in6_addr in6_tmp;
+ int brackets_detected = 0;
+
tor_assert(addr && src);
- if (src[0] == '[' && src[1])
+
+ size_t len = strlen(src);
+
+ if (len && src[0] == '[' && src[len - 1] == ']') {
+ brackets_detected = 1;
src = tmp = tor_strndup(src+1, strlen(src)-2);
+ }
if (tor_inet_pton(AF_INET6, src, &in6_tmp) > 0) {
result = AF_INET6;
tor_addr_from_in6(addr, &in6_tmp);
- } else if (tor_inet_pton(AF_INET, src, &in_tmp) > 0) {
+ } else if (!brackets_detected &&
+ tor_inet_pton(AF_INET, src, &in_tmp) > 0) {
result = AF_INET;
tor_addr_from_in(addr, &in_tmp);
} else {
diff --git a/src/lib/net/buffers_net.c b/src/lib/net/buffers_net.c
index c52ea2784e..576dc56a52 100644
--- a/src/lib/net/buffers_net.c
+++ b/src/lib/net/buffers_net.c
@@ -11,7 +11,7 @@
#define BUFFERS_PRIVATE
#include "lib/net/buffers_net.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
#include "lib/net/nettypes.h"
@@ -21,6 +21,7 @@
#endif
#include <stdlib.h>
+#include <unistd.h>
#ifdef PARANOIA
/** Helper: If PARANOIA is defined, assert that the buffer in local variable
@@ -30,27 +31,36 @@
#define check() STMT_NIL
#endif /* defined(PARANOIA) */
-/** Read up to <b>at_most</b> bytes from the socket <b>fd</b> into
+/** Read up to <b>at_most</b> bytes from the file descriptor <b>fd</b> into
* <b>chunk</b> (which must be on <b>buf</b>). If we get an EOF, set
- * *<b>reached_eof</b> to 1. Return -1 on error, 0 on eof or blocking,
- * and the number of bytes read otherwise. */
+ * *<b>reached_eof</b> to 1. Uses <b>tor_socket_recv()</b> iff <b>is_socket</b>
+ * is true, otherwise it uses <b>read()</b>. Return -1 on error (and sets
+ * *<b>error</b> to errno), 0 on eof or blocking, and the number of bytes read
+ * otherwise. */
static inline int
read_to_chunk(buf_t *buf, chunk_t *chunk, tor_socket_t fd, size_t at_most,
- int *reached_eof, int *socket_error)
+ int *reached_eof, int *error, bool is_socket)
{
ssize_t read_result;
if (at_most > CHUNK_REMAINING_CAPACITY(chunk))
at_most = CHUNK_REMAINING_CAPACITY(chunk);
- read_result = tor_socket_recv(fd, CHUNK_WRITE_PTR(chunk), at_most, 0);
+
+ if (is_socket)
+ read_result = tor_socket_recv(fd, CHUNK_WRITE_PTR(chunk), at_most, 0);
+ else
+ read_result = read(fd, CHUNK_WRITE_PTR(chunk), at_most);
if (read_result < 0) {
- int e = tor_socket_errno(fd);
+ int e = is_socket ? tor_socket_errno(fd) : errno;
+
if (!ERRNO_IS_EAGAIN(e)) { /* it's a real error */
#ifdef _WIN32
if (e == WSAENOBUFS)
- log_warn(LD_NET,"recv() failed: WSAENOBUFS. Not enough ram?");
+ log_warn(LD_NET, "%s() failed: WSAENOBUFS. Not enough ram?",
+ is_socket ? "recv" : "read");
#endif
- *socket_error = e;
+ if (error)
+ *error = e;
return -1;
}
return 0; /* would block. */
@@ -68,16 +78,17 @@ read_to_chunk(buf_t *buf, chunk_t *chunk, tor_socket_t fd, size_t at_most,
}
}
-/** Read from socket <b>s</b>, writing onto end of <b>buf</b>. Read at most
- * <b>at_most</b> bytes, growing the buffer as necessary. If recv() returns 0
- * (because of EOF), set *<b>reached_eof</b> to 1 and return 0. Return -1 on
- * error; else return the number of bytes read.
+/** Read from file descriptor <b>fd</b>, writing onto end of <b>buf</b>. Read
+ * at most <b>at_most</b> bytes, growing the buffer as necessary. If recv()
+ * returns 0 (because of EOF), set *<b>reached_eof</b> to 1 and return 0.
+ * Return -1 on error; else return the number of bytes read.
*/
/* XXXX indicate "read blocked" somehow? */
-int
-buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most,
- int *reached_eof,
- int *socket_error)
+static int
+buf_read_from_fd(buf_t *buf, int fd, size_t at_most,
+ int *reached_eof,
+ int *socket_error,
+ bool is_socket)
{
/* XXXX It's stupid to overload the return values for these functions:
* "error status" and "number of bytes read" are not mutually exclusive.
@@ -87,7 +98,7 @@ buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most,
check();
tor_assert(reached_eof);
- tor_assert(SOCKET_OK(s));
+ tor_assert(SOCKET_OK(fd));
if (BUG(buf->datalen >= INT_MAX))
return -1;
@@ -108,7 +119,8 @@ buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most,
readlen = cap;
}
- r = read_to_chunk(buf, chunk, s, readlen, reached_eof, socket_error);
+ r = read_to_chunk(buf, chunk, fd, readlen,
+ reached_eof, socket_error, is_socket);
check();
if (r < 0)
return r; /* Error */
@@ -122,22 +134,27 @@ buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most,
}
/** Helper for buf_flush_to_socket(): try to write <b>sz</b> bytes from chunk
- * <b>chunk</b> of buffer <b>buf</b> onto socket <b>s</b>. On success, deduct
- * the bytes written from *<b>buf_flushlen</b>. Return the number of bytes
- * written on success, 0 on blocking, -1 on failure.
+ * <b>chunk</b> of buffer <b>buf</b> onto file descriptor <b>fd</b>. On
+ * success, deduct the bytes written from *<b>buf_flushlen</b>. Return the
+ * number of bytes written on success, 0 on blocking, -1 on failure.
*/
static inline int
-flush_chunk(tor_socket_t s, buf_t *buf, chunk_t *chunk, size_t sz,
- size_t *buf_flushlen)
+flush_chunk(tor_socket_t fd, buf_t *buf, chunk_t *chunk, size_t sz,
+ size_t *buf_flushlen, bool is_socket)
{
ssize_t write_result;
if (sz > chunk->datalen)
sz = chunk->datalen;
- write_result = tor_socket_send(s, chunk->data, sz, 0);
+
+ if (is_socket)
+ write_result = tor_socket_send(fd, chunk->data, sz, 0);
+ else
+ write_result = write(fd, chunk->data, sz);
if (write_result < 0) {
- int e = tor_socket_errno(s);
+ int e = is_socket ? tor_socket_errno(fd) : errno;
+
if (!ERRNO_IS_EAGAIN(e)) { /* it's a real error */
#ifdef _WIN32
if (e == WSAENOBUFS)
@@ -155,15 +172,15 @@ flush_chunk(tor_socket_t s, buf_t *buf, chunk_t *chunk, size_t sz,
}
}
-/** Write data from <b>buf</b> to the socket <b>s</b>. Write at most
+/** Write data from <b>buf</b> to the file descriptor <b>fd</b>. Write at most
* <b>sz</b> bytes, decrement *<b>buf_flushlen</b> by
* the number of bytes actually written, and remove the written bytes
* from the buffer. Return the number of bytes written on success,
* -1 on failure. Return 0 if write() would block.
*/
-int
-buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz,
- size_t *buf_flushlen)
+static int
+buf_flush_to_fd(buf_t *buf, int fd, size_t sz,
+ size_t *buf_flushlen, bool is_socket)
{
/* XXXX It's stupid to overload the return values for these functions:
* "error status" and "number of bytes flushed" are not mutually exclusive.
@@ -171,7 +188,7 @@ buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz,
int r;
size_t flushed = 0;
tor_assert(buf_flushlen);
- tor_assert(SOCKET_OK(s));
+ tor_assert(SOCKET_OK(fd));
if (BUG(*buf_flushlen > buf->datalen)) {
*buf_flushlen = buf->datalen;
}
@@ -188,7 +205,7 @@ buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz,
else
flushlen0 = buf->head->datalen;
- r = flush_chunk(s, buf, buf->head, flushlen0, buf_flushlen);
+ r = flush_chunk(fd, buf, buf->head, flushlen0, buf_flushlen, is_socket);
check();
if (r < 0)
return r;
@@ -200,3 +217,55 @@ buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz,
tor_assert(flushed < INT_MAX);
return (int)flushed;
}
+
+/** Write data from <b>buf</b> to the socket <b>s</b>. Write at most
+ * <b>sz</b> bytes, decrement *<b>buf_flushlen</b> by
+ * the number of bytes actually written, and remove the written bytes
+ * from the buffer. Return the number of bytes written on success,
+ * -1 on failure. Return 0 if write() would block.
+ */
+int
+buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz,
+ size_t *buf_flushlen)
+{
+ return buf_flush_to_fd(buf, s, sz, buf_flushlen, true);
+}
+
+/** Read from socket <b>s</b>, writing onto end of <b>buf</b>. Read at most
+ * <b>at_most</b> bytes, growing the buffer as necessary. If recv() returns 0
+ * (because of EOF), set *<b>reached_eof</b> to 1 and return 0. Return -1 on
+ * error; else return the number of bytes read.
+ */
+int
+buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most,
+ int *reached_eof,
+ int *socket_error)
+{
+ return buf_read_from_fd(buf, s, at_most, reached_eof, socket_error, true);
+}
+
+/** Write data from <b>buf</b> to the pipe <b>fd</b>. Write at most
+ * <b>sz</b> bytes, decrement *<b>buf_flushlen</b> by
+ * the number of bytes actually written, and remove the written bytes
+ * from the buffer. Return the number of bytes written on success,
+ * -1 on failure. Return 0 if write() would block.
+ */
+int
+buf_flush_to_pipe(buf_t *buf, int fd, size_t sz,
+ size_t *buf_flushlen)
+{
+ return buf_flush_to_fd(buf, fd, sz, buf_flushlen, false);
+}
+
+/** Read from pipe <b>fd</b>, writing onto end of <b>buf</b>. Read at most
+ * <b>at_most</b> bytes, growing the buffer as necessary. If read() returns 0
+ * (because of EOF), set *<b>reached_eof</b> to 1 and return 0. Return -1 on
+ * error; else return the number of bytes read.
+ */
+int
+buf_read_from_pipe(buf_t *buf, int fd, size_t at_most,
+ int *reached_eof,
+ int *socket_error)
+{
+ return buf_read_from_fd(buf, fd, at_most, reached_eof, socket_error, false);
+}
diff --git a/src/lib/net/buffers_net.h b/src/lib/net/buffers_net.h
index 417f6f9413..8911b082a2 100644
--- a/src/lib/net/buffers_net.h
+++ b/src/lib/net/buffers_net.h
@@ -24,4 +24,11 @@ int buf_read_from_socket(struct buf_t *buf, tor_socket_t s, size_t at_most,
int buf_flush_to_socket(struct buf_t *buf, tor_socket_t s, size_t sz,
size_t *buf_flushlen);
+int buf_read_from_pipe(struct buf_t *buf, int fd, size_t at_most,
+ int *reached_eof,
+ int *socket_error);
+
+int buf_flush_to_pipe(struct buf_t *buf, int fd, size_t sz,
+ size_t *buf_flushlen);
+
#endif /* !defined(TOR_BUFFERS_H) */
diff --git a/src/lib/net/inaddr.c b/src/lib/net/inaddr.c
index dcd8fcdd65..0960d323c5 100644
--- a/src/lib/net/inaddr.c
+++ b/src/lib/net/inaddr.c
@@ -168,6 +168,13 @@ tor_inet_pton(int af, const char *src, void *dst)
if (af == AF_INET) {
return tor_inet_aton(src, dst);
} else if (af == AF_INET6) {
+ ssize_t len = strlen(src);
+
+ /* Reject if src has needless trailing ':'. */
+ if (len > 2 && src[len - 1] == ':' && src[len - 2] != ':') {
+ return 0;
+ }
+
struct in6_addr *out = dst;
uint16_t words[8];
int gapPos = -1, i, setWords=0;
@@ -207,7 +214,6 @@ tor_inet_pton(int af, const char *src, void *dst)
return 0;
if (TOR_ISXDIGIT(*src)) {
char *next;
- ssize_t len;
long r = strtol(src, &next, 16);
if (next == NULL || next == src) {
/* The 'next == src' error case can happen on versions of openbsd
diff --git a/src/lib/net/include.am b/src/lib/net/include.am
index ff0967e786..8a88f0f2ae 100644
--- a/src/lib/net/include.am
+++ b/src/lib/net/include.am
@@ -11,6 +11,7 @@ src_lib_libtor_net_a_SOURCES = \
src/lib/net/buffers_net.c \
src/lib/net/gethostname.c \
src/lib/net/inaddr.c \
+ src/lib/net/network_sys.c \
src/lib/net/resolve.c \
src/lib/net/socket.c \
src/lib/net/socketpair.c
@@ -28,6 +29,7 @@ noinst_HEADERS += \
src/lib/net/inaddr.h \
src/lib/net/inaddr_st.h \
src/lib/net/nettypes.h \
+ src/lib/net/network_sys.h \
src/lib/net/resolve.h \
src/lib/net/socket.h \
src/lib/net/socketpair.h \
diff --git a/src/lib/net/network_sys.c b/src/lib/net/network_sys.c
new file mode 100644
index 0000000000..ac49288ee6
--- /dev/null
+++ b/src/lib/net/network_sys.c
@@ -0,0 +1,44 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file network_sys.c
+ * \brief Subsystem object for networking setup.
+ **/
+
+#include "orconfig.h"
+#include "lib/subsys/subsys.h"
+#include "lib/net/network_sys.h"
+#include "lib/net/resolve.h"
+#include "lib/net/socket.h"
+
+#ifdef _WIN32
+#include <winsock2.h>
+#include <windows.h>
+#endif
+
+static int
+subsys_network_initialize(void)
+{
+ if (network_init() < 0)
+ return -1;
+
+ return 0;
+}
+
+static void
+subsys_network_shutdown(void)
+{
+#ifdef _WIN32
+ WSACleanup();
+#endif
+ tor_free_getaddrinfo_cache();
+}
+
+const subsys_fns_t sys_network = {
+ .name = "network",
+ .level = -90,
+ .supported = true,
+ .initialize = subsys_network_initialize,
+ .shutdown = subsys_network_shutdown,
+};
diff --git a/src/lib/net/network_sys.h b/src/lib/net/network_sys.h
new file mode 100644
index 0000000000..62b778bb66
--- /dev/null
+++ b/src/lib/net/network_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file log_network.h
+ * \brief Declare subsystem object for the network module.
+ **/
+
+#ifndef TOR_NETWORK_SYS_H
+#define TOR_NETWORK_SYS_H
+
+extern const struct subsys_fns_t sys_network;
+
+#endif /* !defined(TOR_NETWORK_SYS_H) */
diff --git a/src/lib/net/resolve.c b/src/lib/net/resolve.c
index 7c8df3e307..95c1b171b5 100644
--- a/src/lib/net/resolve.c
+++ b/src/lib/net/resolve.c
@@ -16,8 +16,8 @@
#include "lib/string/parse_int.h"
#include "lib/string/util_string.h"
-#include "siphash.h"
-#include "ht.h"
+#include "ext/siphash.h"
+#include "ext/ht.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
@@ -421,4 +421,13 @@ tor_make_getaddrinfo_cache_active(void)
{
sandbox_getaddrinfo_is_active = 1;
}
+#else
+void
+sandbox_disable_getaddrinfo_cache(void)
+{
+}
+void
+tor_make_getaddrinfo_cache_active(void)
+{
+}
#endif
diff --git a/src/lib/net/resolve.h b/src/lib/net/resolve.h
index bf870c44c4..39157aaa67 100644
--- a/src/lib/net/resolve.h
+++ b/src/lib/net/resolve.h
@@ -42,7 +42,6 @@ int tor_getaddrinfo(const char *name, const char *servname,
struct addrinfo **res);
void tor_freeaddrinfo(struct addrinfo *addrinfo);
void tor_free_getaddrinfo_cache(void);
-void tor_make_getaddrinfo_cache_active(void);
#else /* !(defined(USE_SANDBOX_GETADDRINFO)) */
#define tor_getaddrinfo(name, servname, hints, res) \
getaddrinfo((name),(servname), (hints),(res))
@@ -54,5 +53,6 @@ void tor_make_getaddrinfo_cache_active(void);
#endif /* defined(USE_SANDBOX_GETADDRINFO) */
void sandbox_disable_getaddrinfo_cache(void);
+void tor_make_getaddrinfo_cache_active(void);
#endif
diff --git a/src/lib/net/socket.c b/src/lib/net/socket.c
index cd7c9685cd..8940e00591 100644
--- a/src/lib/net/socket.c
+++ b/src/lib/net/socket.c
@@ -31,6 +31,9 @@
#endif
#include <stddef.h>
#include <string.h>
+#ifdef __FreeBSD__
+#include <sys/sysctl.h>
+#endif
/** Called before we make any calls to network-related functions.
* (Some operating systems require their network libraries to be
@@ -60,6 +63,32 @@ network_init(void)
return 0;
}
+/**
+ * Warn the user if any system network parameters should be changed.
+ */
+void
+check_network_configuration(bool server_mode)
+{
+#ifdef __FreeBSD__
+ if (server_mode) {
+ int random_id_state;
+ size_t state_size = sizeof(random_id_state);
+
+ if (sysctlbyname("net.inet.ip.random_id", &random_id_state,
+ &state_size, NULL, 0)) {
+ log_warn(LD_CONFIG,
+ "Failed to figure out if IP ids are randomized.");
+ } else if (random_id_state == 0) {
+ log_warn(LD_CONFIG, "Looks like IP ids are not randomized. "
+ "Please consider setting the net.inet.ip.random_id sysctl, "
+ "so your relay makes it harder to figure out how busy it is.");
+ }
+ }
+#else
+ (void) server_mode;
+#endif
+}
+
/* When set_max_file_sockets() is called, update this with the max file
* descriptor value so we can use it to check the limit when opening a new
* socket. Default value is what Debian sets as the default hard limit. */
diff --git a/src/lib/net/socket.h b/src/lib/net/socket.h
index 2b87441fc6..822b9975e6 100644
--- a/src/lib/net/socket.h
+++ b/src/lib/net/socket.h
@@ -54,6 +54,7 @@ int tor_addr_from_getsockname(struct tor_addr_t *addr_out, tor_socket_t sock);
int set_socket_nonblocking(tor_socket_t socket);
int tor_socketpair(int family, int type, int protocol, tor_socket_t fd[2]);
int network_init(void);
+void check_network_configuration(bool server_mode);
int get_max_sockets(void);
void set_max_sockets(int);
diff --git a/src/lib/osinfo/uname.c b/src/lib/osinfo/uname.c
index 9d1923695d..7111ae31d2 100644
--- a/src/lib/osinfo/uname.c
+++ b/src/lib/osinfo/uname.c
@@ -46,22 +46,33 @@ get_uname,(void))
#ifdef _WIN32
OSVERSIONINFOEX info;
int i;
+ int is_client = 0;
+ int is_server = 0;
const char *plat = NULL;
static struct {
- unsigned major; unsigned minor; const char *version;
+ unsigned major; unsigned minor;
+ const char *client_version; const char *server_version;
} win_version_table[] = {
- { 6, 2, "Windows 8" },
- { 6, 1, "Windows 7" },
- { 6, 0, "Windows Vista" },
- { 5, 2, "Windows Server 2003" },
- { 5, 1, "Windows XP" },
- { 5, 0, "Windows 2000" },
- /* { 4, 0, "Windows NT 4.0" }, */
- { 4, 90, "Windows Me" },
- { 4, 10, "Windows 98" },
- /* { 4, 0, "Windows 95" } */
- { 3, 51, "Windows NT 3.51" },
- { 0, 0, NULL }
+ /* This table must be sorted in descending order.
+ * Sources:
+ * https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions
+ * https://docs.microsoft.com/en-us/windows/desktop/api/winnt/
+ * ns-winnt-_osversioninfoexa#remarks
+ */
+ /* Windows Server 2019 is indistinguishable from Windows Server 2016
+ * using GetVersionEx().
+ { 10, 0, NULL, "Windows Server 2019" }, */
+ { 10, 0, "Windows 10", "Windows Server 2016" },
+ { 6, 3, "Windows 8.1", "Windows Server 2012 R2" },
+ { 6, 2, "Windows 8", "Windows Server 2012" },
+ { 6, 1, "Windows 7", "Windows Server 2008 R2" },
+ { 6, 0, "Windows Vista", "Windows Server 2008" },
+ { 5, 2, "Windows XP Professional", "Windows Server 2003" },
+ /* Windows XP did not have a server version, but we need something here */
+ { 5, 1, "Windows XP", "Windows XP Server" },
+ { 5, 0, "Windows 2000 Professional", "Windows 2000 Server" },
+ /* Earlier versions are not supported by GetVersionEx(). */
+ { 0, 0, NULL, NULL }
};
memset(&info, 0, sizeof(info));
info.dwOSVersionInfoSize = sizeof(info);
@@ -71,25 +82,34 @@ get_uname,(void))
uname_result_is_set = 1;
return uname_result;
}
- if (info.dwMajorVersion == 4 && info.dwMinorVersion == 0) {
- if (info.dwPlatformId == VER_PLATFORM_WIN32_NT)
- plat = "Windows NT 4.0";
- else
- plat = "Windows 95";
+#ifdef VER_NT_SERVER
+ if (info.wProductType == VER_NT_SERVER ||
+ info.wProductType == VER_NT_DOMAIN_CONTROLLER) {
+ is_server = 1;
} else {
- for (i=0; win_version_table[i].major>0; ++i) {
- if (win_version_table[i].major == info.dwMajorVersion &&
- win_version_table[i].minor == info.dwMinorVersion) {
- plat = win_version_table[i].version;
- break;
+ is_client = 1;
+ }
+#endif /* defined(VER_NT_SERVER) */
+ /* Search the version table for a matching version */
+ for (i=0; win_version_table[i].major>0; ++i) {
+ if (win_version_table[i].major == info.dwMajorVersion &&
+ win_version_table[i].minor == info.dwMinorVersion) {
+ if (is_server) {
+ plat = win_version_table[i].server_version;
+ } else {
+ /* Use client versions for clients, and when we don't know if it
+ * is a client or a server. */
+ plat = win_version_table[i].client_version;
}
+ break;
}
}
if (plat) {
strlcpy(uname_result, plat, sizeof(uname_result));
} else {
- if (info.dwMajorVersion > 6 ||
- (info.dwMajorVersion==6 && info.dwMinorVersion>2))
+ if (info.dwMajorVersion > win_version_table[0].major ||
+ (info.dwMajorVersion == win_version_table[0].major &&
+ info.dwMinorVersion > win_version_table[0].minor))
tor_snprintf(uname_result, sizeof(uname_result),
"Very recent version of Windows [major=%d,minor=%d]",
(int)info.dwMajorVersion,(int)info.dwMinorVersion);
@@ -98,12 +118,25 @@ get_uname,(void))
"Unrecognized version of Windows [major=%d,minor=%d]",
(int)info.dwMajorVersion,(int)info.dwMinorVersion);
}
-#ifdef VER_NT_SERVER
- if (info.wProductType == VER_NT_SERVER ||
- info.wProductType == VER_NT_DOMAIN_CONTROLLER) {
- strlcat(uname_result, " [server]", sizeof(uname_result));
- }
-#endif /* defined(VER_NT_SERVER) */
+ /* Now append extra information to the name.
+ *
+ * Microsoft's API documentation says that on Windows 8.1 and later,
+ * GetVersionEx returns Windows 8 (6.2) for applications without an
+ * app compatibility manifest (including tor's default build).
+ *
+ * But in our testing, we have seen the actual Windows version on
+ * Windows Server 2012 R2, even without a manifest. */
+ if (info.dwMajorVersion > 6 ||
+ (info.dwMajorVersion == 6 && info.dwMinorVersion >= 2)) {
+ /* When GetVersionEx() returns Windows 8, the actual OS may be any
+ * later version. */
+ strlcat(uname_result, " [or later]", sizeof(uname_result));
+ }
+ /* When we don't know if the OS is a client or server version, we use
+ * the client version, and this qualifier. */
+ if (!is_server && !is_client) {
+ strlcat(uname_result, " [client or server]", sizeof(uname_result));
+ }
#else /* !(defined(_WIN32)) */
/* LCOV_EXCL_START -- can't provoke uname failure */
strlcpy(uname_result, "Unknown platform", sizeof(uname_result));
diff --git a/src/lib/process/.may_include b/src/lib/process/.may_include
index 05414d2a96..ce1b6ecf59 100644
--- a/src/lib/process/.may_include
+++ b/src/lib/process/.may_include
@@ -1,17 +1,20 @@
orconfig.h
+lib/buf/*.h
lib/cc/*.h
lib/container/*.h
lib/ctime/*.h
lib/err/*.h
-lib/intmath/*.h
+lib/evloop/*.h
lib/fs/*.h
+lib/intmath/*.h
lib/log/*.h
lib/malloc/*.h
lib/net/*.h
lib/process/*.h
lib/string/*.h
+lib/subsys/*.h
lib/testsupport/*.h
lib/thread/*.h
-ht.h \ No newline at end of file
+ext/ht.h
diff --git a/src/lib/process/include.am b/src/lib/process/include.am
index c6cc3a6699..a2d54b6238 100644
--- a/src/lib/process/include.am
+++ b/src/lib/process/include.am
@@ -9,10 +9,13 @@ src_lib_libtor_process_a_SOURCES = \
src/lib/process/daemon.c \
src/lib/process/env.c \
src/lib/process/pidfile.c \
+ src/lib/process/process.c \
+ src/lib/process/process_unix.c \
+ src/lib/process/process_win32.c \
src/lib/process/restrict.c \
src/lib/process/setuid.c \
- src/lib/process/subprocess.c \
- src/lib/process/waitpid.c
+ src/lib/process/waitpid.c \
+ src/lib/process/winprocess_sys.c
src_lib_libtor_process_testing_a_SOURCES = \
$(src_lib_libtor_process_a_SOURCES)
@@ -23,7 +26,10 @@ noinst_HEADERS += \
src/lib/process/daemon.h \
src/lib/process/env.h \
src/lib/process/pidfile.h \
+ src/lib/process/process.h \
+ src/lib/process/process_unix.h \
+ src/lib/process/process_win32.h \
src/lib/process/restrict.h \
src/lib/process/setuid.h \
- src/lib/process/subprocess.h \
- src/lib/process/waitpid.h
+ src/lib/process/waitpid.h \
+ src/lib/process/winprocess_sys.h
diff --git a/src/lib/process/process.c b/src/lib/process/process.c
new file mode 100644
index 0000000000..ae345ceeae
--- /dev/null
+++ b/src/lib/process/process.c
@@ -0,0 +1,797 @@
+/* Copyright (c) 2003, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process.c
+ * \brief Module for working with other processes.
+ **/
+
+#define PROCESS_PRIVATE
+#include "lib/buf/buffers.h"
+#include "lib/net/buffers_net.h"
+#include "lib/container/smartlist.h"
+#include "lib/log/log.h"
+#include "lib/log/util_bug.h"
+#include "lib/process/process.h"
+#include "lib/process/process_unix.h"
+#include "lib/process/process_win32.h"
+#include "lib/process/env.h"
+
+#ifdef HAVE_STDDEF_H
+#include <stddef.h>
+#endif
+
+/** A list of all <b>process_t</b> instances currently allocated. */
+static smartlist_t *processes;
+
+/**
+ * Boolean. If true, then Tor may call execve or CreateProcess via
+ * tor_spawn_background.
+ **/
+static int may_spawn_background_process = 1;
+
+/** Structure to represent a child process. */
+struct process_t {
+ /** Process status. */
+ process_status_t status;
+
+ /** Which protocol is the process using? */
+ process_protocol_t protocol;
+
+ /** Which function to call when we have data ready from stdout? */
+ process_read_callback_t stdout_read_callback;
+
+ /** Which function to call when we have data ready from stderr? */
+ process_read_callback_t stderr_read_callback;
+
+ /** Which function call when our process terminated? */
+ process_exit_callback_t exit_callback;
+
+ /** Our exit code when the process have terminated. */
+ process_exit_code_t exit_code;
+
+ /** Name of the command we want to execute (for example: /bin/ls). */
+ char *command;
+
+ /** The arguments used for the new process. The format here is one argument
+ * per element of the smartlist_t. On Windows these arguments are combined
+ * together using the <b>tor_join_win_cmdline</b> function. On Unix the
+ * process name (argv[0]) and the trailing NULL is added automatically before
+ * the process is executed. */
+ smartlist_t *arguments;
+
+ /** The environment used for the new process. */
+ smartlist_t *environment;
+
+ /** Buffer to store data from stdout when it is read. */
+ buf_t *stdout_buffer;
+
+ /** Buffer to store data from stderr when it is read. */
+ buf_t *stderr_buffer;
+
+ /** Buffer to store data to stdin before it is written. */
+ buf_t *stdin_buffer;
+
+ /** Do we need to store some custom data with the process? */
+ void *data;
+
+#ifndef _WIN32
+ /** Our Unix process handle. */
+ process_unix_t *unix_process;
+#else
+ /** Our Win32 process handle. */
+ process_win32_t *win32_process;
+#endif
+};
+
+/** Convert a given process status in <b>status</b> to its string
+ * representation. */
+const char *
+process_status_to_string(process_status_t status)
+{
+ switch (status) {
+ case PROCESS_STATUS_NOT_RUNNING:
+ return "not running";
+ case PROCESS_STATUS_RUNNING:
+ return "running";
+ case PROCESS_STATUS_ERROR:
+ return "error";
+ }
+
+ /* LCOV_EXCL_START */
+ tor_assert_unreached();
+ return NULL;
+ /* LCOV_EXCL_STOP */
+}
+
+/** Convert a given process protocol in <b>protocol</b> to its string
+ * representation. */
+const char *
+process_protocol_to_string(process_protocol_t protocol)
+{
+ switch (protocol) {
+ case PROCESS_PROTOCOL_LINE:
+ return "Line";
+ case PROCESS_PROTOCOL_RAW:
+ return "Raw";
+ }
+
+ /* LCOV_EXCL_START */
+ tor_assert_unreached();
+ return NULL;
+ /* LCOV_EXCL_STOP */
+}
+
+/**
+ * Turn off may_spawn_background_process, so that all future calls to
+ * tor_spawn_background are guaranteed to fail.
+ **/
+void
+tor_disable_spawning_background_processes(void)
+{
+ may_spawn_background_process = 0;
+}
+
+/** Initialize the Process subsystem. This function initializes the Process
+ * subsystem's global state. For cleaning up, <b>process_free_all()</b> should
+ * be called. */
+void
+process_init(void)
+{
+ processes = smartlist_new();
+
+#ifdef _WIN32
+ process_win32_init();
+#endif
+}
+
+/** Free up all resources that is handled by the Process subsystem. Note that
+ * this call does not terminate already running processes. */
+void
+process_free_all(void)
+{
+#ifdef _WIN32
+ process_win32_deinit();
+#endif
+
+ SMARTLIST_FOREACH(processes, process_t *, x, process_free(x));
+ smartlist_free(processes);
+}
+
+/** Get a list of all processes. This function returns a smartlist of
+ * <b>process_t</b> containing all the currently allocated processes. */
+const smartlist_t *
+process_get_all_processes(void)
+{
+ return processes;
+}
+
+/** Allocate and initialize a new process. This function returns a newly
+ * allocated and initialized process data, which can be used to configure and
+ * later run a subprocess of Tor. Use the various <b>process_set_*()</b>
+ * methods to configure it and run the process using <b>process_exec()</b>. Use
+ * <b>command</b> to specify the path to the command to run. You can either
+ * specify an absolute path to the command or relative where Tor will use the
+ * underlying operating system's functionality for finding the command to run.
+ * */
+process_t *
+process_new(const char *command)
+{
+ tor_assert(command);
+
+ process_t *process;
+ process = tor_malloc_zero(sizeof(process_t));
+
+ /* Set our command. */
+ process->command = tor_strdup(command);
+
+ /* By default we are not running. */
+ process->status = PROCESS_STATUS_NOT_RUNNING;
+
+ /* Prepare process environment. */
+ process->arguments = smartlist_new();
+ process->environment = smartlist_new();
+
+ /* Prepare the buffers. */
+ process->stdout_buffer = buf_new();
+ process->stderr_buffer = buf_new();
+ process->stdin_buffer = buf_new();
+
+#ifndef _WIN32
+ /* Prepare our Unix process handle. */
+ process->unix_process = process_unix_new();
+#else
+ /* Prepare our Win32 process handle. */
+ process->win32_process = process_win32_new();
+#endif
+
+ smartlist_add(processes, process);
+
+ return process;
+}
+
+/** Deallocate the given process in <b>process</b>. */
+void
+process_free_(process_t *process)
+{
+ if (! process)
+ return;
+
+ /* Cleanup parameters. */
+ tor_free(process->command);
+
+ /* Cleanup arguments and environment. */
+ SMARTLIST_FOREACH(process->arguments, char *, x, tor_free(x));
+ smartlist_free(process->arguments);
+
+ SMARTLIST_FOREACH(process->environment, char *, x, tor_free(x));
+ smartlist_free(process->environment);
+
+ /* Cleanup the buffers. */
+ buf_free(process->stdout_buffer);
+ buf_free(process->stderr_buffer);
+ buf_free(process->stdin_buffer);
+
+#ifndef _WIN32
+ /* Cleanup our Unix process handle. */
+ process_unix_free(process->unix_process);
+#else
+ /* Cleanup our Win32 process handle. */
+ process_win32_free(process->win32_process);
+#endif
+
+ smartlist_remove(processes, process);
+
+ tor_free(process);
+}
+
+/** Execute the given process. This function executes the given process as a
+ * subprocess of Tor. Returns <b>PROCESS_STATUS_RUNNING</b> upon success. */
+process_status_t
+process_exec(process_t *process)
+{
+ tor_assert(process);
+
+ if (BUG(may_spawn_background_process == 0))
+ return PROCESS_STATUS_ERROR;
+
+ process_status_t status = PROCESS_STATUS_NOT_RUNNING;
+
+ log_info(LD_PROCESS, "Starting new process: %s", process->command);
+
+#ifndef _WIN32
+ status = process_unix_exec(process);
+#else
+ status = process_win32_exec(process);
+#endif
+
+ /* Update our state. */
+ process_set_status(process, status);
+
+ if (status != PROCESS_STATUS_RUNNING) {
+ log_warn(LD_PROCESS, "Failed to start process: %s",
+ process_get_command(process));
+ }
+
+ return status;
+}
+
+/** Terminate the given process. Returns true on success,
+ * otherwise false. */
+bool
+process_terminate(process_t *process)
+{
+ tor_assert(process);
+
+ /* Terminating a non-running process isn't going to work. */
+ if (process_get_status(process) != PROCESS_STATUS_RUNNING)
+ return false;
+
+ log_debug(LD_PROCESS, "Terminating process");
+
+#ifndef _WIN32
+ return process_unix_terminate(process);
+#else
+ return process_win32_terminate(process);
+#endif
+}
+
+/** Returns the unique process identifier for the given <b>process</b>. */
+process_pid_t
+process_get_pid(process_t *process)
+{
+ tor_assert(process);
+
+#ifndef _WIN32
+ return process_unix_get_pid(process);
+#else
+ return process_win32_get_pid(process);
+#endif
+}
+
+/** Set the callback function for output from the child process's standard out
+ * handle. This function sets the callback function which is called every time
+ * the child process have written output to its standard out file handle.
+ *
+ * Use <b>process_set_protocol(process, PROCESS_PROTOCOL_LINE)</b> if you want
+ * the callback to only contain complete "\n" or "\r\n" terminated lines. */
+void
+process_set_stdout_read_callback(process_t *process,
+ process_read_callback_t callback)
+{
+ tor_assert(process);
+ process->stdout_read_callback = callback;
+}
+
+/** Set the callback function for output from the child process's standard
+ * error handle. This function sets the callback function which is called
+ * every time the child process have written output to its standard error file
+ * handle.
+ *
+ * Use <b>process_set_protocol(process, PROCESS_PROTOCOL_LINE)</b> if you want
+ * the callback to only contain complete "\n" or "\r\n" terminated lines. */
+void
+process_set_stderr_read_callback(process_t *process,
+ process_read_callback_t callback)
+{
+ tor_assert(process);
+ process->stderr_read_callback = callback;
+}
+
+/** Set the callback function for process exit notification. The
+ * <b>callback</b> function will be called every time your child process have
+ * terminated. */
+void
+process_set_exit_callback(process_t *process,
+ process_exit_callback_t callback)
+{
+ tor_assert(process);
+ process->exit_callback = callback;
+}
+
+/** Get the current command of the given process. */
+const char *
+process_get_command(const process_t *process)
+{
+ tor_assert(process);
+ return process->command;
+}
+
+void
+process_set_protocol(process_t *process, process_protocol_t protocol)
+{
+ tor_assert(process);
+ process->protocol = protocol;
+}
+
+/** Get the currently used protocol of the given process. */
+process_protocol_t
+process_get_protocol(const process_t *process)
+{
+ tor_assert(process);
+ return process->protocol;
+}
+
+/** Set opague pointer to data. This function allows you to store a pointer to
+ * your own data in the given process. Use <b>process_get_data()</b> in the
+ * various callback functions to retrieve the data again.
+ *
+ * Note that the given process does NOT take ownership of the data and you are
+ * responsible for freeing up any resources allocated by the given data.
+ * */
+void
+process_set_data(process_t *process, void *data)
+{
+ tor_assert(process);
+ process->data = data;
+}
+
+/** Get the opaque pointer to callback data from the given process. This
+ * function allows you get the data you stored with <b>process_set_data()</b>
+ * in the different callback functions. */
+void *
+process_get_data(const process_t *process)
+{
+ tor_assert(process);
+ return process->data;
+}
+
+/** Set the status of a given process. */
+void
+process_set_status(process_t *process, process_status_t status)
+{
+ tor_assert(process);
+ process->status = status;
+}
+
+/** Get the status of the given process. */
+process_status_t
+process_get_status(const process_t *process)
+{
+ tor_assert(process);
+ return process->status;
+}
+
+/** Append an argument to the list of arguments in the given process. */
+void
+process_append_argument(process_t *process, const char *argument)
+{
+ tor_assert(process);
+ tor_assert(argument);
+
+ smartlist_add(process->arguments, tor_strdup(argument));
+}
+
+/** Returns a list of arguments (excluding the command itself) from the
+ * given process. */
+const smartlist_t *
+process_get_arguments(const process_t *process)
+{
+ tor_assert(process);
+ return process->arguments;
+}
+
+/** Returns a newly allocated Unix style argument vector. Use <b>tor_free()</b>
+ * to deallocate it after use. */
+char **
+process_get_argv(const process_t *process)
+{
+ tor_assert(process);
+
+ /** Generate a Unix style process argument vector from our process's
+ * arguments smartlist_t. */
+ char **argv = NULL;
+
+ char *filename = process->command;
+ const smartlist_t *arguments = process->arguments;
+ const size_t size = smartlist_len(arguments);
+
+ /* Make space for the process filename as argv[0] and a trailing NULL. */
+ argv = tor_malloc_zero(sizeof(char *) * (size + 2));
+
+ /* Set our filename as first argument. */
+ argv[0] = filename;
+
+ /* Put in the rest of the values from arguments. */
+ SMARTLIST_FOREACH_BEGIN(arguments, char *, arg_val) {
+ tor_assert(arg_val != NULL);
+
+ argv[arg_val_sl_idx + 1] = arg_val;
+ } SMARTLIST_FOREACH_END(arg_val);
+
+ return argv;
+}
+
+/** This function clears the internal environment and copies over every string
+ * from <b>env</b> as the new environment. */
+void
+process_reset_environment(process_t *process, const smartlist_t *env)
+{
+ tor_assert(process);
+ tor_assert(env);
+
+ /* Cleanup old environment. */
+ SMARTLIST_FOREACH(process->environment, char *, x, tor_free(x));
+ smartlist_free(process->environment);
+ process->environment = smartlist_new();
+
+ SMARTLIST_FOREACH(env, char *, x,
+ smartlist_add(process->environment, tor_strdup(x)));
+}
+
+/** Set the given <b>key</b>/<b>value</b> pair as environment variable in the
+ * given process. */
+void
+process_set_environment(process_t *process,
+ const char *key,
+ const char *value)
+{
+ tor_assert(process);
+ tor_assert(key);
+ tor_assert(value);
+
+ smartlist_add_asprintf(process->environment, "%s=%s", key, value);
+}
+
+/** Returns a newly allocated <b>process_environment_t</b> containing the
+ * environment variables for the given process. */
+process_environment_t *
+process_get_environment(const process_t *process)
+{
+ tor_assert(process);
+ return process_environment_make(process->environment);
+}
+
+#ifndef _WIN32
+/** Get the internal handle for the Unix backend. */
+process_unix_t *
+process_get_unix_process(const process_t *process)
+{
+ tor_assert(process);
+ tor_assert(process->unix_process);
+ return process->unix_process;
+}
+#else
+/** Get the internal handle for Windows backend. */
+process_win32_t *
+process_get_win32_process(const process_t *process)
+{
+ tor_assert(process);
+ tor_assert(process->win32_process);
+ return process->win32_process;
+}
+#endif
+
+/** Write <b>size</b> bytes of <b>data</b> to the given process's standard
+ * input. */
+void
+process_write(process_t *process,
+ const uint8_t *data, size_t size)
+{
+ tor_assert(process);
+ tor_assert(data);
+
+ buf_add(process->stdin_buffer, (char *)data, size);
+ process_write_stdin(process, process->stdin_buffer);
+}
+
+/** As tor_vsnprintf(), but write the data to the given process's standard
+ * input. */
+void
+process_vprintf(process_t *process,
+ const char *format, va_list args)
+{
+ tor_assert(process);
+ tor_assert(format);
+
+ int size;
+ char *data;
+
+ size = tor_vasprintf(&data, format, args);
+ process_write(process, (uint8_t *)data, size);
+ tor_free(data);
+}
+
+/** As tor_snprintf(), but write the data to the given process's standard
+ * input. */
+void
+process_printf(process_t *process,
+ const char *format, ...)
+{
+ tor_assert(process);
+ tor_assert(format);
+
+ va_list ap;
+ va_start(ap, format);
+ process_vprintf(process, format, ap);
+ va_end(ap);
+}
+
+/** This function is called by the Process backend when a given process have
+ * data that is ready to be read from the child process's standard output
+ * handle. */
+void
+process_notify_event_stdout(process_t *process)
+{
+ tor_assert(process);
+
+ int ret;
+ ret = process_read_stdout(process, process->stdout_buffer);
+
+ if (ret > 0)
+ process_read_data(process,
+ process->stdout_buffer,
+ process->stdout_read_callback);
+}
+
+/** This function is called by the Process backend when a given process have
+ * data that is ready to be read from the child process's standard error
+ * handle. */
+void
+process_notify_event_stderr(process_t *process)
+{
+ tor_assert(process);
+
+ int ret;
+ ret = process_read_stderr(process, process->stderr_buffer);
+
+ if (ret > 0)
+ process_read_data(process,
+ process->stderr_buffer,
+ process->stderr_read_callback);
+}
+
+/** This function is called by the Process backend when a given process is
+ * allowed to begin writing data to the standard input of the child process. */
+void
+process_notify_event_stdin(process_t *process)
+{
+ tor_assert(process);
+
+ process_write_stdin(process, process->stdin_buffer);
+}
+
+/** This function is called by the Process backend when a given process have
+ * terminated. The exit status code is passed in <b>exit_code</b>. We mark the
+ * process as no longer running and calls the <b>exit_callback</b> with
+ * information about the process termination. The given <b>process</b> is
+ * free'd iff the exit_callback returns true. */
+void
+process_notify_event_exit(process_t *process, process_exit_code_t exit_code)
+{
+ tor_assert(process);
+
+ log_debug(LD_PROCESS,
+ "Process terminated with exit code: %"PRIu64, exit_code);
+
+ /* Update our state. */
+ process_set_status(process, PROCESS_STATUS_NOT_RUNNING);
+ process->exit_code = exit_code;
+
+ /* Call our exit callback, if it exists. */
+ bool free_process_handle = false;
+
+ /* The exit callback will tell us if we should process_free() our handle. */
+ if (process->exit_callback)
+ free_process_handle = process->exit_callback(process, exit_code);
+
+ if (free_process_handle)
+ process_free(process);
+}
+
+/** This function is called whenever the Process backend have notified us that
+ * there is data to be read from its standard out handle. Returns the number of
+ * bytes that have been put into the given buffer. */
+MOCK_IMPL(STATIC int, process_read_stdout, (process_t *process, buf_t *buffer))
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+#ifndef _WIN32
+ return process_unix_read_stdout(process, buffer);
+#else
+ return process_win32_read_stdout(process, buffer);
+#endif
+}
+
+/** This function is called whenever the Process backend have notified us that
+ * there is data to be read from its standard error handle. Returns the number
+ * of bytes that have been put into the given buffer. */
+MOCK_IMPL(STATIC int, process_read_stderr, (process_t *process, buf_t *buffer))
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+#ifndef _WIN32
+ return process_unix_read_stderr(process, buffer);
+#else
+ return process_win32_read_stderr(process, buffer);
+#endif
+}
+
+/** This function calls the backend function for the given process whenever
+ * there is data to be written to the backends' file handles. */
+MOCK_IMPL(STATIC void, process_write_stdin,
+ (process_t *process, buf_t *buffer))
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+#ifndef _WIN32
+ process_unix_write(process, buffer);
+#else
+ process_win32_write(process, buffer);
+#endif
+}
+
+/** This function calls the protocol handlers based on the value of
+ * <b>process_get_protocol(process)</b>. Currently we call
+ * <b>process_read_buffer()</b> for <b>PROCESS_PROTOCOL_RAW</b> and
+ * <b>process_read_lines()</b> for <b>PROCESS_PROTOCOL_LINE</b>. */
+STATIC void
+process_read_data(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ switch (process_get_protocol(process)) {
+ case PROCESS_PROTOCOL_RAW:
+ process_read_buffer(process, buffer, callback);
+ break;
+ case PROCESS_PROTOCOL_LINE:
+ process_read_lines(process, buffer, callback);
+ break;
+ default:
+ /* LCOV_EXCL_START */
+ tor_assert_unreached();
+ return;
+ /* LCOV_EXCL_STOP */
+ }
+}
+
+/** This function takes the content of the given <b>buffer</b> and passes it to
+ * the given <b>callback</b> function, but ensures that an additional zero byte
+ * is added to the end of the data such that the given callback implementation
+ * can threat the content as a ASCIIZ string. */
+STATIC void
+process_read_buffer(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ const size_t size = buf_datalen(buffer);
+
+ /* We allocate an extra byte for the zero byte in the end. */
+ char *data = tor_malloc_zero(size + 1);
+
+ buf_get_bytes(buffer, data, size);
+ log_debug(LD_PROCESS, "Read data from process");
+
+ if (callback)
+ callback(process, data, size);
+
+ tor_free(data);
+}
+
+/** This function tries to extract complete lines from the given <b>buffer</b>
+ * and calls the given <b>callback</b> function whenever it has a complete
+ * line. Before calling <b>callback</b> we remove the trailing "\n" or "\r\n"
+ * from the line. If we are unable to extract a complete line we leave the data
+ * in the buffer for next call. */
+STATIC void
+process_read_lines(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ const size_t size = buf_datalen(buffer) + 1;
+ size_t line_size = 0;
+ char *data = tor_malloc_zero(size);
+ int ret;
+
+ while (true) {
+ line_size = size;
+ ret = buf_get_line(buffer, data, &line_size);
+
+ /* A complete line should always be smaller than the size of our
+ * buffer. */
+ tor_assert(ret != -1);
+
+ /* Remove \n from the end of the line. */
+ if (line_size >= 1 && data[line_size - 1] == '\n') {
+ data[line_size - 1] = '\0';
+ --line_size;
+ }
+
+ /* Remove \r from the end of the line. */
+ if (line_size >= 1 && data[line_size - 1] == '\r') {
+ data[line_size - 1] = '\0';
+ --line_size;
+ }
+
+ if (ret == 1) {
+ log_debug(LD_PROCESS, "Read line from process: \"%s\"", data);
+
+ if (callback)
+ callback(process, data, line_size);
+
+ /* We have read a whole line, let's see if there is more lines to read.
+ * */
+ continue;
+ }
+
+ /* No complete line for us to read. We are done for now. */
+ tor_assert_nonfatal(ret == 0);
+ break;
+ }
+
+ tor_free(data);
+}
diff --git a/src/lib/process/process.h b/src/lib/process/process.h
new file mode 100644
index 0000000000..179db19aeb
--- /dev/null
+++ b/src/lib/process/process.h
@@ -0,0 +1,142 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process.h
+ * \brief Header for process.c
+ **/
+
+#ifndef TOR_PROCESS_H
+#define TOR_PROCESS_H
+
+#include "orconfig.h"
+#include "lib/malloc/malloc.h"
+#include "lib/string/printf.h"
+
+/** Maximum number of bytes to write to a process' stdin. */
+#define PROCESS_MAX_WRITE (1024)
+
+/** Maximum number of bytes to read from a process' stdout/stderr. */
+#define PROCESS_MAX_READ (1024)
+
+typedef enum {
+ /** The process is not running. */
+ PROCESS_STATUS_NOT_RUNNING,
+
+ /** The process is running. */
+ PROCESS_STATUS_RUNNING,
+
+ /** The process is in an erroneous state. */
+ PROCESS_STATUS_ERROR
+} process_status_t;
+
+const char *process_status_to_string(process_status_t status);
+
+typedef enum {
+ /** Pass complete \n-terminated lines to the
+ * callback (with the \n or \r\n removed). */
+ PROCESS_PROTOCOL_LINE,
+
+ /** Pass the raw response from read() to the callback. */
+ PROCESS_PROTOCOL_RAW
+} process_protocol_t;
+
+const char *process_protocol_to_string(process_protocol_t protocol);
+
+void tor_disable_spawning_background_processes(void);
+
+struct process_t;
+typedef struct process_t process_t;
+
+typedef uint64_t process_exit_code_t;
+typedef uint64_t process_pid_t;
+
+typedef void (*process_read_callback_t)(process_t *,
+ const char *,
+ size_t);
+typedef bool
+(*process_exit_callback_t)(process_t *, process_exit_code_t);
+
+void process_init(void);
+void process_free_all(void);
+const smartlist_t *process_get_all_processes(void);
+
+process_t *process_new(const char *command);
+void process_free_(process_t *process);
+#define process_free(s) FREE_AND_NULL(process_t, process_free_, (s))
+
+process_status_t process_exec(process_t *process);
+bool process_terminate(process_t *process);
+
+process_pid_t process_get_pid(process_t *process);
+
+void process_set_stdout_read_callback(process_t *,
+ process_read_callback_t);
+void process_set_stderr_read_callback(process_t *,
+ process_read_callback_t);
+void process_set_exit_callback(process_t *,
+ process_exit_callback_t);
+
+const char *process_get_command(const process_t *process);
+
+void process_append_argument(process_t *process, const char *argument);
+const smartlist_t *process_get_arguments(const process_t *process);
+char **process_get_argv(const process_t *process);
+
+void process_reset_environment(process_t *process, const smartlist_t *env);
+void process_set_environment(process_t *process,
+ const char *key,
+ const char *value);
+
+struct process_environment_t;
+struct process_environment_t *process_get_environment(const process_t *);
+
+void process_set_protocol(process_t *process, process_protocol_t protocol);
+process_protocol_t process_get_protocol(const process_t *process);
+
+void process_set_data(process_t *process, void *data);
+void *process_get_data(const process_t *process);
+
+void process_set_status(process_t *process, process_status_t status);
+process_status_t process_get_status(const process_t *process);
+
+#ifndef _WIN32
+struct process_unix_t;
+struct process_unix_t *process_get_unix_process(const process_t *process);
+#else
+struct process_win32_t;
+struct process_win32_t *process_get_win32_process(const process_t *process);
+#endif
+
+void process_write(process_t *process,
+ const uint8_t *data, size_t size);
+void process_vprintf(process_t *process,
+ const char *format, va_list args) CHECK_PRINTF(2, 0);
+void process_printf(process_t *process,
+ const char *format, ...) CHECK_PRINTF(2, 3);
+
+void process_notify_event_stdout(process_t *process);
+void process_notify_event_stderr(process_t *process);
+void process_notify_event_stdin(process_t *process);
+void process_notify_event_exit(process_t *process,
+ process_exit_code_t);
+
+#ifdef PROCESS_PRIVATE
+MOCK_DECL(STATIC int, process_read_stdout, (process_t *, buf_t *));
+MOCK_DECL(STATIC int, process_read_stderr, (process_t *, buf_t *));
+MOCK_DECL(STATIC void, process_write_stdin, (process_t *, buf_t *));
+
+STATIC void process_read_data(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback);
+STATIC void process_read_buffer(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback);
+STATIC void process_read_lines(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback);
+#endif /* defined(PROCESS_PRIVATE). */
+
+#endif /* defined(TOR_PROCESS_H). */
diff --git a/src/lib/process/process_unix.c b/src/lib/process/process_unix.c
new file mode 100644
index 0000000000..57ca69a768
--- /dev/null
+++ b/src/lib/process/process_unix.c
@@ -0,0 +1,705 @@
+/* Copyright (c) 2003, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process_unix.c
+ * \brief Module for working with Unix processes.
+ **/
+
+#define PROCESS_UNIX_PRIVATE
+#include "lib/intmath/cmp.h"
+#include "lib/buf/buffers.h"
+#include "lib/net/buffers_net.h"
+#include "lib/container/smartlist.h"
+#include "lib/evloop/compat_libevent.h"
+#include "lib/log/log.h"
+#include "lib/log/util_bug.h"
+#include "lib/process/process.h"
+#include "lib/process/process_unix.h"
+#include "lib/process/waitpid.h"
+#include "lib/process/env.h"
+
+#include <stdio.h>
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+
+#if defined(HAVE_SYS_PRCTL_H) && defined(__linux__)
+#include <sys/prctl.h>
+#endif
+
+#if HAVE_SIGNAL_H
+#include <signal.h>
+#endif
+
+#ifndef _WIN32
+
+/** Maximum number of file descriptors, if we cannot get it via sysconf() */
+#define DEFAULT_MAX_FD 256
+
+/** Internal state for Unix handles. */
+struct process_unix_handle_t {
+ /** Unix File Descriptor. */
+ int fd;
+
+ /** Have we reached end of file? */
+ bool reached_eof;
+
+ /** Event structure for libevent. */
+ struct event *event;
+
+ /** Are we writing? */
+ bool is_writing;
+};
+
+/** Internal state for our Unix process. */
+struct process_unix_t {
+ /** Standard in handle. */
+ process_unix_handle_t stdin_handle;
+
+ /** Standard out handle. */
+ process_unix_handle_t stdout_handle;
+
+ /** Standard error handle. */
+ process_unix_handle_t stderr_handle;
+
+ /** The process identifier of our process. */
+ pid_t pid;
+
+ /** Waitpid Callback structure. */
+ waitpid_callback_t *waitpid;
+};
+
+/** Returns a newly allocated <b>process_unix_t</b>. */
+process_unix_t *
+process_unix_new(void)
+{
+ process_unix_t *unix_process;
+ unix_process = tor_malloc_zero(sizeof(process_unix_t));
+
+ unix_process->stdin_handle.fd = -1;
+ unix_process->stderr_handle.fd = -1;
+ unix_process->stdout_handle.fd = -1;
+
+ return unix_process;
+}
+
+/** Deallocates the given <b>unix_process</b>. */
+void
+process_unix_free_(process_unix_t *unix_process)
+{
+ if (! unix_process)
+ return;
+
+ /* Clean up our waitpid callback. */
+ clear_waitpid_callback(unix_process->waitpid);
+
+ /* FIXME(ahf): Refactor waitpid code? */
+ unix_process->waitpid = NULL;
+
+ /* Close all our file descriptors. */
+ process_unix_close_file_descriptors(unix_process);
+
+ tor_event_free(unix_process->stdout_handle.event);
+ tor_event_free(unix_process->stderr_handle.event);
+ tor_event_free(unix_process->stdin_handle.event);
+
+ tor_free(unix_process);
+}
+
+/** Executes the given process as a child process of Tor. This function is
+ * responsible for setting up the child process and run it. This includes
+ * setting up pipes for interprocess communication, initialize the waitpid
+ * callbacks, and finally run fork() followed by execve(). Returns
+ * <b>PROCESS_STATUS_RUNNING</b> upon success. */
+process_status_t
+process_unix_exec(process_t *process)
+{
+ static int max_fd = -1;
+
+ process_unix_t *unix_process;
+ pid_t pid;
+ int stdin_pipe[2];
+ int stdout_pipe[2];
+ int stderr_pipe[2];
+ int retval, fd;
+
+ unix_process = process_get_unix_process(process);
+
+ /* Create standard in pipe. */
+ retval = pipe(stdin_pipe);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS,
+ "Unable to create pipe for stdin "
+ "communication with process: %s",
+ strerror(errno));
+
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Create standard out pipe. */
+ retval = pipe(stdout_pipe);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS,
+ "Unable to create pipe for stdout "
+ "communication with process: %s",
+ strerror(errno));
+
+ /** Cleanup standard in pipe. */
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Create standard error pipe. */
+ retval = pipe(stderr_pipe);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS,
+ "Unable to create pipe for stderr "
+ "communication with process: %s",
+ strerror(errno));
+
+ /** Cleanup standard in pipe. */
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ /** Cleanup standard out pipe. */
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ return PROCESS_STATUS_ERROR;
+ }
+
+#ifdef _SC_OPEN_MAX
+ if (-1 == max_fd) {
+ max_fd = (int)sysconf(_SC_OPEN_MAX);
+
+ if (max_fd == -1) {
+ max_fd = DEFAULT_MAX_FD;
+ log_warn(LD_PROCESS,
+ "Cannot find maximum file descriptor, assuming: %d", max_fd);
+ }
+ }
+#else /* !(defined(_SC_OPEN_MAX)) */
+ max_fd = DEFAULT_MAX_FD;
+#endif /* defined(_SC_OPEN_MAX) */
+
+ pid = fork();
+
+ if (0 == pid) {
+ /* This code is running in the child process context. */
+
+#if defined(HAVE_SYS_PRCTL_H) && defined(__linux__)
+ /* Attempt to have the kernel issue a SIGTERM if the parent
+ * goes away. Certain attributes of the binary being execve()ed
+ * will clear this during the execve() call, but it's better
+ * than nothing.
+ */
+ prctl(PR_SET_PDEATHSIG, SIGTERM);
+#endif /* defined(HAVE_SYS_PRCTL_H) && defined(__linux__) */
+
+ /* Link process stdout to the write end of the pipe. */
+ retval = dup2(stdout_pipe[1], STDOUT_FILENO);
+ if (-1 == retval)
+ goto error;
+
+ /* Link process stderr to the write end of the pipe. */
+ retval = dup2(stderr_pipe[1], STDERR_FILENO);
+ if (-1 == retval)
+ goto error;
+
+ /* Link process stdin to the read end of the pipe */
+ retval = dup2(stdin_pipe[0], STDIN_FILENO);
+ if (-1 == retval)
+ goto error;
+
+ /* Close our pipes now after they have been dup2()'ed. */
+ close(stderr_pipe[0]);
+ close(stderr_pipe[1]);
+ close(stdout_pipe[0]);
+ close(stdout_pipe[1]);
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ /* Close all other fds, including the read end of the pipe. XXX: We should
+ * now be doing enough FD_CLOEXEC setting to make this needless.
+ */
+ for (fd = STDERR_FILENO + 1; fd < max_fd; fd++)
+ close(fd);
+
+ /* Create the argv value for our new process. */
+ char **argv = process_get_argv(process);
+
+ /* Create the env value for our new process. */
+ process_environment_t *env = process_get_environment(process);
+
+ /* Call the requested program. */
+ retval = execve(argv[0], argv, env->unixoid_environment_block);
+
+ /* If we made it here it is because execve failed :-( */
+ if (-1 == retval)
+ fprintf(stderr, "Call to execve() failed: %s", strerror(errno));
+
+ tor_free(argv);
+ process_environment_free(env);
+
+ tor_assert_unreached();
+
+ error:
+ /* LCOV_EXCL_START */
+ fprintf(stderr, "Error from child process: %s", strerror(errno));
+ _exit(1);
+ /* LCOV_EXCL_STOP */
+ }
+
+ /* We are in the parent process. */
+ if (-1 == pid) {
+ log_warn(LD_PROCESS,
+ "Failed to create child process: %s", strerror(errno));
+
+ /** Cleanup standard in pipe. */
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ /** Cleanup standard out pipe. */
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ /** Cleanup standard error pipe. */
+ close(stderr_pipe[0]);
+ close(stderr_pipe[1]);
+
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Register our PID. */
+ unix_process->pid = pid;
+
+ /* Setup waitpid callbacks. */
+ unix_process->waitpid = set_waitpid_callback(pid,
+ process_unix_waitpid_callback,
+ process);
+
+ /* Handle standard out. */
+ unix_process->stdout_handle.fd = stdout_pipe[0];
+ retval = close(stdout_pipe[1]);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS, "Failed to close write end of standard out pipe: %s",
+ strerror(errno));
+ }
+
+ /* Handle standard error. */
+ unix_process->stderr_handle.fd = stderr_pipe[0];
+ retval = close(stderr_pipe[1]);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS,
+ "Failed to close write end of standard error pipe: %s",
+ strerror(errno));
+ }
+
+ /* Handle standard in. */
+ unix_process->stdin_handle.fd = stdin_pipe[1];
+ retval = close(stdin_pipe[0]);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS, "Failed to close read end of standard in pipe: %s",
+ strerror(errno));
+ }
+
+ /* Setup our handles. */
+ process_unix_setup_handle(process,
+ &unix_process->stdout_handle,
+ EV_READ|EV_PERSIST,
+ stdout_read_callback);
+
+ process_unix_setup_handle(process,
+ &unix_process->stderr_handle,
+ EV_READ|EV_PERSIST,
+ stderr_read_callback);
+
+ process_unix_setup_handle(process,
+ &unix_process->stdin_handle,
+ EV_WRITE|EV_PERSIST,
+ stdin_write_callback);
+
+ /* Start reading from standard out and standard error. */
+ process_unix_start_reading(&unix_process->stdout_handle);
+ process_unix_start_reading(&unix_process->stderr_handle);
+
+ return PROCESS_STATUS_RUNNING;
+}
+
+/** Terminate the given process. Returns true on success, otherwise false. */
+bool
+process_unix_terminate(process_t *process)
+{
+ tor_assert(process);
+
+ process_unix_t *unix_process = process_get_unix_process(process);
+
+ /* All running processes should have a waitpid. */
+ if (BUG(unix_process->waitpid == NULL))
+ return false;
+
+ bool success = true;
+
+ /* Send a SIGTERM to our child process. */
+ int ret;
+
+ ret = kill(unix_process->pid, SIGTERM);
+
+ if (ret == -1) {
+ log_warn(LD_PROCESS, "Unable to terminate process: %s",
+ strerror(errno));
+ success = false;
+ }
+
+ /* Close all our FD's. */
+ if (! process_unix_close_file_descriptors(unix_process))
+ success = false;
+
+ return success;
+}
+
+/** Returns the unique process identifier for the given <b>process</b>. */
+process_pid_t
+process_unix_get_pid(process_t *process)
+{
+ tor_assert(process);
+
+ process_unix_t *unix_process = process_get_unix_process(process);
+ return (process_pid_t)unix_process->pid;
+}
+
+/** Write the given <b>buffer</b> as input to the given <b>process</b>'s
+ * standard input. Returns the number of bytes written. */
+int
+process_unix_write(process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_unix_t *unix_process = process_get_unix_process(process);
+
+ size_t buffer_flush_len = buf_datalen(buffer);
+ const size_t max_to_write = MIN(PROCESS_MAX_WRITE, buffer_flush_len);
+
+ /* If we have data to write (when buffer_flush_len > 0) and we are not
+ * currently getting file descriptor events from the kernel, we tell the
+ * kernel to start notifying us about when we can write to our file
+ * descriptor and return. */
+ if (buffer_flush_len > 0 && ! unix_process->stdin_handle.is_writing) {
+ process_unix_start_writing(&unix_process->stdin_handle);
+ return 0;
+ }
+
+ /* We don't have any data to write, but the kernel is currently notifying us
+ * about whether we are able to write or not. Tell the kernel to stop
+ * notifying us until we have data to write. */
+ if (buffer_flush_len == 0 && unix_process->stdin_handle.is_writing) {
+ process_unix_stop_writing(&unix_process->stdin_handle);
+ return 0;
+ }
+
+ /* We have data to write and the kernel have told us to write it. */
+ return buf_flush_to_pipe(buffer,
+ process_get_unix_process(process)->stdin_handle.fd,
+ max_to_write, &buffer_flush_len);
+}
+
+/** Read data from the given process's standard output and put it into
+ * <b>buffer</b>. Returns the number of bytes read. */
+int
+process_unix_read_stdout(process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_unix_t *unix_process = process_get_unix_process(process);
+
+ return process_unix_read_handle(process,
+ &unix_process->stdout_handle,
+ buffer);
+}
+
+/** Read data from the given process's standard error and put it into
+ * <b>buffer</b>. Returns the number of bytes read. */
+int
+process_unix_read_stderr(process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_unix_t *unix_process = process_get_unix_process(process);
+
+ return process_unix_read_handle(process,
+ &unix_process->stderr_handle,
+ buffer);
+}
+
+/** This function is called whenever libevent thinks we have data that could be
+ * read from the child process's standard output. We notify the Process
+ * subsystem, which is then responsible for calling back to us for doing the
+ * actual reading of the data. */
+STATIC void
+stdout_read_callback(evutil_socket_t fd, short event, void *data)
+{
+ (void)fd;
+ (void)event;
+
+ process_t *process = data;
+ tor_assert(process);
+
+ process_notify_event_stdout(process);
+}
+
+/** This function is called whenever libevent thinks we have data that could be
+ * read from the child process's standard error. We notify the Process
+ * subsystem, which is then responsible for calling back to us for doing the
+ * actual reading of the data. */
+STATIC void
+stderr_read_callback(evutil_socket_t fd, short event, void *data)
+{
+ (void)fd;
+ (void)event;
+
+ process_t *process = data;
+ tor_assert(process);
+
+ process_notify_event_stderr(process);
+}
+
+/** This function is called whenever libevent thinks we have data that could be
+ * written the child process's standard input. We notify the Process subsystem,
+ * which is then responsible for calling back to us for doing the actual write
+ * of the data. */
+STATIC void
+stdin_write_callback(evutil_socket_t fd, short event, void *data)
+{
+ (void)fd;
+ (void)event;
+
+ process_t *process = data;
+ tor_assert(process);
+
+ process_notify_event_stdin(process);
+}
+
+/** This function tells libevent that we are interested in receiving read
+ * events from the given <b>handle</b>. */
+STATIC void
+process_unix_start_reading(process_unix_handle_t *handle)
+{
+ tor_assert(handle);
+
+ if (event_add(handle->event, NULL))
+ log_warn(LD_PROCESS,
+ "Unable to add libevent event for handle.");
+}
+
+/** This function tells libevent that we are no longer interested in receiving
+ * read events from the given <b>handle</b>. */
+STATIC void
+process_unix_stop_reading(process_unix_handle_t *handle)
+{
+ tor_assert(handle);
+
+ if (handle->event == NULL)
+ return;
+
+ if (event_del(handle->event))
+ log_warn(LD_PROCESS,
+ "Unable to delete libevent event for handle.");
+}
+
+/** This function tells libevent that we are interested in receiving write
+ * events from the given <b>handle</b>. */
+STATIC void
+process_unix_start_writing(process_unix_handle_t *handle)
+{
+ tor_assert(handle);
+
+ if (event_add(handle->event, NULL))
+ log_warn(LD_PROCESS,
+ "Unable to add libevent event for handle.");
+
+ handle->is_writing = true;
+}
+
+/** This function tells libevent that we are no longer interested in receiving
+ * write events from the given <b>handle</b>. */
+STATIC void
+process_unix_stop_writing(process_unix_handle_t *handle)
+{
+ tor_assert(handle);
+
+ if (handle->event == NULL)
+ return;
+
+ if (event_del(handle->event))
+ log_warn(LD_PROCESS,
+ "Unable to delete libevent event for handle.");
+
+ handle->is_writing = false;
+}
+
+/** This function is called when the waitpid system have detected that our
+ * process have terminated. We disable the waitpid system and notify the
+ * Process subsystem that we have terminated. */
+STATIC void
+process_unix_waitpid_callback(int status, void *data)
+{
+ tor_assert(data);
+
+ process_t *process = data;
+ process_unix_t *unix_process = process_get_unix_process(process);
+
+ /* Remove our waitpid callback. */
+ clear_waitpid_callback(unix_process->waitpid);
+ unix_process->waitpid = NULL;
+
+ /* Notify our process. */
+ process_notify_event_exit(process, status);
+
+ /* Make sure you don't modify the process after we have called
+ * process_notify_event_exit() on it, to allow users to process_free() it in
+ * the exit callback. */
+}
+
+/** This function sets the file descriptor in the <b>handle</b> as non-blocking
+ * and configures the libevent event structure based on the given <b>flags</b>
+ * to ensure that <b>callback</b> is called whenever we have events on the
+ * given <b>handle</b>. */
+STATIC void
+process_unix_setup_handle(process_t *process,
+ process_unix_handle_t *handle,
+ short flags,
+ event_callback_fn callback)
+{
+ tor_assert(process);
+ tor_assert(handle);
+ tor_assert(callback);
+
+ /* Put our file descriptor into non-blocking mode. */
+ if (fcntl(handle->fd, F_SETFL, O_NONBLOCK) < 0) {
+ log_warn(LD_PROCESS, "Unable mark Unix handle as non-blocking: %s",
+ strerror(errno));
+ }
+
+ /* Setup libevent event. */
+ handle->event = tor_event_new(tor_libevent_get_base(),
+ handle->fd,
+ flags,
+ callback,
+ process);
+}
+
+/** This function reads data from the given <b>handle</b> and puts it into
+ * <b>buffer</b>. Returns the number of bytes read this way. */
+STATIC int
+process_unix_read_handle(process_t *process,
+ process_unix_handle_t *handle,
+ buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(handle);
+ tor_assert(buffer);
+
+ int ret = 0;
+ int eof = 0;
+ int error = 0;
+
+ ret = buf_read_from_pipe(buffer,
+ handle->fd,
+ PROCESS_MAX_READ,
+ &eof,
+ &error);
+
+ if (error)
+ log_warn(LD_PROCESS,
+ "Unable to read data: %s", strerror(error));
+
+ if (eof) {
+ handle->reached_eof = true;
+ process_unix_stop_reading(handle);
+ }
+
+ return ret;
+}
+
+/** Close the standard in, out, and error handles of the given
+ * <b>unix_process</b>. */
+STATIC bool
+process_unix_close_file_descriptors(process_unix_t *unix_process)
+{
+ tor_assert(unix_process);
+
+ int ret;
+ bool success = true;
+
+ /* Stop reading and writing before we close() our
+ * file descriptors. */
+ if (! unix_process->stdout_handle.reached_eof)
+ process_unix_stop_reading(&unix_process->stdout_handle);
+
+ if (! unix_process->stderr_handle.reached_eof)
+ process_unix_stop_reading(&unix_process->stderr_handle);
+
+ if (unix_process->stdin_handle.is_writing)
+ process_unix_stop_writing(&unix_process->stdin_handle);
+
+ if (unix_process->stdin_handle.fd != -1) {
+ ret = close(unix_process->stdin_handle.fd);
+ if (ret == -1) {
+ log_warn(LD_PROCESS, "Unable to close standard in");
+ success = false;
+ }
+
+ unix_process->stdin_handle.fd = -1;
+ }
+
+ if (unix_process->stdout_handle.fd != -1) {
+ ret = close(unix_process->stdout_handle.fd);
+ if (ret == -1) {
+ log_warn(LD_PROCESS, "Unable to close standard out");
+ success = false;
+ }
+
+ unix_process->stdout_handle.fd = -1;
+ }
+
+ if (unix_process->stderr_handle.fd != -1) {
+ ret = close(unix_process->stderr_handle.fd);
+ if (ret == -1) {
+ log_warn(LD_PROCESS, "Unable to close standard error");
+ success = false;
+ }
+
+ unix_process->stderr_handle.fd = -1;
+ }
+
+ return success;
+}
+
+#endif /* defined(_WIN32). */
diff --git a/src/lib/process/process_unix.h b/src/lib/process/process_unix.h
new file mode 100644
index 0000000000..86c10d7449
--- /dev/null
+++ b/src/lib/process/process_unix.h
@@ -0,0 +1,68 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process_unix.h
+ * \brief Header for process_unix.c
+ **/
+
+#ifndef TOR_PROCESS_UNIX_H
+#define TOR_PROCESS_UNIX_H
+
+#ifndef _WIN32
+
+#include "orconfig.h"
+#include "lib/malloc/malloc.h"
+
+#include <event2/event.h>
+
+struct process_t;
+
+struct process_unix_t;
+typedef struct process_unix_t process_unix_t;
+
+process_unix_t *process_unix_new(void);
+void process_unix_free_(process_unix_t *unix_process);
+#define process_unix_free(s) \
+ FREE_AND_NULL(process_unix_t, process_unix_free_, (s))
+
+process_status_t process_unix_exec(struct process_t *process);
+bool process_unix_terminate(struct process_t *process);
+
+process_pid_t process_unix_get_pid(struct process_t *process);
+
+int process_unix_write(struct process_t *process, buf_t *buffer);
+int process_unix_read_stdout(struct process_t *process, buf_t *buffer);
+int process_unix_read_stderr(struct process_t *process, buf_t *buffer);
+
+#ifdef PROCESS_UNIX_PRIVATE
+struct process_unix_handle_t;
+typedef struct process_unix_handle_t process_unix_handle_t;
+
+STATIC void stdout_read_callback(evutil_socket_t fd, short event, void *data);
+STATIC void stderr_read_callback(evutil_socket_t fd, short event, void *data);
+STATIC void stdin_write_callback(evutil_socket_t fd, short event, void *data);
+
+STATIC void process_unix_start_reading(process_unix_handle_t *);
+STATIC void process_unix_stop_reading(process_unix_handle_t *);
+
+STATIC void process_unix_start_writing(process_unix_handle_t *);
+STATIC void process_unix_stop_writing(process_unix_handle_t *);
+
+STATIC void process_unix_waitpid_callback(int status, void *data);
+
+STATIC void process_unix_setup_handle(process_t *process,
+ process_unix_handle_t *handle,
+ short flags,
+ event_callback_fn callback);
+STATIC int process_unix_read_handle(process_t *,
+ process_unix_handle_t *,
+ buf_t *);
+STATIC bool process_unix_close_file_descriptors(process_unix_t *);
+#endif /* defined(PROCESS_UNIX_PRIVATE). */
+
+#endif /* defined(_WIN32). */
+
+#endif /* defined(TOR_PROCESS_UNIX_H). */
diff --git a/src/lib/process/process_win32.c b/src/lib/process/process_win32.c
new file mode 100644
index 0000000000..c92b0975a7
--- /dev/null
+++ b/src/lib/process/process_win32.c
@@ -0,0 +1,1026 @@
+/* Copyright (c) 2003, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process_win32.c
+ * \brief Module for working with Windows processes.
+ **/
+
+#define PROCESS_WIN32_PRIVATE
+#include "lib/intmath/cmp.h"
+#include "lib/buf/buffers.h"
+#include "lib/net/buffers_net.h"
+#include "lib/container/smartlist.h"
+#include "lib/log/log.h"
+#include "lib/log/util_bug.h"
+#include "lib/log/win32err.h"
+#include "lib/process/process.h"
+#include "lib/process/process_win32.h"
+#include "lib/process/env.h"
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#ifdef _WIN32
+
+/** The size of our intermediate buffers. */
+#define BUFFER_SIZE (1024)
+
+/** Timer that ticks once a second and calls the process_win32_timer_callback()
+ * function. */
+static periodic_timer_t *periodic_timer;
+
+/** Structure to represent the state around the pipe HANDLE.
+ *
+ * This structure is used to store state about a given HANDLE, including
+ * whether we have reached end of file, its intermediate buffers, and how much
+ * data that is available in the intermediate buffer. */
+struct process_win32_handle_t {
+ /** Standard out pipe handle. */
+ HANDLE pipe;
+
+ /** True iff we have reached EOF from the pipe. */
+ bool reached_eof;
+
+ /** How much data is available in buffer. */
+ size_t data_available;
+
+ /** Intermediate buffer for ReadFileEx() and WriteFileEx(). */
+ char buffer[BUFFER_SIZE];
+
+ /** Overlapped structure for ReadFileEx() and WriteFileEx(). */
+ OVERLAPPED overlapped;
+
+ /** Are we waiting for another I/O operation to complete? */
+ bool busy;
+};
+
+/** Structure to represent the Windows specific implementation details of this
+ * Process backend.
+ *
+ * This structure is attached to <b>process_t</b> (see process.h) and is
+ * reachable from <b>process_t</b> via the <b>process_get_win32_process()</b>
+ * method. */
+struct process_win32_t {
+ /** Standard in state. */
+ process_win32_handle_t stdin_handle;
+
+ /** Standard out state. */
+ process_win32_handle_t stdout_handle;
+
+ /** Standard error state. */
+ process_win32_handle_t stderr_handle;
+
+ /** Process Information. */
+ PROCESS_INFORMATION process_information;
+};
+
+/** Create a new <b>process_win32_t</b>.
+ *
+ * This function constructs a new <b>process_win32_t</b> and initializes the
+ * default values. */
+process_win32_t *
+process_win32_new(void)
+{
+ process_win32_t *win32_process;
+ win32_process = tor_malloc_zero(sizeof(process_win32_t));
+
+ win32_process->stdin_handle.pipe = INVALID_HANDLE_VALUE;
+ win32_process->stdout_handle.pipe = INVALID_HANDLE_VALUE;
+ win32_process->stderr_handle.pipe = INVALID_HANDLE_VALUE;
+
+ return win32_process;
+}
+
+/** Free a given <b>process_win32_t</b>.
+ *
+ * This function deinitializes and frees up the resources allocated for the
+ * given <b>process_win32_t</b>. */
+void
+process_win32_free_(process_win32_t *win32_process)
+{
+ if (! win32_process)
+ return;
+
+ /* Cleanup our handles. */
+ process_win32_cleanup_handle(&win32_process->stdin_handle);
+ process_win32_cleanup_handle(&win32_process->stdout_handle);
+ process_win32_cleanup_handle(&win32_process->stderr_handle);
+
+ tor_free(win32_process);
+}
+
+/** Initialize the Windows backend of the Process subsystem. */
+void
+process_win32_init(void)
+{
+ /* We don't start the periodic timer here because it makes no sense to have
+ * the timer running until we have some processes that benefits from the
+ * timer timer ticks. */
+}
+
+/** Deinitialize the Windows backend of the Process subsystem. */
+void
+process_win32_deinit(void)
+{
+ /* Stop our timer, but only if it's running. */
+ if (process_win32_timer_running())
+ process_win32_timer_stop();
+}
+
+/** Execute the given process. This function is responsible for setting up
+ * named pipes for I/O between the child process and the Tor process. Returns
+ * <b>PROCESS_STATUS_RUNNING</b> upon success. */
+process_status_t
+process_win32_exec(process_t *process)
+{
+ tor_assert(process);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ HANDLE stdout_pipe_read = NULL;
+ HANDLE stdout_pipe_write = NULL;
+ HANDLE stderr_pipe_read = NULL;
+ HANDLE stderr_pipe_write = NULL;
+ HANDLE stdin_pipe_read = NULL;
+ HANDLE stdin_pipe_write = NULL;
+ BOOL ret = FALSE;
+ const char *filename = process_get_command(process);
+
+ /* Not much we can do if we haven't been told what to start. */
+ if (BUG(filename == NULL))
+ return PROCESS_STATUS_ERROR;
+
+ /* Setup our security attributes. */
+ SECURITY_ATTRIBUTES security_attributes;
+ security_attributes.nLength = sizeof(security_attributes);
+ security_attributes.bInheritHandle = TRUE;
+ /* FIXME: should we set explicit security attributes?
+ * (See Ticket #2046, comment 5) */
+ security_attributes.lpSecurityDescriptor = NULL;
+
+ /* Create our standard out pipe. */
+ if (! process_win32_create_pipe(&stdout_pipe_read,
+ &stdout_pipe_write,
+ &security_attributes,
+ PROCESS_WIN32_PIPE_TYPE_READER)) {
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Create our standard error pipe. */
+ if (! process_win32_create_pipe(&stderr_pipe_read,
+ &stderr_pipe_write,
+ &security_attributes,
+ PROCESS_WIN32_PIPE_TYPE_READER)) {
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Create out standard in pipe. */
+ if (! process_win32_create_pipe(&stdin_pipe_read,
+ &stdin_pipe_write,
+ &security_attributes,
+ PROCESS_WIN32_PIPE_TYPE_WRITER)) {
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Configure startup info for our child process. */
+ STARTUPINFOA startup_info;
+
+ memset(&startup_info, 0, sizeof(startup_info));
+ startup_info.cb = sizeof(startup_info);
+ startup_info.hStdError = stderr_pipe_write;
+ startup_info.hStdOutput = stdout_pipe_write;
+ startup_info.hStdInput = stdin_pipe_read;
+ startup_info.dwFlags |= STARTF_USESTDHANDLES;
+
+ /* Create the env value for our new process. */
+ process_environment_t *env = process_get_environment(process);
+
+ /* Create the argv value for our new process. */
+ char **argv = process_get_argv(process);
+
+ /* Windows expects argv to be a whitespace delimited string, so join argv up
+ */
+ char *joined_argv = tor_join_win_cmdline((const char **)argv);
+
+ /* Create the child process */
+ ret = CreateProcessA(filename,
+ joined_argv,
+ NULL,
+ NULL,
+ TRUE,
+ CREATE_NO_WINDOW,
+ env->windows_environment_block[0] == '\0' ?
+ NULL : env->windows_environment_block,
+ NULL,
+ &startup_info,
+ &win32_process->process_information);
+
+ tor_free(argv);
+ tor_free(joined_argv);
+ process_environment_free(env);
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "CreateProcessA() failed: %s",
+ format_win32_error(GetLastError()));
+
+ /* Cleanup our handles. */
+ CloseHandle(stdout_pipe_read);
+ CloseHandle(stdout_pipe_write);
+ CloseHandle(stderr_pipe_read);
+ CloseHandle(stderr_pipe_write);
+ CloseHandle(stdin_pipe_read);
+ CloseHandle(stdin_pipe_write);
+
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* TODO: Should we close hProcess and hThread in
+ * process_handle->process_information? */
+ win32_process->stdout_handle.pipe = stdout_pipe_read;
+ win32_process->stderr_handle.pipe = stderr_pipe_read;
+ win32_process->stdin_handle.pipe = stdin_pipe_write;
+
+ /* Used by the callback functions from ReadFileEx() and WriteFileEx() such
+ * that we can figure out which process_t that was responsible for the event.
+ *
+ * Warning, here be dragons:
+ *
+ * MSDN says that the hEvent member of the overlapped structure is unused
+ * for ReadFileEx() and WriteFileEx, which allows us to store a pointer to
+ * our process state there.
+ */
+ win32_process->stdout_handle.overlapped.hEvent = (HANDLE)process;
+ win32_process->stderr_handle.overlapped.hEvent = (HANDLE)process;
+ win32_process->stdin_handle.overlapped.hEvent = (HANDLE)process;
+
+ /* Start our timer if it is not already running. */
+ if (! process_win32_timer_running())
+ process_win32_timer_start();
+
+ /* We use Windows Extended I/O functions, so our completion callbacks are
+ * called automatically for us when there is data to read. Because of this
+ * we start the read of standard out and error right away. */
+ process_notify_event_stdout(process);
+ process_notify_event_stderr(process);
+
+ return PROCESS_STATUS_RUNNING;
+}
+
+/** Terminate the given process. Returns true on success, otherwise false. */
+bool
+process_win32_terminate(process_t *process)
+{
+ tor_assert(process);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ /* Terminate our process. */
+ BOOL ret;
+
+ ret = TerminateProcess(win32_process->process_information.hProcess, 0);
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "TerminateProcess() failed: %s",
+ format_win32_error(GetLastError()));
+ return false;
+ }
+
+ /* Cleanup our handles. */
+ process_win32_cleanup_handle(&win32_process->stdin_handle);
+ process_win32_cleanup_handle(&win32_process->stdout_handle);
+ process_win32_cleanup_handle(&win32_process->stderr_handle);
+
+ return true;
+}
+
+/** Returns the unique process identifier for the given <b>process</b>. */
+process_pid_t
+process_win32_get_pid(process_t *process)
+{
+ tor_assert(process);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+ return (process_pid_t)win32_process->process_information.dwProcessId;
+}
+
+/** Schedule an async write of the data found in <b>buffer</b> for the given
+ * process. This function runs an async write operation of the content of
+ * buffer, if we are not already waiting for a pending I/O request. Returns the
+ * number of bytes that Windows will hopefully write for us in the background.
+ * */
+int
+process_win32_write(struct process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+ BOOL ret = FALSE;
+ const size_t buffer_size = buf_datalen(buffer);
+
+ /* Windows is still writing our buffer. */
+ if (win32_process->stdin_handle.busy)
+ return 0;
+
+ /* Nothing for us to do right now. */
+ if (buffer_size == 0)
+ return 0;
+
+ /* We have reached end of file already? */
+ if (BUG(win32_process->stdin_handle.reached_eof))
+ return 0;
+
+ /* Figure out how much data we should read. */
+ const size_t write_size = MIN(buffer_size,
+ sizeof(win32_process->stdin_handle.buffer));
+
+ /* Read data from the process_t buffer into our intermediate buffer. */
+ buf_get_bytes(buffer, win32_process->stdin_handle.buffer, write_size);
+
+ /* Schedule our write. */
+ ret = WriteFileEx(win32_process->stdin_handle.pipe,
+ win32_process->stdin_handle.buffer,
+ write_size,
+ &win32_process->stdin_handle.overlapped,
+ process_win32_stdin_write_done);
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "WriteFileEx() failed: %s",
+ format_win32_error(GetLastError()));
+ return 0;
+ }
+
+ /* This cast should be safe since our buffer can maximum be BUFFER_SIZE
+ * large. */
+ return (int)write_size;
+}
+
+/** This function is called from the Process subsystem whenever the Windows
+ * backend says it has data ready. This function also ensures that we are
+ * starting a new background read from the standard output of the child process
+ * and asks Windows to call process_win32_stdout_read_done() when that
+ * operation is finished. Returns the number of bytes moved into <b>buffer</b>.
+ * */
+int
+process_win32_read_stdout(struct process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ return process_win32_read_from_handle(&win32_process->stdout_handle,
+ buffer,
+ process_win32_stdout_read_done);
+}
+
+/** This function is called from the Process subsystem whenever the Windows
+ * backend says it has data ready. This function also ensures that we are
+ * starting a new background read from the standard error of the child process
+ * and asks Windows to call process_win32_stderr_read_done() when that
+ * operation is finished. Returns the number of bytes moved into <b>buffer</b>.
+ * */
+int
+process_win32_read_stderr(struct process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ return process_win32_read_from_handle(&win32_process->stderr_handle,
+ buffer,
+ process_win32_stderr_read_done);
+}
+
+/** This function is responsible for moving the Tor process into what Microsoft
+ * calls an "alertable" state. Once the process is in an alertable state the
+ * Windows kernel will notify us when our background I/O requests have finished
+ * and the callbacks will be executed. */
+void
+process_win32_trigger_completion_callbacks(void)
+{
+ DWORD ret;
+
+ /* The call to SleepEx(dwMilliseconds, dwAlertable) makes the process sleep
+ * for dwMilliseconds and if dwAlertable is set to TRUE it will also cause
+ * the process to enter alertable state, where the Windows kernel will notify
+ * us about completed I/O requests from ReadFileEx() and WriteFileEX(), which
+ * will cause our completion callbacks to be executed.
+ *
+ * This function returns 0 if the time interval expired or WAIT_IO_COMPLETION
+ * if one or more I/O callbacks were executed. */
+ ret = SleepEx(0, TRUE);
+
+ /* Warn us if the function returned something we did not anticipate. */
+ if (ret != 0 && ret != WAIT_IO_COMPLETION) {
+ log_warn(LD_PROCESS, "SleepEx() returned %lu", ret);
+ }
+}
+
+/** Start the periodic timer which is reponsible for checking whether processes
+ * are still alive and to make sure that the Tor process is periodically being
+ * moved into an alertable state. */
+void
+process_win32_timer_start(void)
+{
+ /* Make sure we never start our timer if it's already running. */
+ if (BUG(process_win32_timer_running()))
+ return;
+
+ /* Wake up once a second. */
+ static const struct timeval interval = {1, 0};
+
+ log_info(LD_PROCESS, "Starting Windows Process I/O timer");
+ periodic_timer = periodic_timer_new(tor_libevent_get_base(),
+ &interval,
+ process_win32_timer_callback,
+ NULL);
+}
+
+/** Stops the periodic timer. */
+void
+process_win32_timer_stop(void)
+{
+ if (BUG(periodic_timer == NULL))
+ return;
+
+ log_info(LD_PROCESS, "Stopping Windows Process I/O timer");
+ periodic_timer_free(periodic_timer);
+}
+
+/** Returns true iff the periodic timer is running. */
+bool
+process_win32_timer_running(void)
+{
+ return periodic_timer != NULL;
+}
+
+/** This function is called whenever the periodic_timer ticks. The function is
+ * responsible for moving the Tor process into an alertable state once a second
+ * and checking for whether our child processes have terminated since the last
+ * tick. */
+STATIC void
+process_win32_timer_callback(periodic_timer_t *timer, void *data)
+{
+ tor_assert(timer == periodic_timer);
+ tor_assert(data == NULL);
+
+ /* Move the process into an alertable state. */
+ process_win32_trigger_completion_callbacks();
+
+ /* Check if our processes are still alive. */
+
+ /* Since the call to process_win32_timer_test_process() might call
+ * process_notify_event_exit() which again might call process_free() which
+ * updates the list of processes returned by process_get_all_processes() it
+ * is important here that we make sure to not touch the list of processes if
+ * the call to process_win32_timer_test_process() returns true. */
+ bool done;
+
+ do {
+ const smartlist_t *processes = process_get_all_processes();
+ done = true;
+
+ SMARTLIST_FOREACH_BEGIN(processes, process_t *, process) {
+ /* If process_win32_timer_test_process() returns true, it means that
+ * smartlist_remove() might have been called on the list returned by
+ * process_get_all_processes(). We start the loop over again until we
+ * have a succesful run over the entire list where the list was not
+ * modified. */
+ if (process_win32_timer_test_process(process)) {
+ done = false;
+ break;
+ }
+ } SMARTLIST_FOREACH_END(process);
+ } while (! done);
+}
+
+/** Test whether a given process is still alive. Notify the Process subsystem
+ * if our process have died. Returns true iff the given process have
+ * terminated. */
+STATIC bool
+process_win32_timer_test_process(process_t *process)
+{
+ tor_assert(process);
+
+ /* No need to look at processes that don't claim they are running. */
+ if (process_get_status(process) != PROCESS_STATUS_RUNNING)
+ return false;
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+ BOOL ret = FALSE;
+ DWORD exit_code = 0;
+
+ /* We start by testing whether our process is still running. */
+ ret = GetExitCodeProcess(win32_process->process_information.hProcess,
+ &exit_code);
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "GetExitCodeProcess() failed: %s",
+ format_win32_error(GetLastError()));
+ return false;
+ }
+
+ /* Notify our process_t that our process have terminated. Since our
+ * exit_callback might decide to process_free() our process handle it is very
+ * important that we do not touch the process_t after the call to
+ * process_notify_event_exit(). */
+ if (exit_code != STILL_ACTIVE) {
+ process_notify_event_exit(process, exit_code);
+ return true;
+ }
+
+ return false;
+}
+
+/** Create a new overlapped named pipe. This function creates a new connected,
+ * named, pipe in <b>*read_pipe</b> and <b>*write_pipe</b> if the function is
+ * succesful. Returns true on sucess, false on failure. */
+STATIC bool
+process_win32_create_pipe(HANDLE *read_pipe,
+ HANDLE *write_pipe,
+ SECURITY_ATTRIBUTES *attributes,
+ process_win32_pipe_type_t pipe_type)
+{
+ tor_assert(read_pipe);
+ tor_assert(write_pipe);
+ tor_assert(attributes);
+
+ BOOL ret = FALSE;
+
+ /* Buffer size. */
+ const size_t size = 4096;
+
+ /* Our additional read/write modes that depends on which pipe type we are
+ * creating. */
+ DWORD read_mode = 0;
+ DWORD write_mode = 0;
+
+ /* Generate the unique pipe name. */
+ char pipe_name[MAX_PATH];
+ static DWORD process_id = 0;
+ static DWORD counter = 0;
+
+ if (process_id == 0)
+ process_id = GetCurrentProcessId();
+
+ tor_snprintf(pipe_name, sizeof(pipe_name),
+ "\\\\.\\Pipe\\Tor-Process-Pipe-%lu-%lu",
+ process_id, counter++);
+
+ /* Only one of our handles can be overlapped. */
+ switch (pipe_type) {
+ case PROCESS_WIN32_PIPE_TYPE_READER:
+ read_mode = FILE_FLAG_OVERLAPPED;
+ break;
+ case PROCESS_WIN32_PIPE_TYPE_WRITER:
+ write_mode = FILE_FLAG_OVERLAPPED;
+ break;
+ default:
+ /* LCOV_EXCL_START */
+ tor_assert_nonfatal_unreached_once();
+ /* LCOV_EXCL_STOP */
+ }
+
+ /* Setup our read and write handles. */
+ HANDLE read_handle;
+ HANDLE write_handle;
+
+ /* Create our named pipe. */
+ read_handle = CreateNamedPipeA(pipe_name,
+ (PIPE_ACCESS_INBOUND|read_mode),
+ (PIPE_TYPE_BYTE|PIPE_WAIT),
+ 1,
+ size,
+ size,
+ 1000,
+ attributes);
+
+ if (read_handle == INVALID_HANDLE_VALUE) {
+ log_warn(LD_PROCESS, "CreateNamedPipeA() failed: %s",
+ format_win32_error(GetLastError()));
+ return false;
+ }
+
+ /* Create our file in the pipe namespace. */
+ write_handle = CreateFileA(pipe_name,
+ GENERIC_WRITE,
+ 0,
+ attributes,
+ OPEN_EXISTING,
+ (FILE_ATTRIBUTE_NORMAL|write_mode),
+ NULL);
+
+ if (write_handle == INVALID_HANDLE_VALUE) {
+ log_warn(LD_PROCESS, "CreateFileA() failed: %s",
+ format_win32_error(GetLastError()));
+
+ CloseHandle(read_handle);
+
+ return false;
+ }
+
+ /* Set the inherit flag for our pipe. */
+ switch (pipe_type) {
+ case PROCESS_WIN32_PIPE_TYPE_READER:
+ ret = SetHandleInformation(read_handle, HANDLE_FLAG_INHERIT, 0);
+ break;
+ case PROCESS_WIN32_PIPE_TYPE_WRITER:
+ ret = SetHandleInformation(write_handle, HANDLE_FLAG_INHERIT, 0);
+ break;
+ default:
+ /* LCOV_EXCL_START */
+ tor_assert_nonfatal_unreached_once();
+ /* LCOV_EXCL_STOP */
+ }
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "SetHandleInformation() failed: %s",
+ format_win32_error(GetLastError()));
+
+ CloseHandle(read_handle);
+ CloseHandle(write_handle);
+
+ return false;
+ }
+
+ /* Everything is good. */
+ *read_pipe = read_handle;
+ *write_pipe = write_handle;
+
+ return true;
+}
+
+/** Cleanup a given <b>handle</b>. */
+STATIC void
+process_win32_cleanup_handle(process_win32_handle_t *handle)
+{
+ tor_assert(handle);
+
+#if 0
+ /* FIXME(ahf): My compiler does not set _WIN32_WINNT to a high enough value
+ * for this code to be available. Should we force it? CancelIoEx() is
+ * available from Windows 7 and above. If we decide to require this, we need
+ * to update the checks in all the three I/O completion callbacks to handle
+ * the ERROR_OPERATION_ABORTED as well as ERROR_BROKEN_PIPE. */
+
+#if _WIN32_WINNT >= 0x0600
+ /* This code is only supported from Windows 7 and onwards. */
+ BOOL ret;
+ DWORD error_code;
+
+ /* Cancel any pending I/O requests. */
+ ret = CancelIoEx(handle->pipe, &handle->overlapped);
+
+ if (! ret) {
+ error_code = GetLastError();
+
+ /* There was no pending I/O requests for our handle. */
+ if (error_code != ERROR_NOT_FOUND) {
+ log_warn(LD_PROCESS, "CancelIoEx() failed: %s",
+ format_win32_error(error_code));
+ }
+ }
+#endif
+#endif
+
+ /* Close our handle. */
+ if (handle->pipe != INVALID_HANDLE_VALUE) {
+ CloseHandle(handle->pipe);
+ handle->pipe = INVALID_HANDLE_VALUE;
+ }
+}
+
+/** This function is called when ReadFileEx() completes its background read
+ * from the child process's standard output. We notify the Process subsystem if
+ * there is data available for it to read from us. */
+STATIC VOID WINAPI
+process_win32_stdout_read_done(DWORD error_code,
+ DWORD byte_count,
+ LPOVERLAPPED overlapped)
+{
+ tor_assert(overlapped);
+ tor_assert(overlapped->hEvent);
+
+ /* This happens when we have asked ReadFileEx() to read some data, but we
+ * then decided to call CloseHandle() on the HANDLE. This can happen if
+ * someone runs process_free() in the exit_callback of process_t, which means
+ * we cannot call process_get_win32_process() here. */
+ if (error_code == ERROR_BROKEN_PIPE) {
+ log_debug(LD_PROCESS, "Process reported broken pipe on standard out");
+ return;
+ }
+
+ /* Extract our process_t from the hEvent member of OVERLAPPED. */
+ process_t *process = (process_t *)overlapped->hEvent;
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ if (process_win32_handle_read_completion(&win32_process->stdout_handle,
+ error_code,
+ byte_count)) {
+ /* Schedule our next read. */
+ process_notify_event_stdout(process);
+ }
+}
+
+/** This function is called when ReadFileEx() completes its background read
+ * from the child process's standard error. We notify the Process subsystem if
+ * there is data available for it to read from us. */
+STATIC VOID WINAPI
+process_win32_stderr_read_done(DWORD error_code,
+ DWORD byte_count,
+ LPOVERLAPPED overlapped)
+{
+ tor_assert(overlapped);
+ tor_assert(overlapped->hEvent);
+
+ /* This happens when we have asked ReadFileEx() to read some data, but we
+ * then decided to call CloseHandle() on the HANDLE. This can happen if
+ * someone runs process_free() in the exit_callback of process_t, which means
+ * we cannot call process_get_win32_process() here. */
+ if (error_code == ERROR_BROKEN_PIPE) {
+ log_debug(LD_PROCESS, "Process reported broken pipe on standard error");
+ return;
+ }
+
+ /* Extract our process_t from the hEvent member of OVERLAPPED. */
+ process_t *process = (process_t *)overlapped->hEvent;
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ if (process_win32_handle_read_completion(&win32_process->stderr_handle,
+ error_code,
+ byte_count)) {
+ /* Schedule our next read. */
+ process_notify_event_stderr(process);
+ }
+}
+
+/** This function is called when WriteFileEx() completes its background write
+ * to the child process's standard input. We notify the Process subsystem that
+ * it can write data to us again. */
+STATIC VOID WINAPI
+process_win32_stdin_write_done(DWORD error_code,
+ DWORD byte_count,
+ LPOVERLAPPED overlapped)
+{
+ tor_assert(overlapped);
+ tor_assert(overlapped->hEvent);
+
+ (void)byte_count;
+
+ /* This happens when we have asked WriteFileEx() to write some data, but we
+ * then decided to call CloseHandle() on the HANDLE. This can happen if
+ * someone runs process_free() in the exit_callback of process_t, which means
+ * we cannot call process_get_win32_process() here. */
+ if (error_code == ERROR_BROKEN_PIPE) {
+ log_debug(LD_PROCESS, "Process reported broken pipe on standard input");
+ return;
+ }
+
+ process_t *process = (process_t *)overlapped->hEvent;
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ /* Mark our handle as not having any outstanding I/O requests. */
+ win32_process->stdin_handle.busy = false;
+
+ /* Check if we have been asked to write to the handle that have been marked
+ * as having reached EOF. */
+ if (BUG(win32_process->stdin_handle.reached_eof))
+ return;
+
+ if (error_code == 0) {
+ /** Our data have been succesfully written. Clear our state and schedule
+ * the next write. */
+ win32_process->stdin_handle.data_available = 0;
+ memset(win32_process->stdin_handle.buffer, 0,
+ sizeof(win32_process->stdin_handle.buffer));
+
+ /* Schedule the next write. */
+ process_notify_event_stdin(process);
+ } else if (error_code == ERROR_HANDLE_EOF) {
+ /* Our WriteFileEx() call was succesful, but we reached the end of our
+ * file. We mark our handle as having reached EOF and returns. */
+ tor_assert(byte_count == 0);
+
+ win32_process->stdin_handle.reached_eof = true;
+ } else {
+ /* An error happened: We warn the user and mark our handle as having
+ * reached EOF */
+ log_warn(LD_PROCESS,
+ "Error in I/O completion routine from WriteFileEx(): %s",
+ format_win32_error(error_code));
+ win32_process->stdin_handle.reached_eof = true;
+ }
+}
+
+/** This function reads data from the given <b>handle</b>'s internal buffer and
+ * moves it into the given <b>buffer</b>. Additionally, we start the next
+ * ReadFileEx() background operation with the given <b>callback</b> as
+ * completion callback. Returns the number of bytes written to the buffer. */
+STATIC int
+process_win32_read_from_handle(process_win32_handle_t *handle,
+ buf_t *buffer,
+ LPOVERLAPPED_COMPLETION_ROUTINE callback)
+{
+ tor_assert(handle);
+ tor_assert(buffer);
+ tor_assert(callback);
+
+ BOOL ret = FALSE;
+ int bytes_available = 0;
+
+ /* We already have a request to read data that isn't complete yet. */
+ if (BUG(handle->busy))
+ return 0;
+
+ /* Check if we have been asked to read from a handle that have already told
+ * us that we have reached the end of the file. */
+ if (BUG(handle->reached_eof))
+ return 0;
+
+ /* This cast should be safe since our buffer can be at maximum up to
+ * BUFFER_SIZE in size. */
+ bytes_available = (int)handle->data_available;
+
+ if (handle->data_available > 0) {
+ /* Read data from our intermediate buffer into the process_t buffer. */
+ buf_add(buffer, handle->buffer, handle->data_available);
+
+ /* Reset our read state. */
+ handle->data_available = 0;
+ memset(handle->buffer, 0, sizeof(handle->buffer));
+ }
+
+ /* Ask the Windows kernel to read data from our pipe into our buffer and call
+ * the callback function when it is done. */
+ ret = ReadFileEx(handle->pipe,
+ handle->buffer,
+ sizeof(handle->buffer),
+ &handle->overlapped,
+ callback);
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "ReadFileEx() failed: %s",
+ format_win32_error(GetLastError()));
+ return bytes_available;
+ }
+
+ /* We mark our handle as having a pending I/O request. */
+ handle->busy = true;
+
+ return bytes_available;
+}
+
+/** This function checks the callback values from ReadFileEx() in
+ * <b>error_code</b> and <b>byte_count</b> if we have read data. Returns true
+ * iff our caller should request more data from ReadFileEx(). */
+STATIC bool
+process_win32_handle_read_completion(process_win32_handle_t *handle,
+ DWORD error_code,
+ DWORD byte_count)
+{
+ tor_assert(handle);
+
+ /* Mark our handle as not having any outstanding I/O requests. */
+ handle->busy = false;
+
+ if (error_code == 0) {
+ /* Our ReadFileEx() call was succesful and there is data for us. */
+
+ /* This cast should be safe since byte_count should never be larger than
+ * BUFFER_SIZE. */
+ tor_assert(byte_count <= BUFFER_SIZE);
+ handle->data_available = (size_t)byte_count;
+
+ /* Tell our caller to schedule the next read. */
+ return true;
+ } else if (error_code == ERROR_HANDLE_EOF) {
+ /* Our ReadFileEx() call was succesful, but we reached the end of our file.
+ * We mark our handle as having reached EOF and returns. */
+ tor_assert(byte_count == 0);
+
+ handle->reached_eof = true;
+ } else {
+ /* An error happened: We warn the user and mark our handle as having
+ * reached EOF */
+ log_warn(LD_PROCESS,
+ "Error in I/O completion routine from ReadFileEx(): %s",
+ format_win32_error(error_code));
+
+ handle->reached_eof = true;
+ }
+
+ /* Our caller should NOT schedule the next read. */
+ return false;
+}
+
+/** Format a single argument for being put on a Windows command line.
+ * Returns a newly allocated string */
+STATIC char *
+format_win_cmdline_argument(const char *arg)
+{
+ char *formatted_arg;
+ char need_quotes;
+ const char *c;
+ int i;
+ int bs_counter = 0;
+ /* Backslash we can point to when one is inserted into the string */
+ const char backslash = '\\';
+
+ /* Smartlist of *char */
+ smartlist_t *arg_chars;
+ arg_chars = smartlist_new();
+
+ /* Quote string if it contains whitespace or is empty */
+ need_quotes = (strchr(arg, ' ') || strchr(arg, '\t') || '\0' == arg[0]);
+
+ /* Build up smartlist of *chars */
+ for (c=arg; *c != '\0'; c++) {
+ if ('"' == *c) {
+ /* Double up backslashes preceding a quote */
+ for (i=0; i<(bs_counter*2); i++)
+ smartlist_add(arg_chars, (void*)&backslash);
+ bs_counter = 0;
+ /* Escape the quote */
+ smartlist_add(arg_chars, (void*)&backslash);
+ smartlist_add(arg_chars, (void*)c);
+ } else if ('\\' == *c) {
+ /* Count backslashes until we know whether to double up */
+ bs_counter++;
+ } else {
+ /* Don't double up slashes preceding a non-quote */
+ for (i=0; i<bs_counter; i++)
+ smartlist_add(arg_chars, (void*)&backslash);
+ bs_counter = 0;
+ smartlist_add(arg_chars, (void*)c);
+ }
+ }
+ /* Don't double up trailing backslashes */
+ for (i=0; i<bs_counter; i++)
+ smartlist_add(arg_chars, (void*)&backslash);
+
+ /* Allocate space for argument, quotes (if needed), and terminator */
+ const size_t formatted_arg_len = smartlist_len(arg_chars) +
+ (need_quotes ? 2 : 0) + 1;
+ formatted_arg = tor_malloc_zero(formatted_arg_len);
+
+ /* Add leading quote */
+ i=0;
+ if (need_quotes)
+ formatted_arg[i++] = '"';
+
+ /* Add characters */
+ SMARTLIST_FOREACH(arg_chars, char*, ch,
+ {
+ formatted_arg[i++] = *ch;
+ });
+
+ /* Add trailing quote */
+ if (need_quotes)
+ formatted_arg[i++] = '"';
+ formatted_arg[i] = '\0';
+
+ smartlist_free(arg_chars);
+ return formatted_arg;
+}
+
+/** Format a command line for use on Windows, which takes the command as a
+ * string rather than string array. Follows the rules from "Parsing C++
+ * Command-Line Arguments" in MSDN. Algorithm based on list2cmdline in the
+ * Python subprocess module. Returns a newly allocated string */
+STATIC char *
+tor_join_win_cmdline(const char *argv[])
+{
+ smartlist_t *argv_list;
+ char *joined_argv;
+ int i;
+
+ /* Format each argument and put the result in a smartlist */
+ argv_list = smartlist_new();
+ for (i=0; argv[i] != NULL; i++) {
+ smartlist_add(argv_list, (void *)format_win_cmdline_argument(argv[i]));
+ }
+
+ /* Join the arguments with whitespace */
+ joined_argv = smartlist_join_strings(argv_list, " ", 0, NULL);
+
+ /* Free the newly allocated arguments, and the smartlist */
+ SMARTLIST_FOREACH(argv_list, char *, arg,
+ {
+ tor_free(arg);
+ });
+ smartlist_free(argv_list);
+
+ return joined_argv;
+}
+
+#endif /* ! defined(_WIN32). */
diff --git a/src/lib/process/process_win32.h b/src/lib/process/process_win32.h
new file mode 100644
index 0000000000..8ab4880fbd
--- /dev/null
+++ b/src/lib/process/process_win32.h
@@ -0,0 +1,97 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process_win32.h
+ * \brief Header for process_win32.c
+ **/
+
+#ifndef TOR_PROCESS_WIN32_H
+#define TOR_PROCESS_WIN32_H
+
+#ifdef _WIN32
+
+#include "orconfig.h"
+#include "lib/malloc/malloc.h"
+#include "lib/evloop/compat_libevent.h"
+
+#include <windows.h>
+
+struct process_t;
+
+struct process_win32_t;
+typedef struct process_win32_t process_win32_t;
+
+process_win32_t *process_win32_new(void);
+void process_win32_free_(process_win32_t *win32_process);
+#define process_win32_free(s) \
+ FREE_AND_NULL(process_win32_t, process_win32_free_, (s))
+
+void process_win32_init(void);
+void process_win32_deinit(void);
+
+process_status_t process_win32_exec(struct process_t *process);
+bool process_win32_terminate(struct process_t *process);
+
+process_pid_t process_win32_get_pid(struct process_t *process);
+
+int process_win32_write(struct process_t *process, buf_t *buffer);
+int process_win32_read_stdout(struct process_t *process, buf_t *buffer);
+int process_win32_read_stderr(struct process_t *process, buf_t *buffer);
+
+void process_win32_trigger_completion_callbacks(void);
+
+/* Timer handling. */
+void process_win32_timer_start(void);
+void process_win32_timer_stop(void);
+bool process_win32_timer_running(void);
+
+#ifdef PROCESS_WIN32_PRIVATE
+STATIC void process_win32_timer_callback(periodic_timer_t *, void *);
+STATIC bool process_win32_timer_test_process(process_t *);
+
+/* I/O pipe handling. */
+struct process_win32_handle_t;
+typedef struct process_win32_handle_t process_win32_handle_t;
+
+typedef enum process_win32_pipe_type_t {
+ /** This pipe is used for reading. */
+ PROCESS_WIN32_PIPE_TYPE_READER,
+
+ /** This pipe is used for writing. */
+ PROCESS_WIN32_PIPE_TYPE_WRITER
+} process_win32_pipe_type_t;
+
+STATIC bool process_win32_create_pipe(HANDLE *,
+ HANDLE *,
+ SECURITY_ATTRIBUTES *,
+ process_win32_pipe_type_t);
+
+STATIC void process_win32_cleanup_handle(process_win32_handle_t *handle);
+
+STATIC VOID WINAPI process_win32_stdout_read_done(DWORD,
+ DWORD,
+ LPOVERLAPPED);
+STATIC VOID WINAPI process_win32_stderr_read_done(DWORD,
+ DWORD,
+ LPOVERLAPPED);
+STATIC VOID WINAPI process_win32_stdin_write_done(DWORD,
+ DWORD,
+ LPOVERLAPPED);
+
+STATIC int process_win32_read_from_handle(process_win32_handle_t *,
+ buf_t *,
+ LPOVERLAPPED_COMPLETION_ROUTINE);
+STATIC bool process_win32_handle_read_completion(process_win32_handle_t *,
+ DWORD,
+ DWORD);
+
+STATIC char *format_win_cmdline_argument(const char *arg);
+STATIC char *tor_join_win_cmdline(const char *argv[]);
+#endif /* defined(PROCESS_WIN32_PRIVATE). */
+
+#endif /* ! defined(_WIN32). */
+
+#endif /* defined(TOR_PROCESS_WIN32_H). */
diff --git a/src/lib/process/subprocess.c b/src/lib/process/subprocess.c
deleted file mode 100644
index 70851c15e0..0000000000
--- a/src/lib/process/subprocess.c
+++ /dev/null
@@ -1,1236 +0,0 @@
-/* Copyright (c) 2003, Roger Dingledine
- * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
- * Copyright (c) 2007-2018, The Tor Project, Inc. */
-/* See LICENSE for licensing information */
-
-/**
- * \file subprocess.c
- * \brief Launch and monitor other processes.
- **/
-
-#define SUBPROCESS_PRIVATE
-#include "lib/process/subprocess.h"
-
-#include "lib/container/smartlist.h"
-#include "lib/err/torerr.h"
-#include "lib/log/log.h"
-#include "lib/log/util_bug.h"
-#include "lib/log/win32err.h"
-#include "lib/malloc/malloc.h"
-#include "lib/process/env.h"
-#include "lib/process/waitpid.h"
-#include "lib/string/compat_ctype.h"
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_PRCTL_H
-#include <sys/prctl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-#include <errno.h>
-#include <string.h>
-
-/** Format a single argument for being put on a Windows command line.
- * Returns a newly allocated string */
-static char *
-format_win_cmdline_argument(const char *arg)
-{
- char *formatted_arg;
- char need_quotes;
- const char *c;
- int i;
- int bs_counter = 0;
- /* Backslash we can point to when one is inserted into the string */
- const char backslash = '\\';
-
- /* Smartlist of *char */
- smartlist_t *arg_chars;
- arg_chars = smartlist_new();
-
- /* Quote string if it contains whitespace or is empty */
- need_quotes = (strchr(arg, ' ') || strchr(arg, '\t') || '\0' == arg[0]);
-
- /* Build up smartlist of *chars */
- for (c=arg; *c != '\0'; c++) {
- if ('"' == *c) {
- /* Double up backslashes preceding a quote */
- for (i=0; i<(bs_counter*2); i++)
- smartlist_add(arg_chars, (void*)&backslash);
- bs_counter = 0;
- /* Escape the quote */
- smartlist_add(arg_chars, (void*)&backslash);
- smartlist_add(arg_chars, (void*)c);
- } else if ('\\' == *c) {
- /* Count backslashes until we know whether to double up */
- bs_counter++;
- } else {
- /* Don't double up slashes preceding a non-quote */
- for (i=0; i<bs_counter; i++)
- smartlist_add(arg_chars, (void*)&backslash);
- bs_counter = 0;
- smartlist_add(arg_chars, (void*)c);
- }
- }
- /* Don't double up trailing backslashes */
- for (i=0; i<bs_counter; i++)
- smartlist_add(arg_chars, (void*)&backslash);
-
- /* Allocate space for argument, quotes (if needed), and terminator */
- const size_t formatted_arg_len = smartlist_len(arg_chars) +
- (need_quotes ? 2 : 0) + 1;
- formatted_arg = tor_malloc_zero(formatted_arg_len);
-
- /* Add leading quote */
- i=0;
- if (need_quotes)
- formatted_arg[i++] = '"';
-
- /* Add characters */
- SMARTLIST_FOREACH(arg_chars, char*, ch,
- {
- formatted_arg[i++] = *ch;
- });
-
- /* Add trailing quote */
- if (need_quotes)
- formatted_arg[i++] = '"';
- formatted_arg[i] = '\0';
-
- smartlist_free(arg_chars);
- return formatted_arg;
-}
-
-/** Format a command line for use on Windows, which takes the command as a
- * string rather than string array. Follows the rules from "Parsing C++
- * Command-Line Arguments" in MSDN. Algorithm based on list2cmdline in the
- * Python subprocess module. Returns a newly allocated string */
-char *
-tor_join_win_cmdline(const char *argv[])
-{
- smartlist_t *argv_list;
- char *joined_argv;
- int i;
-
- /* Format each argument and put the result in a smartlist */
- argv_list = smartlist_new();
- for (i=0; argv[i] != NULL; i++) {
- smartlist_add(argv_list, (void *)format_win_cmdline_argument(argv[i]));
- }
-
- /* Join the arguments with whitespace */
- joined_argv = smartlist_join_strings(argv_list, " ", 0, NULL);
-
- /* Free the newly allocated arguments, and the smartlist */
- SMARTLIST_FOREACH(argv_list, char *, arg,
- {
- tor_free(arg);
- });
- smartlist_free(argv_list);
-
- return joined_argv;
-}
-
-#ifndef _WIN32
-/** Format <b>child_state</b> and <b>saved_errno</b> as a hex string placed in
- * <b>hex_errno</b>. Called between fork and _exit, so must be signal-handler
- * safe.
- *
- * <b>hex_errno</b> must have at least HEX_ERRNO_SIZE+1 bytes available.
- *
- * The format of <b>hex_errno</b> is: "CHILD_STATE/ERRNO\n", left-padded
- * with spaces. CHILD_STATE indicates where
- * in the process of starting the child process did the failure occur (see
- * CHILD_STATE_* macros for definition), and SAVED_ERRNO is the value of
- * errno when the failure occurred.
- *
- * On success return the number of characters added to hex_errno, not counting
- * the terminating NUL; return -1 on error.
- */
-STATIC int
-format_helper_exit_status(unsigned char child_state, int saved_errno,
- char *hex_errno)
-{
- unsigned int unsigned_errno;
- int written, left;
- char *cur;
- size_t i;
- int res = -1;
-
- /* Fill hex_errno with spaces, and a trailing newline (memset may
- not be signal handler safe, so we can't use it) */
- for (i = 0; i < (HEX_ERRNO_SIZE - 1); i++)
- hex_errno[i] = ' ';
- hex_errno[HEX_ERRNO_SIZE - 1] = '\n';
-
- /* Convert errno to be unsigned for hex conversion */
- if (saved_errno < 0) {
- // Avoid overflow on the cast to unsigned int when result is INT_MIN
- // by adding 1 to the signed int negative value,
- // then, after it has been negated and cast to unsigned,
- // adding the original 1 back (the double-addition is intentional).
- // Otherwise, the cast to signed could cause a temporary int
- // to equal INT_MAX + 1, which is undefined.
- unsigned_errno = ((unsigned int) -(saved_errno + 1)) + 1;
- } else {
- unsigned_errno = (unsigned int) saved_errno;
- }
-
- /*
- * Count how many chars of space we have left, and keep a pointer into the
- * current point in the buffer.
- */
- left = HEX_ERRNO_SIZE+1;
- cur = hex_errno;
-
- /* Emit child_state */
- written = format_hex_number_sigsafe(child_state, cur, left);
-
- if (written <= 0)
- goto err;
-
- /* Adjust left and cur */
- left -= written;
- cur += written;
- if (left <= 0)
- goto err;
-
- /* Now the '/' */
- *cur = '/';
-
- /* Adjust left and cur */
- ++cur;
- --left;
- if (left <= 0)
- goto err;
-
- /* Need minus? */
- if (saved_errno < 0) {
- *cur = '-';
- ++cur;
- --left;
- if (left <= 0)
- goto err;
- }
-
- /* Emit unsigned_errno */
- written = format_hex_number_sigsafe(unsigned_errno, cur, left);
-
- if (written <= 0)
- goto err;
-
- /* Adjust left and cur */
- left -= written;
- cur += written;
-
- /* Check that we have enough space left for a newline and a NUL */
- if (left <= 1)
- goto err;
-
- /* Emit the newline and NUL */
- *cur++ = '\n';
- *cur++ = '\0';
-
- res = (int)(cur - hex_errno - 1);
-
- goto done;
-
- err:
- /*
- * In error exit, just write a '\0' in the first char so whatever called
- * this at least won't fall off the end.
- */
- *hex_errno = '\0';
-
- done:
- return res;
-}
-#endif /* !defined(_WIN32) */
-
-/* Maximum number of file descriptors, if we cannot get it via sysconf() */
-#define DEFAULT_MAX_FD 256
-
-/** Terminate the process of <b>process_handle</b>, if that process has not
- * already exited.
- *
- * Return 0 if we succeeded in terminating the process (or if the process
- * already exited), and -1 if we tried to kill the process but failed.
- *
- * Based on code originally borrowed from Python's os.kill. */
-int
-tor_terminate_process(process_handle_t *process_handle)
-{
-#ifdef _WIN32
- if (tor_get_exit_code(process_handle, 0, NULL) == PROCESS_EXIT_RUNNING) {
- HANDLE handle = process_handle->pid.hProcess;
-
- if (!TerminateProcess(handle, 0))
- return -1;
- else
- return 0;
- }
-#else /* !(defined(_WIN32)) */
- if (process_handle->waitpid_cb) {
- /* We haven't got a waitpid yet, so we can just kill off the process. */
- return kill(process_handle->pid, SIGTERM);
- }
-#endif /* defined(_WIN32) */
-
- return 0; /* We didn't need to kill the process, so report success */
-}
-
-/** Return the Process ID of <b>process_handle</b>. */
-int
-tor_process_get_pid(process_handle_t *process_handle)
-{
-#ifdef _WIN32
- return (int) process_handle->pid.dwProcessId;
-#else
- return (int) process_handle->pid;
-#endif
-}
-
-#ifdef _WIN32
-HANDLE
-tor_process_get_stdout_pipe(process_handle_t *process_handle)
-{
- return process_handle->stdout_pipe;
-}
-#else /* !(defined(_WIN32)) */
-/* DOCDOC tor_process_get_stdout_pipe */
-int
-tor_process_get_stdout_pipe(process_handle_t *process_handle)
-{
- return process_handle->stdout_pipe;
-}
-#endif /* defined(_WIN32) */
-
-/* DOCDOC process_handle_new */
-static process_handle_t *
-process_handle_new(void)
-{
- process_handle_t *out = tor_malloc_zero(sizeof(process_handle_t));
-
-#ifdef _WIN32
- out->stdin_pipe = INVALID_HANDLE_VALUE;
- out->stdout_pipe = INVALID_HANDLE_VALUE;
- out->stderr_pipe = INVALID_HANDLE_VALUE;
-#else
- out->stdin_pipe = -1;
- out->stdout_pipe = -1;
- out->stderr_pipe = -1;
-#endif /* defined(_WIN32) */
-
- return out;
-}
-
-#ifndef _WIN32
-/** Invoked when a process that we've launched via tor_spawn_background() has
- * been found to have terminated.
- */
-static void
-process_handle_waitpid_cb(int status, void *arg)
-{
- process_handle_t *process_handle = arg;
-
- process_handle->waitpid_exit_status = status;
- clear_waitpid_callback(process_handle->waitpid_cb);
- if (process_handle->status == PROCESS_STATUS_RUNNING)
- process_handle->status = PROCESS_STATUS_NOTRUNNING;
- process_handle->waitpid_cb = 0;
-}
-#endif /* !defined(_WIN32) */
-
-/**
- * @name child-process states
- *
- * Each of these values represents a possible state that a child process can
- * be in. They're used to determine what to say when telling the parent how
- * far along we were before failure.
- *
- * @{
- */
-#define CHILD_STATE_INIT 0
-#define CHILD_STATE_PIPE 1
-#define CHILD_STATE_MAXFD 2
-#define CHILD_STATE_FORK 3
-#define CHILD_STATE_DUPOUT 4
-#define CHILD_STATE_DUPERR 5
-#define CHILD_STATE_DUPIN 6
-#define CHILD_STATE_CLOSEFD 7
-#define CHILD_STATE_EXEC 8
-#define CHILD_STATE_FAILEXEC 9
-/** @} */
-/**
- * Boolean. If true, then Tor may call execve or CreateProcess via
- * tor_spawn_background.
- **/
-static int may_spawn_background_process = 1;
-/**
- * Turn off may_spawn_background_process, so that all future calls to
- * tor_spawn_background are guaranteed to fail.
- **/
-void
-tor_disable_spawning_background_processes(void)
-{
- may_spawn_background_process = 0;
-}
-/** Start a program in the background. If <b>filename</b> contains a '/', then
- * it will be treated as an absolute or relative path. Otherwise, on
- * non-Windows systems, the system path will be searched for <b>filename</b>.
- * On Windows, only the current directory will be searched. Here, to search the
- * system path (as well as the application directory, current working
- * directory, and system directories), set filename to NULL.
- *
- * The strings in <b>argv</b> will be passed as the command line arguments of
- * the child program (following convention, argv[0] should normally be the
- * filename of the executable, and this must be the case if <b>filename</b> is
- * NULL). The last element of argv must be NULL. A handle to the child process
- * will be returned in process_handle (which must be non-NULL). Read
- * process_handle.status to find out if the process was successfully launched.
- * For convenience, process_handle.status is returned by this function.
- *
- * Some parts of this code are based on the POSIX subprocess module from
- * Python, and example code from
- * http://msdn.microsoft.com/en-us/library/ms682499%28v=vs.85%29.aspx.
- */
-int
-tor_spawn_background(const char *const filename, const char **argv,
- process_environment_t *env,
- process_handle_t **process_handle_out)
-{
- if (BUG(may_spawn_background_process == 0)) {
- /* We should never reach this point if we're forbidden to spawn
- * processes. Instead we should have caught the attempt earlier. */
- return PROCESS_STATUS_ERROR;
- }
-
-#ifdef _WIN32
- HANDLE stdout_pipe_read = NULL;
- HANDLE stdout_pipe_write = NULL;
- HANDLE stderr_pipe_read = NULL;
- HANDLE stderr_pipe_write = NULL;
- HANDLE stdin_pipe_read = NULL;
- HANDLE stdin_pipe_write = NULL;
- process_handle_t *process_handle;
- int status;
-
- STARTUPINFOA siStartInfo;
- BOOL retval = FALSE;
-
- SECURITY_ATTRIBUTES saAttr;
- char *joined_argv;
-
- saAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
- saAttr.bInheritHandle = TRUE;
- /* TODO: should we set explicit security attributes? (#2046, comment 5) */
- saAttr.lpSecurityDescriptor = NULL;
-
- /* Assume failure to start process */
- status = PROCESS_STATUS_ERROR;
-
- /* Set up pipe for stdout */
- if (!CreatePipe(&stdout_pipe_read, &stdout_pipe_write, &saAttr, 0)) {
- log_warn(LD_GENERAL,
- "Failed to create pipe for stdout communication with child process: %s",
- format_win32_error(GetLastError()));
- return status;
- }
- if (!SetHandleInformation(stdout_pipe_read, HANDLE_FLAG_INHERIT, 0)) {
- log_warn(LD_GENERAL,
- "Failed to configure pipe for stdout communication with child "
- "process: %s", format_win32_error(GetLastError()));
- return status;
- }
-
- /* Set up pipe for stderr */
- if (!CreatePipe(&stderr_pipe_read, &stderr_pipe_write, &saAttr, 0)) {
- log_warn(LD_GENERAL,
- "Failed to create pipe for stderr communication with child process: %s",
- format_win32_error(GetLastError()));
- return status;
- }
- if (!SetHandleInformation(stderr_pipe_read, HANDLE_FLAG_INHERIT, 0)) {
- log_warn(LD_GENERAL,
- "Failed to configure pipe for stderr communication with child "
- "process: %s", format_win32_error(GetLastError()));
- return status;
- }
-
- /* Set up pipe for stdin */
- if (!CreatePipe(&stdin_pipe_read, &stdin_pipe_write, &saAttr, 0)) {
- log_warn(LD_GENERAL,
- "Failed to create pipe for stdin communication with child process: %s",
- format_win32_error(GetLastError()));
- return status;
- }
- if (!SetHandleInformation(stdin_pipe_write, HANDLE_FLAG_INHERIT, 0)) {
- log_warn(LD_GENERAL,
- "Failed to configure pipe for stdin communication with child "
- "process: %s", format_win32_error(GetLastError()));
- return status;
- }
-
- /* Create the child process */
-
- /* Windows expects argv to be a whitespace delimited string, so join argv up
- */
- joined_argv = tor_join_win_cmdline(argv);
-
- process_handle = process_handle_new();
- process_handle->status = status;
-
- ZeroMemory(&(process_handle->pid), sizeof(PROCESS_INFORMATION));
- ZeroMemory(&siStartInfo, sizeof(STARTUPINFO));
- siStartInfo.cb = sizeof(STARTUPINFO);
- siStartInfo.hStdError = stderr_pipe_write;
- siStartInfo.hStdOutput = stdout_pipe_write;
- siStartInfo.hStdInput = stdin_pipe_read;
- siStartInfo.dwFlags |= STARTF_USESTDHANDLES;
-
- /* Create the child process */
-
- retval = CreateProcessA(filename, // module name
- joined_argv, // command line
- /* TODO: should we set explicit security attributes? (#2046, comment 5) */
- NULL, // process security attributes
- NULL, // primary thread security attributes
- TRUE, // handles are inherited
- /*(TODO: set CREATE_NEW CONSOLE/PROCESS_GROUP to make GetExitCodeProcess()
- * work?) */
- CREATE_NO_WINDOW, // creation flags
- (env==NULL) ? NULL : env->windows_environment_block,
- NULL, // use parent's current directory
- &siStartInfo, // STARTUPINFO pointer
- &(process_handle->pid)); // receives PROCESS_INFORMATION
-
- tor_free(joined_argv);
-
- if (!retval) {
- log_warn(LD_GENERAL,
- "Failed to create child process %s: %s", filename?filename:argv[0],
- format_win32_error(GetLastError()));
- tor_free(process_handle);
- } else {
- /* TODO: Close hProcess and hThread in process_handle->pid? */
- process_handle->stdout_pipe = stdout_pipe_read;
- process_handle->stderr_pipe = stderr_pipe_read;
- process_handle->stdin_pipe = stdin_pipe_write;
- status = process_handle->status = PROCESS_STATUS_RUNNING;
- }
-
- /* TODO: Close pipes on exit */
- *process_handle_out = process_handle;
- return status;
-#else /* !(defined(_WIN32)) */
- pid_t pid;
- int stdout_pipe[2];
- int stderr_pipe[2];
- int stdin_pipe[2];
- int fd, retval;
- process_handle_t *process_handle;
- int status;
-
- const char *error_message = SPAWN_ERROR_MESSAGE;
- size_t error_message_length;
-
- /* Represents where in the process of spawning the program is;
- this is used for printing out the error message */
- unsigned char child_state = CHILD_STATE_INIT;
-
- char hex_errno[HEX_ERRNO_SIZE + 2]; /* + 1 should be sufficient actually */
-
- static int max_fd = -1;
-
- status = PROCESS_STATUS_ERROR;
-
- /* We do the strlen here because strlen() is not signal handler safe,
- and we are not allowed to use unsafe functions between fork and exec */
- error_message_length = strlen(error_message);
-
- // child_state = CHILD_STATE_PIPE;
-
- /* Set up pipe for redirecting stdout, stderr, and stdin of child */
- retval = pipe(stdout_pipe);
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to set up pipe for stdout communication with child process: %s",
- strerror(errno));
- return status;
- }
-
- retval = pipe(stderr_pipe);
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to set up pipe for stderr communication with child process: %s",
- strerror(errno));
-
- close(stdout_pipe[0]);
- close(stdout_pipe[1]);
-
- return status;
- }
-
- retval = pipe(stdin_pipe);
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to set up pipe for stdin communication with child process: %s",
- strerror(errno));
-
- close(stdout_pipe[0]);
- close(stdout_pipe[1]);
- close(stderr_pipe[0]);
- close(stderr_pipe[1]);
-
- return status;
- }
-
- // child_state = CHILD_STATE_MAXFD;
-
-#ifdef _SC_OPEN_MAX
- if (-1 == max_fd) {
- max_fd = (int) sysconf(_SC_OPEN_MAX);
- if (max_fd == -1) {
- max_fd = DEFAULT_MAX_FD;
- log_warn(LD_GENERAL,
- "Cannot find maximum file descriptor, assuming %d", max_fd);
- }
- }
-#else /* !(defined(_SC_OPEN_MAX)) */
- max_fd = DEFAULT_MAX_FD;
-#endif /* defined(_SC_OPEN_MAX) */
-
- // child_state = CHILD_STATE_FORK;
-
- pid = fork();
- if (0 == pid) {
- /* In child */
-
-#if defined(HAVE_SYS_PRCTL_H) && defined(__linux__)
- /* Attempt to have the kernel issue a SIGTERM if the parent
- * goes away. Certain attributes of the binary being execve()ed
- * will clear this during the execve() call, but it's better
- * than nothing.
- */
- prctl(PR_SET_PDEATHSIG, SIGTERM);
-#endif /* defined(HAVE_SYS_PRCTL_H) && defined(__linux__) */
-
- child_state = CHILD_STATE_DUPOUT;
-
- /* Link child stdout to the write end of the pipe */
- retval = dup2(stdout_pipe[1], STDOUT_FILENO);
- if (-1 == retval)
- goto error;
-
- child_state = CHILD_STATE_DUPERR;
-
- /* Link child stderr to the write end of the pipe */
- retval = dup2(stderr_pipe[1], STDERR_FILENO);
- if (-1 == retval)
- goto error;
-
- child_state = CHILD_STATE_DUPIN;
-
- /* Link child stdin to the read end of the pipe */
- retval = dup2(stdin_pipe[0], STDIN_FILENO);
- if (-1 == retval)
- goto error;
-
- // child_state = CHILD_STATE_CLOSEFD;
-
- close(stderr_pipe[0]);
- close(stderr_pipe[1]);
- close(stdout_pipe[0]);
- close(stdout_pipe[1]);
- close(stdin_pipe[0]);
- close(stdin_pipe[1]);
-
- /* Close all other fds, including the read end of the pipe */
- /* XXX: We should now be doing enough FD_CLOEXEC setting to make
- * this needless. */
- for (fd = STDERR_FILENO + 1; fd < max_fd; fd++) {
- close(fd);
- }
-
- // child_state = CHILD_STATE_EXEC;
-
- /* Call the requested program. We need the cast because
- execvp doesn't define argv as const, even though it
- does not modify the arguments */
- if (env)
- execve(filename, (char *const *) argv, env->unixoid_environment_block);
- else {
- static char *new_env[] = { NULL };
- execve(filename, (char *const *) argv, new_env);
- }
-
- /* If we got here, the exec or open(/dev/null) failed */
-
- child_state = CHILD_STATE_FAILEXEC;
-
- error:
- {
- /* XXX: are we leaking fds from the pipe? */
- int n, err=0;
- ssize_t nbytes;
-
- n = format_helper_exit_status(child_state, errno, hex_errno);
-
- if (n >= 0) {
- /* Write the error message. GCC requires that we check the return
- value, but there is nothing we can do if it fails */
- /* TODO: Don't use STDOUT, use a pipe set up just for this purpose */
- nbytes = write(STDOUT_FILENO, error_message, error_message_length);
- err = (nbytes < 0);
- nbytes = write(STDOUT_FILENO, hex_errno, n);
- err += (nbytes < 0);
- }
-
- _exit(err?254:255); // exit ok: in child.
- }
-
- /* Never reached, but avoids compiler warning */
- return status; // LCOV_EXCL_LINE
- }
-
- /* In parent */
-
- if (-1 == pid) {
- log_warn(LD_GENERAL, "Failed to fork child process: %s", strerror(errno));
- close(stdin_pipe[0]);
- close(stdin_pipe[1]);
- close(stdout_pipe[0]);
- close(stdout_pipe[1]);
- close(stderr_pipe[0]);
- close(stderr_pipe[1]);
- return status;
- }
-
- process_handle = process_handle_new();
- process_handle->status = status;
- process_handle->pid = pid;
-
- /* TODO: If the child process forked but failed to exec, waitpid it */
-
- /* Return read end of the pipes to caller, and close write end */
- process_handle->stdout_pipe = stdout_pipe[0];
- retval = close(stdout_pipe[1]);
-
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to close write end of stdout pipe in parent process: %s",
- strerror(errno));
- }
-
- process_handle->waitpid_cb = set_waitpid_callback(pid,
- process_handle_waitpid_cb,
- process_handle);
-
- process_handle->stderr_pipe = stderr_pipe[0];
- retval = close(stderr_pipe[1]);
-
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to close write end of stderr pipe in parent process: %s",
- strerror(errno));
- }
-
- /* Return write end of the stdin pipe to caller, and close the read end */
- process_handle->stdin_pipe = stdin_pipe[1];
- retval = close(stdin_pipe[0]);
-
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to close read end of stdin pipe in parent process: %s",
- strerror(errno));
- }
-
- status = process_handle->status = PROCESS_STATUS_RUNNING;
- /* Set stdin/stdout/stderr pipes to be non-blocking */
- if (fcntl(process_handle->stdout_pipe, F_SETFL, O_NONBLOCK) < 0 ||
- fcntl(process_handle->stderr_pipe, F_SETFL, O_NONBLOCK) < 0 ||
- fcntl(process_handle->stdin_pipe, F_SETFL, O_NONBLOCK) < 0) {
- log_warn(LD_GENERAL, "Failed to set stderror/stdout/stdin pipes "
- "nonblocking in parent process: %s", strerror(errno));
- }
-
- *process_handle_out = process_handle;
- return status;
-#endif /* defined(_WIN32) */
-}
-
-/** Destroy all resources allocated by the process handle in
- * <b>process_handle</b>.
- * If <b>also_terminate_process</b> is true, also terminate the
- * process of the process handle. */
-MOCK_IMPL(void,
-tor_process_handle_destroy,(process_handle_t *process_handle,
- int also_terminate_process))
-{
- if (!process_handle)
- return;
-
- if (also_terminate_process) {
- if (tor_terminate_process(process_handle) < 0) {
- const char *errstr =
-#ifdef _WIN32
- format_win32_error(GetLastError());
-#else
- strerror(errno);
-#endif
- log_notice(LD_GENERAL, "Failed to terminate process with "
- "PID '%d' ('%s').", tor_process_get_pid(process_handle),
- errstr);
- } else {
- log_info(LD_GENERAL, "Terminated process with PID '%d'.",
- tor_process_get_pid(process_handle));
- }
- }
-
- process_handle->status = PROCESS_STATUS_NOTRUNNING;
-
-#ifdef _WIN32
- if (process_handle->stdout_pipe)
- CloseHandle(process_handle->stdout_pipe);
-
- if (process_handle->stderr_pipe)
- CloseHandle(process_handle->stderr_pipe);
-
- if (process_handle->stdin_pipe)
- CloseHandle(process_handle->stdin_pipe);
-#else /* !(defined(_WIN32)) */
- close(process_handle->stdout_pipe);
- close(process_handle->stderr_pipe);
- close(process_handle->stdin_pipe);
-
- clear_waitpid_callback(process_handle->waitpid_cb);
-#endif /* defined(_WIN32) */
-
- memset(process_handle, 0x0f, sizeof(process_handle_t));
- tor_free(process_handle);
-}
-
-/** Get the exit code of a process specified by <b>process_handle</b> and store
- * it in <b>exit_code</b>, if set to a non-NULL value. If <b>block</b> is set
- * to true, the call will block until the process has exited. Otherwise if
- * the process is still running, the function will return
- * PROCESS_EXIT_RUNNING, and exit_code will be left unchanged. Returns
- * PROCESS_EXIT_EXITED if the process did exit. If there is a failure,
- * PROCESS_EXIT_ERROR will be returned and the contents of exit_code (if
- * non-NULL) will be undefined. N.B. Under *nix operating systems, this will
- * probably not work in Tor, because waitpid() is called in main.c to reap any
- * terminated child processes.*/
-int
-tor_get_exit_code(process_handle_t *process_handle,
- int block, int *exit_code)
-{
-#ifdef _WIN32
- DWORD retval;
- BOOL success;
-
- if (block) {
- /* Wait for the process to exit */
- retval = WaitForSingleObject(process_handle->pid.hProcess, INFINITE);
- if (retval != WAIT_OBJECT_0) {
- log_warn(LD_GENERAL, "WaitForSingleObject() failed (%d): %s",
- (int)retval, format_win32_error(GetLastError()));
- return PROCESS_EXIT_ERROR;
- }
- } else {
- retval = WaitForSingleObject(process_handle->pid.hProcess, 0);
- if (WAIT_TIMEOUT == retval) {
- /* Process has not exited */
- return PROCESS_EXIT_RUNNING;
- } else if (retval != WAIT_OBJECT_0) {
- log_warn(LD_GENERAL, "WaitForSingleObject() failed (%d): %s",
- (int)retval, format_win32_error(GetLastError()));
- return PROCESS_EXIT_ERROR;
- }
- }
-
- if (exit_code != NULL) {
- success = GetExitCodeProcess(process_handle->pid.hProcess,
- (PDWORD)exit_code);
- if (!success) {
- log_warn(LD_GENERAL, "GetExitCodeProcess() failed: %s",
- format_win32_error(GetLastError()));
- return PROCESS_EXIT_ERROR;
- }
- }
-#else /* !(defined(_WIN32)) */
- int stat_loc;
- int retval;
-
- if (process_handle->waitpid_cb) {
- /* We haven't processed a SIGCHLD yet. */
- retval = waitpid(process_handle->pid, &stat_loc, block?0:WNOHANG);
- if (retval == process_handle->pid) {
- clear_waitpid_callback(process_handle->waitpid_cb);
- process_handle->waitpid_cb = NULL;
- process_handle->waitpid_exit_status = stat_loc;
- }
- } else {
- /* We already got a SIGCHLD for this process, and handled it. */
- retval = process_handle->pid;
- stat_loc = process_handle->waitpid_exit_status;
- }
-
- if (!block && 0 == retval) {
- /* Process has not exited */
- return PROCESS_EXIT_RUNNING;
- } else if (retval != process_handle->pid) {
- log_warn(LD_GENERAL, "waitpid() failed for PID %d: %s",
- (int)process_handle->pid, strerror(errno));
- return PROCESS_EXIT_ERROR;
- }
-
- if (!WIFEXITED(stat_loc)) {
- log_warn(LD_GENERAL, "Process %d did not exit normally",
- (int)process_handle->pid);
- return PROCESS_EXIT_ERROR;
- }
-
- if (exit_code != NULL)
- *exit_code = WEXITSTATUS(stat_loc);
-#endif /* defined(_WIN32) */
-
- return PROCESS_EXIT_EXITED;
-}
-
-#ifdef _WIN32
-/** Read from a handle <b>h</b> into <b>buf</b>, up to <b>count</b> bytes. If
- * <b>hProcess</b> is NULL, the function will return immediately if there is
- * nothing more to read. Otherwise <b>hProcess</b> should be set to the handle
- * to the process owning the <b>h</b>. In this case, the function will exit
- * only once the process has exited, or <b>count</b> bytes are read. Returns
- * the number of bytes read, or -1 on error. */
-ssize_t
-tor_read_all_handle(HANDLE h, char *buf, size_t count,
- const process_handle_t *process)
-{
- size_t numread = 0;
- BOOL retval;
- DWORD byte_count;
- BOOL process_exited = FALSE;
-
- if (count > SIZE_T_CEILING || count > SSIZE_MAX)
- return -1;
-
- while (numread < count) {
- /* Check if there is anything to read */
- retval = PeekNamedPipe(h, NULL, 0, NULL, &byte_count, NULL);
- if (!retval) {
- log_warn(LD_GENERAL,
- "Failed to peek from handle: %s",
- format_win32_error(GetLastError()));
- return -1;
- } else if (0 == byte_count) {
- /* Nothing available: process exited or it is busy */
-
- /* Exit if we don't know whether the process is running */
- if (NULL == process)
- break;
-
- /* The process exited and there's nothing left to read from it */
- if (process_exited)
- break;
-
- /* If process is not running, check for output one more time in case
- it wrote something after the peek was performed. Otherwise keep on
- waiting for output */
- tor_assert(process != NULL);
- byte_count = WaitForSingleObject(process->pid.hProcess, 0);
- if (WAIT_TIMEOUT != byte_count)
- process_exited = TRUE;
-
- continue;
- }
-
- /* There is data to read; read it */
- retval = ReadFile(h, buf+numread, count-numread, &byte_count, NULL);
- tor_assert(byte_count + numread <= count);
- if (!retval) {
- log_warn(LD_GENERAL, "Failed to read from handle: %s",
- format_win32_error(GetLastError()));
- return -1;
- } else if (0 == byte_count) {
- /* End of file */
- break;
- }
- numread += byte_count;
- }
- return (ssize_t)numread;
-}
-#else /* !(defined(_WIN32)) */
-/** Read from a handle <b>fd</b> into <b>buf</b>, up to <b>count</b> bytes. If
- * <b>process</b> is NULL, the function will return immediately if there is
- * nothing more to read. Otherwise data will be read until end of file, or
- * <b>count</b> bytes are read. Returns the number of bytes read, or -1 on
- * error. Sets <b>eof</b> to true if <b>eof</b> is not NULL and the end of the
- * file has been reached. */
-ssize_t
-tor_read_all_handle(int fd, char *buf, size_t count,
- const process_handle_t *process,
- int *eof)
-{
- size_t numread = 0;
- ssize_t result;
-
- if (eof)
- *eof = 0;
-
- if (count > SIZE_T_CEILING || count > SSIZE_MAX)
- return -1;
-
- while (numread < count) {
- result = read(fd, buf+numread, count-numread);
-
- if (result == 0) {
- log_debug(LD_GENERAL, "read() reached end of file");
- if (eof)
- *eof = 1;
- break;
- } else if (result < 0 && errno == EAGAIN) {
- if (process)
- continue;
- else
- break;
- } else if (result < 0) {
- log_warn(LD_GENERAL, "read() failed: %s", strerror(errno));
- return -1;
- }
-
- numread += result;
- }
-
- log_debug(LD_GENERAL, "read() read %d bytes from handle", (int)numread);
- return (ssize_t)numread;
-}
-#endif /* defined(_WIN32) */
-
-/** Read from stdout of a process until the process exits. */
-ssize_t
-tor_read_all_from_process_stdout(const process_handle_t *process_handle,
- char *buf, size_t count)
-{
-#ifdef _WIN32
- return tor_read_all_handle(process_handle->stdout_pipe, buf, count,
- process_handle);
-#else
- return tor_read_all_handle(process_handle->stdout_pipe, buf, count,
- process_handle, NULL);
-#endif /* defined(_WIN32) */
-}
-
-/** Read from stdout of a process until the process exits. */
-ssize_t
-tor_read_all_from_process_stderr(const process_handle_t *process_handle,
- char *buf, size_t count)
-{
-#ifdef _WIN32
- return tor_read_all_handle(process_handle->stderr_pipe, buf, count,
- process_handle);
-#else
- return tor_read_all_handle(process_handle->stderr_pipe, buf, count,
- process_handle, NULL);
-#endif /* defined(_WIN32) */
-}
-
-/** Return a string corresponding to <b>stream_status</b>. */
-const char *
-stream_status_to_string(enum stream_status stream_status)
-{
- switch (stream_status) {
- case IO_STREAM_OKAY:
- return "okay";
- case IO_STREAM_EAGAIN:
- return "temporarily unavailable";
- case IO_STREAM_TERM:
- return "terminated";
- case IO_STREAM_CLOSED:
- return "closed";
- default:
- tor_fragile_assert();
- return "unknown";
- }
-}
-
-/** Split buf into lines, and add to smartlist. The buffer <b>buf</b> will be
- * modified. The resulting smartlist will consist of pointers to buf, so there
- * is no need to free the contents of sl. <b>buf</b> must be a NUL-terminated
- * string. <b>len</b> should be set to the length of the buffer excluding the
- * NUL. Non-printable characters (including NUL) will be replaced with "." */
-int
-tor_split_lines(smartlist_t *sl, char *buf, int len)
-{
- /* Index in buf of the start of the current line */
- int start = 0;
- /* Index in buf of the current character being processed */
- int cur = 0;
- /* Are we currently in a line */
- char in_line = 0;
-
- /* Loop over string */
- while (cur < len) {
- /* Loop until end of line or end of string */
- for (; cur < len; cur++) {
- if (in_line) {
- if ('\r' == buf[cur] || '\n' == buf[cur]) {
- /* End of line */
- buf[cur] = '\0';
- /* Point cur to the next line */
- cur++;
- /* Line starts at start and ends with a nul */
- break;
- } else {
- if (!TOR_ISPRINT(buf[cur]))
- buf[cur] = '.';
- }
- } else {
- if ('\r' == buf[cur] || '\n' == buf[cur]) {
- /* Skip leading vertical space */
- ;
- } else {
- in_line = 1;
- start = cur;
- if (!TOR_ISPRINT(buf[cur]))
- buf[cur] = '.';
- }
- }
- }
- /* We are at the end of the line or end of string. If in_line is true there
- * is a line which starts at buf+start and ends at a NUL. cur points to
- * the character after the NUL. */
- if (in_line)
- smartlist_add(sl, (void *)(buf+start));
- in_line = 0;
- }
- return smartlist_len(sl);
-}
-
-#ifdef _WIN32
-
-/** Return a smartlist containing lines outputted from
- * <b>handle</b>. Return NULL on error, and set
- * <b>stream_status_out</b> appropriately. */
-MOCK_IMPL(smartlist_t *,
-tor_get_lines_from_handle, (HANDLE *handle,
- enum stream_status *stream_status_out))
-{
- int pos;
- char stdout_buf[600] = {0};
- smartlist_t *lines = NULL;
-
- tor_assert(stream_status_out);
-
- *stream_status_out = IO_STREAM_TERM;
-
- pos = tor_read_all_handle(handle, stdout_buf, sizeof(stdout_buf) - 1, NULL);
- if (pos < 0) {
- *stream_status_out = IO_STREAM_TERM;
- return NULL;
- }
- if (pos == 0) {
- *stream_status_out = IO_STREAM_EAGAIN;
- return NULL;
- }
-
- /* End with a null even if there isn't a \r\n at the end */
- /* TODO: What if this is a partial line? */
- stdout_buf[pos] = '\0';
-
- /* Split up the buffer */
- lines = smartlist_new();
- tor_split_lines(lines, stdout_buf, pos);
-
- /* Currently 'lines' is populated with strings residing on the
- stack. Replace them with their exact copies on the heap: */
- SMARTLIST_FOREACH(lines, char *, line,
- SMARTLIST_REPLACE_CURRENT(lines, line, tor_strdup(line)));
-
- *stream_status_out = IO_STREAM_OKAY;
-
- return lines;
-}
-
-#else /* !(defined(_WIN32)) */
-
-/** Return a smartlist containing lines outputted from
- * <b>fd</b>. Return NULL on error, and set
- * <b>stream_status_out</b> appropriately. */
-MOCK_IMPL(smartlist_t *,
-tor_get_lines_from_handle, (int fd, enum stream_status *stream_status_out))
-{
- enum stream_status stream_status;
- char stdout_buf[400];
- smartlist_t *lines = NULL;
-
- while (1) {
- memset(stdout_buf, 0, sizeof(stdout_buf));
-
- stream_status = get_string_from_pipe(fd,
- stdout_buf, sizeof(stdout_buf) - 1);
- if (stream_status != IO_STREAM_OKAY)
- goto done;
-
- if (!lines) lines = smartlist_new();
- smartlist_split_string(lines, stdout_buf, "\n", 0, 0);
- }
-
- done:
- *stream_status_out = stream_status;
- return lines;
-}
-
-#endif /* defined(_WIN32) */
-
-/** Reads from <b>fd</b> and stores input in <b>buf_out</b> making
- * sure it's below <b>count</b> bytes.
- * If the string has a trailing newline, we strip it off.
- *
- * This function is specifically created to handle input from managed
- * proxies, according to the pluggable transports spec. Make sure it
- * fits your needs before using it.
- *
- * Returns:
- * IO_STREAM_CLOSED: If the stream is closed.
- * IO_STREAM_EAGAIN: If there is nothing to read and we should check back
- * later.
- * IO_STREAM_TERM: If something is wrong with the stream.
- * IO_STREAM_OKAY: If everything went okay and we got a string
- * in <b>buf_out</b>. */
-enum stream_status
-get_string_from_pipe(int fd, char *buf_out, size_t count)
-{
- ssize_t ret;
-
- tor_assert(count <= INT_MAX);
-
- ret = read(fd, buf_out, count);
-
- if (ret == 0)
- return IO_STREAM_CLOSED;
- else if (ret < 0 && errno == EAGAIN)
- return IO_STREAM_EAGAIN;
- else if (ret < 0)
- return IO_STREAM_TERM;
-
- if (buf_out[ret - 1] == '\n') {
- /* Remove the trailing newline */
- buf_out[ret - 1] = '\0';
- } else
- buf_out[ret] = '\0';
-
- return IO_STREAM_OKAY;
-}
diff --git a/src/lib/process/subprocess.h b/src/lib/process/subprocess.h
deleted file mode 100644
index 5b4318ef2b..0000000000
--- a/src/lib/process/subprocess.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Copyright (c) 2003-2004, Roger Dingledine
- * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
- * Copyright (c) 2007-2018, The Tor Project, Inc. */
-/* See LICENSE for licensing information */
-
-/**
- * \file subprocess.h
- * \brief Header for subprocess.c
- **/
-
-#ifndef TOR_SUBPROCESS_H
-#define TOR_SUBPROCESS_H
-
-#include "lib/cc/torint.h"
-#include "lib/testsupport/testsupport.h"
-#include <stddef.h>
-#ifdef _WIN32
-#include <windows.h>
-#endif
-
-struct smartlist_t;
-
-void tor_disable_spawning_background_processes(void);
-
-typedef struct process_handle_t process_handle_t;
-struct process_environment_t;
-int tor_spawn_background(const char *const filename, const char **argv,
- struct process_environment_t *env,
- process_handle_t **process_handle_out);
-
-#define SPAWN_ERROR_MESSAGE "ERR: Failed to spawn background process - code "
-
-/** Status of an I/O stream. */
-enum stream_status {
- IO_STREAM_OKAY,
- IO_STREAM_EAGAIN,
- IO_STREAM_TERM,
- IO_STREAM_CLOSED
-};
-
-const char *stream_status_to_string(enum stream_status stream_status);
-
-enum stream_status get_string_from_pipe(int fd, char *buf, size_t count);
-
-/* Values of process_handle_t.status. */
-#define PROCESS_STATUS_NOTRUNNING 0
-#define PROCESS_STATUS_RUNNING 1
-#define PROCESS_STATUS_ERROR -1
-
-#ifdef SUBPROCESS_PRIVATE
-struct waitpid_callback_t;
-
-/** Structure to represent the state of a process with which Tor is
- * communicating. The contents of this structure are private to util.c */
-struct process_handle_t {
- /** One of the PROCESS_STATUS_* values */
- int status;
-#ifdef _WIN32
- HANDLE stdin_pipe;
- HANDLE stdout_pipe;
- HANDLE stderr_pipe;
- PROCESS_INFORMATION pid;
-#else /* !(defined(_WIN32)) */
- int stdin_pipe;
- int stdout_pipe;
- int stderr_pipe;
- pid_t pid;
- /** If the process has not given us a SIGCHLD yet, this has the
- * waitpid_callback_t that gets invoked once it has. Otherwise this
- * contains NULL. */
- struct waitpid_callback_t *waitpid_cb;
- /** The exit status reported by waitpid. */
- int waitpid_exit_status;
-#endif /* defined(_WIN32) */
-};
-#endif /* defined(SUBPROCESS_PRIVATE) */
-
-/* Return values of tor_get_exit_code() */
-#define PROCESS_EXIT_RUNNING 1
-#define PROCESS_EXIT_EXITED 0
-#define PROCESS_EXIT_ERROR -1
-int tor_get_exit_code(process_handle_t *process_handle,
- int block, int *exit_code);
-int tor_split_lines(struct smartlist_t *sl, char *buf, int len);
-#ifdef _WIN32
-ssize_t tor_read_all_handle(HANDLE h, char *buf, size_t count,
- const process_handle_t *process);
-#else
-ssize_t tor_read_all_handle(int fd, char *buf, size_t count,
- const process_handle_t *process,
- int *eof);
-#endif /* defined(_WIN32) */
-ssize_t tor_read_all_from_process_stdout(
- const process_handle_t *process_handle, char *buf, size_t count);
-ssize_t tor_read_all_from_process_stderr(
- const process_handle_t *process_handle, char *buf, size_t count);
-char *tor_join_win_cmdline(const char *argv[]);
-
-int tor_process_get_pid(process_handle_t *process_handle);
-#ifdef _WIN32
-HANDLE tor_process_get_stdout_pipe(process_handle_t *process_handle);
-#else
-int tor_process_get_stdout_pipe(process_handle_t *process_handle);
-#endif
-
-#ifdef _WIN32
-MOCK_DECL(struct smartlist_t *, tor_get_lines_from_handle,(HANDLE *handle,
- enum stream_status *stream_status));
-#else
-MOCK_DECL(struct smartlist_t *, tor_get_lines_from_handle,(int fd,
- enum stream_status *stream_status));
-#endif /* defined(_WIN32) */
-
-int tor_terminate_process(process_handle_t *process_handle);
-
-MOCK_DECL(void, tor_process_handle_destroy,(process_handle_t *process_handle,
- int also_terminate_process));
-
-#ifdef SUBPROCESS_PRIVATE
-/* Prototypes for private functions only used by util.c (and unit tests) */
-
-#ifndef _WIN32
-STATIC int format_helper_exit_status(unsigned char child_state,
- int saved_errno, char *hex_errno);
-
-/* Space for hex values of child state, a slash, saved_errno (with
- leading minus) and newline (no null) */
-#define HEX_ERRNO_SIZE (sizeof(char) * 2 + 1 + \
- 1 + sizeof(int) * 2 + 1)
-#endif /* !defined(_WIN32) */
-
-#endif /* defined(SUBPROCESS_PRIVATE) */
-
-#endif
diff --git a/src/lib/process/waitpid.c b/src/lib/process/waitpid.c
index 32ba4530da..46d30bf50e 100644
--- a/src/lib/process/waitpid.c
+++ b/src/lib/process/waitpid.c
@@ -16,7 +16,7 @@
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
#include "lib/malloc/malloc.h"
-#include "ht.h"
+#include "ext/ht.h"
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
diff --git a/src/lib/process/winprocess_sys.c b/src/lib/process/winprocess_sys.c
new file mode 100644
index 0000000000..ef66f8bfb1
--- /dev/null
+++ b/src/lib/process/winprocess_sys.c
@@ -0,0 +1,64 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file winprocess_sys.c
+ * \brief Subsystem object for windows process setup.
+ **/
+
+#include "orconfig.h"
+#include "lib/subsys/subsys.h"
+#include "lib/process/winprocess_sys.h"
+
+#include <stdbool.h>
+#include <stddef.h>
+
+#ifdef _WIN32
+#include <windows.h>
+
+#define WINPROCESS_SYS_ENABLED true
+
+static int
+subsys_winprocess_initialize(void)
+{
+#ifndef HeapEnableTerminationOnCorruption
+#define HeapEnableTerminationOnCorruption 1
+#endif
+
+ /* On heap corruption, just give up; don't try to play along. */
+ HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0);
+
+ /* SetProcessDEPPolicy is only supported on 32-bit Windows.
+ * (On 64-bit Windows it always fails, and some compilers don't like the
+ * PSETDEP cast.)
+ * 32-bit Windows defines _WIN32.
+ * 64-bit Windows defines _WIN32 and _WIN64. */
+#ifndef _WIN64
+ /* Call SetProcessDEPPolicy to permanently enable DEP.
+ The function will not resolve on earlier versions of Windows,
+ and failure is not dangerous. */
+ HMODULE hMod = GetModuleHandleA("Kernel32.dll");
+ if (hMod) {
+ typedef BOOL (WINAPI *PSETDEP)(DWORD);
+ PSETDEP setdeppolicy = (PSETDEP)GetProcAddress(hMod,
+ "SetProcessDEPPolicy");
+ if (setdeppolicy) {
+ /* PROCESS_DEP_ENABLE | PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION */
+ setdeppolicy(3);
+ }
+ }
+#endif /* !defined(_WIN64) */
+
+ return 0;
+}
+#else /* !defined(_WIN32) */
+#define WINPROCESS_SYS_ENABLED false
+#define subsys_winprocess_initialize NULL
+#endif /* defined(_WIN32) */
+
+const subsys_fns_t sys_winprocess = {
+ .name = "winprocess",
+ .level = -100,
+ .supported = WINPROCESS_SYS_ENABLED,
+ .initialize = subsys_winprocess_initialize,
+};
diff --git a/src/lib/process/winprocess_sys.h b/src/lib/process/winprocess_sys.h
new file mode 100644
index 0000000000..cb096e0c92
--- /dev/null
+++ b/src/lib/process/winprocess_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file winprocess_sys.h
+ * \brief Declare subsystem object for winprocess.c
+ **/
+
+#ifndef TOR_WINPROCESS_SYS_H
+#define TOR_WINPROCESS_SYS_H
+
+extern const struct subsys_fns_t sys_winprocess;
+
+#endif /* !defined(TOR_WINPROCESS_SYS_H) */
diff --git a/src/lib/sandbox/.may_include b/src/lib/sandbox/.may_include
index 84906dfb3d..853dae7880 100644
--- a/src/lib/sandbox/.may_include
+++ b/src/lib/sandbox/.may_include
@@ -5,11 +5,10 @@ lib/container/*.h
lib/err/*.h
lib/log/*.h
lib/malloc/*.h
-lib/net/*.h
lib/sandbox/*.h
lib/sandbox/*.inc
lib/string/*.h
-ht.h
-siphash.h
-tor_queue.h
+ext/ht.h
+ext/siphash.h
+ext/tor_queue.h
diff --git a/src/lib/sandbox/sandbox.c b/src/lib/sandbox/sandbox.c
index 48e37ba127..ea738b273e 100644
--- a/src/lib/sandbox/sandbox.c
+++ b/src/lib/sandbox/sandbox.c
@@ -38,13 +38,12 @@
#include "lib/err/torerr.h"
#include "lib/log/log.h"
#include "lib/cc/torint.h"
-#include "lib/net/resolve.h"
#include "lib/malloc/malloc.h"
#include "lib/string/scanf.h"
-#include "tor_queue.h"
-#include "ht.h"
-#include "siphash.h"
+#include "ext/tor_queue.h"
+#include "ext/ht.h"
+#include "ext/siphash.h"
#define DEBUGGING_CLOSE
@@ -222,6 +221,7 @@ static int filter_nopar_gen[] = {
#ifdef __NR_setrlimit
SCMP_SYS(setrlimit),
#endif
+ SCMP_SYS(shutdown),
#ifdef __NR_sigaltstack
SCMP_SYS(sigaltstack),
#endif
@@ -1552,7 +1552,6 @@ install_syscall_filter(sandbox_cfg_t* cfg)
// marking the sandbox as active
sandbox_active = 1;
- tor_make_getaddrinfo_cache_active();
end:
seccomp_release(ctx);
@@ -1799,8 +1798,4 @@ sandbox_is_active(void)
return 0;
}
-void
-sandbox_disable_getaddrinfo_cache(void)
-{
-}
#endif /* !defined(USE_LIBSECCOMP) */
diff --git a/src/lib/smartlist_core/.may_include b/src/lib/smartlist_core/.may_include
index a8507761a4..2f0c8d341e 100644
--- a/src/lib/smartlist_core/.may_include
+++ b/src/lib/smartlist_core/.may_include
@@ -4,4 +4,4 @@ lib/malloc/*.h
lib/err/*.h
lib/string/*.h
lib/smartlist_core/*.h
-lib/testsupport/testsupport.h
+lib/testsupport/*.h
diff --git a/src/lib/string/.may_include b/src/lib/string/.may_include
index ec5c769831..1fb9127f19 100644
--- a/src/lib/string/.may_include
+++ b/src/lib/string/.may_include
@@ -6,5 +6,5 @@ lib/malloc/*.h
lib/ctime/*.h
lib/string/*.h
-strlcat.c
-strlcpy.c
+ext/strlcat.c
+ext/strlcpy.c
diff --git a/src/lib/string/compat_string.c b/src/lib/string/compat_string.c
index eae82fdae0..b3f1e0fd96 100644
--- a/src/lib/string/compat_string.c
+++ b/src/lib/string/compat_string.c
@@ -14,10 +14,10 @@
/* Inline the strl functions if the platform doesn't have them. */
#ifndef HAVE_STRLCPY
-#include "strlcpy.c"
+#include "ext/strlcpy.c"
#endif
#ifndef HAVE_STRLCAT
-#include "strlcat.c"
+#include "ext/strlcat.c"
#endif
#include <stdlib.h>
diff --git a/src/lib/string/util_string.c b/src/lib/string/util_string.c
index b2b85d151d..e76e73046f 100644
--- a/src/lib/string/util_string.c
+++ b/src/lib/string/util_string.c
@@ -541,3 +541,16 @@ string_is_utf8(const char *str, size_t len)
}
return true;
}
+
+/** As string_is_utf8(), but returns false if the string begins with a UTF-8
+ * byte order mark (BOM).
+ */
+int
+string_is_utf8_no_bom(const char *str, size_t len)
+{
+ if (len >= 3 && (!strcmpstart(str, "\uFEFF") ||
+ !strcmpstart(str, "\uFFFE"))) {
+ return false;
+ }
+ return string_is_utf8(str, len);
+}
diff --git a/src/lib/string/util_string.h b/src/lib/string/util_string.h
index 746ece0d33..99467a27c3 100644
--- a/src/lib/string/util_string.h
+++ b/src/lib/string/util_string.h
@@ -53,5 +53,6 @@ const char *find_str_at_start_of_line(const char *haystack,
int string_is_C_identifier(const char *string);
int string_is_utf8(const char *str, size_t len);
+int string_is_utf8_no_bom(const char *str, size_t len);
#endif /* !defined(TOR_UTIL_STRING_H) */
diff --git a/src/lib/subsys/.may_include b/src/lib/subsys/.may_include
new file mode 100644
index 0000000000..2b06e8519c
--- /dev/null
+++ b/src/lib/subsys/.may_include
@@ -0,0 +1 @@
+orconfig.h
diff --git a/src/lib/subsys/include.am b/src/lib/subsys/include.am
new file mode 100644
index 0000000000..4741126b14
--- /dev/null
+++ b/src/lib/subsys/include.am
@@ -0,0 +1,3 @@
+
+noinst_HEADERS += \
+ src/lib/subsys/subsys.h
diff --git a/src/lib/subsys/subsys.h b/src/lib/subsys/subsys.h
new file mode 100644
index 0000000000..2452ec6e2f
--- /dev/null
+++ b/src/lib/subsys/subsys.h
@@ -0,0 +1,95 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef TOR_SUBSYS_T
+#define TOR_SUBSYS_T
+
+#include <stdbool.h>
+
+struct dispatch_connector_t;
+
+/**
+ * A subsystem is a part of Tor that is initialized, shut down, configured,
+ * and connected to other parts of Tor.
+ *
+ * All callbacks are optional -- if a callback is set to NULL, the subsystem
+ * manager will treat it as a no-op.
+ *
+ * You should use c99 named-field initializers with this structure: we
+ * will be adding more fields, often in the middle of the structure.
+ **/
+typedef struct subsys_fns_t {
+ /**
+ * The name of this subsystem. It should be a programmer-readable
+ * identifier.
+ **/
+ const char *name;
+
+ /**
+ * Whether this subsystem is supported -- that is, whether it is compiled
+ * into Tor. For most subsystems, this should be true.
+ **/
+ bool supported;
+
+ /**
+ * The 'initialization level' for the subsystem. It should run from -100
+ * through +100. The subsystems are initialized from lowest level to
+ * highest, and shut down from highest level to lowest.
+ **/
+ int level;
+
+ /**
+ * Initialize any global components of this subsystem.
+ *
+ * This function MAY rely on any lower-level subsystem being initialized.
+ *
+ * This function MUST NOT rely on any runtime configuration information;
+ * it is only for global state or pre-configuration state.
+ *
+ * (If you need to do any setup that depends on configuration, you'll need
+ * to declare a configuration callback. (Not yet designed))
+ *
+ * This function MUST NOT have any parts that can fail.
+ **/
+ int (*initialize)(void);
+
+ /**
+ * Connect a subsystem to the message dispatch system.
+ **/
+ int (*add_pubsub)(struct dispatch_connector_t *);
+
+ /**
+ * Perform any necessary pre-fork cleanup. This function may not fail.
+ */
+ void (*prefork)(void);
+
+ /**
+ * Perform any necessary post-fork setup. This function may not fail.
+ */
+ void (*postfork)(void);
+
+ /**
+ * Free any thread-local resources held by this subsystem. Called before
+ * the thread exits.
+ */
+ void (*thread_cleanup)(void);
+
+ /**
+ * Free all resources held by this subsystem.
+ *
+ * This function is not allowed to fail.
+ **/
+ void (*shutdown)(void);
+
+} subsys_fns_t;
+
+#define MIN_SUBSYS_LEVEL -100
+#define MAX_SUBSYS_LEVEL 100
+
+/* All tor "libraries" (in src/libs) should have a subsystem level equal to or
+ * less than this value. */
+#define SUBSYS_LEVEL_LIBS -10
+
+#endif
diff --git a/src/lib/term/.may_include b/src/lib/term/.may_include
index c93a06e59e..306fa57b7a 100644
--- a/src/lib/term/.may_include
+++ b/src/lib/term/.may_include
@@ -5,5 +5,4 @@ lib/log/*.h
lib/term/*.h
lib/malloc/*.h
-# From src/ext
-tor_readpassphrase.h
+ext/tor_readpassphrase.h
diff --git a/src/lib/term/getpass.c b/src/lib/term/getpass.c
index 27a27179b6..a473fb765b 100644
--- a/src/lib/term/getpass.c
+++ b/src/lib/term/getpass.c
@@ -36,7 +36,7 @@ SecureZeroMemory(PVOID ptr, SIZE_T cnt)
#elif defined(HAVE_READPASSPHRASE_H)
#include <readpassphrase.h>
#else
-#include "tor_readpassphrase.h"
+#include "ext/tor_readpassphrase.h"
#endif /* defined(_WIN32) || ... */
#include <stdlib.h>
diff --git a/src/lib/thread/.may_include b/src/lib/thread/.may_include
index 93ad0cd734..02711348c5 100644
--- a/src/lib/thread/.may_include
+++ b/src/lib/thread/.may_include
@@ -2,5 +2,7 @@ orconfig.h
lib/cc/*.h
lib/lock/*.h
lib/log/*.h
+lib/subsys/*.h
lib/testsupport/*.h
lib/thread/*.h
+lib/wallclock/*.h
diff --git a/src/lib/thread/compat_pthreads.c b/src/lib/thread/compat_pthreads.c
index 934067e4c1..e5c8805ddc 100644
--- a/src/lib/thread/compat_pthreads.c
+++ b/src/lib/thread/compat_pthreads.c
@@ -12,6 +12,7 @@
#include "orconfig.h"
#include "lib/thread/threads.h"
+#include "lib/wallclock/timeval.h"
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
diff --git a/src/lib/thread/compat_threads.c b/src/lib/thread/compat_threads.c
index 7f1970af45..0b466da212 100644
--- a/src/lib/thread/compat_threads.c
+++ b/src/lib/thread/compat_threads.c
@@ -14,9 +14,11 @@
#include "orconfig.h"
#include <stdlib.h>
#include "lib/thread/threads.h"
+#include "lib/thread/thread_sys.h"
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
+#include "lib/subsys/subsys.h"
#include <string.h>
@@ -109,3 +111,17 @@ atomic_counter_exchange(atomic_counter_t *counter, size_t newval)
return oldval;
}
#endif /* !defined(HAVE_WORKING_STDATOMIC) */
+
+static int
+subsys_threads_initialize(void)
+{
+ tor_threads_init();
+ return 0;
+}
+
+const subsys_fns_t sys_threads = {
+ .name = "threads",
+ .supported = true,
+ .level = -95,
+ .initialize = subsys_threads_initialize,
+};
diff --git a/src/lib/thread/include.am b/src/lib/thread/include.am
index 9ec23d166e..695795a2c8 100644
--- a/src/lib/thread/include.am
+++ b/src/lib/thread/include.am
@@ -23,5 +23,6 @@ src_lib_libtor_thread_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
src_lib_libtor_thread_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
noinst_HEADERS += \
- src/lib/thread/threads.h \
- src/lib/thread/numcpus.h
+ src/lib/thread/numcpus.h \
+ src/lib/thread/thread_sys.h \
+ src/lib/thread/threads.h
diff --git a/src/lib/thread/thread_sys.h b/src/lib/thread/thread_sys.h
new file mode 100644
index 0000000000..984abe88e8
--- /dev/null
+++ b/src/lib/thread/thread_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file threads_sys.h
+ * \brief Declare subsystem object for threads library
+ **/
+
+#ifndef TOR_THREADS_SYS_H
+#define TOR_THREADS_SYS_H
+
+extern const struct subsys_fns_t sys_threads;
+
+#endif /* !defined(TOR_THREADS_SYS_H) */
diff --git a/src/lib/time/.may_include b/src/lib/time/.may_include
index 2c7e37a836..40a18805ac 100644
--- a/src/lib/time/.may_include
+++ b/src/lib/time/.may_include
@@ -4,6 +4,7 @@ lib/cc/*.h
lib/err/*.h
lib/intmath/*.h
lib/log/*.h
+lib/subsys/*.h
lib/time/*.h
lib/wallclock/*.h
diff --git a/src/lib/time/include.am b/src/lib/time/include.am
index a3f93a3744..dae16f49ac 100644
--- a/src/lib/time/include.am
+++ b/src/lib/time/include.am
@@ -7,6 +7,7 @@ endif
src_lib_libtor_time_a_SOURCES = \
src/lib/time/compat_time.c \
+ src/lib/time/time_sys.c \
src/lib/time/tvdiff.c
src_lib_libtor_time_testing_a_SOURCES = \
@@ -16,4 +17,5 @@ src_lib_libtor_time_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
noinst_HEADERS += \
src/lib/time/compat_time.h \
+ src/lib/time/time_sys.h \
src/lib/time/tvdiff.h
diff --git a/src/lib/time/time_sys.c b/src/lib/time/time_sys.c
new file mode 100644
index 0000000000..b29ca35e69
--- /dev/null
+++ b/src/lib/time/time_sys.c
@@ -0,0 +1,26 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file time_sys.c
+ * \brief Subsystem object for monotime setup.
+ **/
+
+#include "orconfig.h"
+#include "lib/subsys/subsys.h"
+#include "lib/time/time_sys.h"
+#include "lib/time/compat_time.h"
+
+static int
+subsys_time_initialize(void)
+{
+ monotime_init();
+ return 0;
+}
+
+const subsys_fns_t sys_time = {
+ .name = "time",
+ .level = -90,
+ .supported = true,
+ .initialize = subsys_time_initialize,
+};
diff --git a/src/lib/time/time_sys.h b/src/lib/time/time_sys.h
new file mode 100644
index 0000000000..0f1aebc268
--- /dev/null
+++ b/src/lib/time/time_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file log_time.h
+ * \brief Declare subsystem object for the time module.
+ **/
+
+#ifndef TOR_TIME_SYS_H
+#define TOR_TIME_SYS_H
+
+extern const struct subsys_fns_t sys_time;
+
+#endif /* !defined(TOR_TIME_SYS_H) */
diff --git a/src/lib/tls/.may_include b/src/lib/tls/.may_include
index 2840e590b8..c550bde024 100644
--- a/src/lib/tls/.may_include
+++ b/src/lib/tls/.may_include
@@ -1,6 +1,7 @@
orconfig.h
lib/arch/*.h
+lib/buf/*.h
lib/cc/*.h
lib/container/*.h
lib/crypt_ops/*.h
@@ -11,7 +12,7 @@ lib/log/*.h
lib/malloc/*.h
lib/net/*.h
lib/string/*.h
-lib/testsupport/testsupport.h
+lib/subsys/*.h
+lib/testsupport/*.h
lib/tls/*.h
-
-ciphers.inc
+lib/tls/*.inc
diff --git a/src/lib/tls/buffers_tls.c b/src/lib/tls/buffers_tls.c
index 69ae4f7fc0..b4059292ea 100644
--- a/src/lib/tls/buffers_tls.c
+++ b/src/lib/tls/buffers_tls.c
@@ -12,7 +12,7 @@
#define BUFFERS_PRIVATE
#include "orconfig.h"
#include <stddef.h>
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/tls/buffers_tls.h"
#include "lib/cc/torint.h"
#include "lib/log/log.h"
diff --git a/src/lib/tls/include.am b/src/lib/tls/include.am
index a664b29fb2..1817739eef 100644
--- a/src/lib/tls/include.am
+++ b/src/lib/tls/include.am
@@ -36,5 +36,6 @@ noinst_HEADERS += \
src/lib/tls/tortls.h \
src/lib/tls/tortls_internal.h \
src/lib/tls/tortls_st.h \
+ src/lib/tls/tortls_sys.h \
src/lib/tls/x509.h \
src/lib/tls/x509_internal.h
diff --git a/src/lib/tls/tortls.c b/src/lib/tls/tortls.c
index 56f70bc371..654cacacf7 100644
--- a/src/lib/tls/tortls.c
+++ b/src/lib/tls/tortls.c
@@ -7,6 +7,7 @@
#define TOR_X509_PRIVATE
#include "lib/tls/x509.h"
#include "lib/tls/x509_internal.h"
+#include "lib/tls/tortls_sys.h"
#include "lib/tls/tortls.h"
#include "lib/tls/tortls_st.h"
#include "lib/tls/tortls_internal.h"
@@ -15,6 +16,7 @@
#include "lib/crypt_ops/crypto_rsa.h"
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/net/socket.h"
+#include "lib/subsys/subsys.h"
#ifdef _WIN32
#include <winsock2.h>
@@ -440,3 +442,15 @@ tor_tls_verify(int severity, tor_tls_t *tls, crypto_pk_t **identity)
return rv;
}
+
+static void
+subsys_tortls_shutdown(void)
+{
+ tor_tls_free_all();
+}
+
+const subsys_fns_t sys_tortls = {
+ .name = "tortls",
+ .level = -50,
+ .shutdown = subsys_tortls_shutdown
+};
diff --git a/src/lib/tls/tortls_openssl.c b/src/lib/tls/tortls_openssl.c
index 227225b96e..ddeaabc416 100644
--- a/src/lib/tls/tortls_openssl.c
+++ b/src/lib/tls/tortls_openssl.c
@@ -461,7 +461,7 @@ static const char UNRESTRICTED_SERVER_CIPHER_LIST[] =
/** List of ciphers that clients should advertise, omitting items that
* our OpenSSL doesn't know about. */
static const char CLIENT_CIPHER_LIST[] =
-#include "ciphers.inc"
+#include "lib/tls/ciphers.inc"
/* Tell it not to use SSLv2 ciphers, so that it can select an SSLv3 version
* of any cipher we say. */
"!SSLv2"
@@ -639,6 +639,22 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime,
SSL_CTX_set_tmp_dh(result->ctx, dh);
DH_free(dh);
}
+/* We check for this function in two ways, since it might be either a symbol
+ * or a macro. */
+#if defined(SSL_CTX_set1_groups_list) || defined(HAVE_SSL_CTX_SET1_GROUPS_LIST)
+ {
+ const char *list;
+ if (flags & TOR_TLS_CTX_USE_ECDHE_P224)
+ list = "P-224:P-256";
+ else if (flags & TOR_TLS_CTX_USE_ECDHE_P256)
+ list = "P-256:P-224";
+ else
+ list = "P-256:P-224";
+ int r = (int) SSL_CTX_set1_groups_list(result->ctx, list);
+ if (r < 0)
+ goto error;
+ }
+#else
if (! is_client) {
int nid;
EC_KEY *ec_key;
@@ -654,6 +670,7 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime,
SSL_CTX_set_tmp_ecdh(result->ctx, ec_key);
EC_KEY_free(ec_key);
}
+#endif
SSL_CTX_set_verify(result->ctx, SSL_VERIFY_PEER,
always_accept_verify_cb);
/* let us realloc bufs that we're writing from */
diff --git a/src/lib/tls/tortls_sys.h b/src/lib/tls/tortls_sys.h
new file mode 100644
index 0000000000..fd909f6019
--- /dev/null
+++ b/src/lib/tls/tortls_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file tortls_sys.h
+ * \brief Declare subsystem object for the tortls module
+ **/
+
+#ifndef TOR_TORTLS_SYS_H
+#define TOR_TORTLS_SYS_H
+
+extern const struct subsys_fns_t sys_tortls;
+
+#endif /* !defined(TOR_TORTLS_SYS_H) */
diff --git a/src/lib/version/.may_include b/src/lib/version/.may_include
new file mode 100644
index 0000000000..d159ceb41f
--- /dev/null
+++ b/src/lib/version/.may_include
@@ -0,0 +1,3 @@
+orconfig.h
+micro-revision.i
+lib/version/*.h \ No newline at end of file
diff --git a/src/lib/log/git_revision.c b/src/lib/version/git_revision.c
index 9d29ecd2a2..e5b2ff534e 100644
--- a/src/lib/log/git_revision.c
+++ b/src/lib/version/git_revision.c
@@ -4,7 +4,7 @@
/* See LICENSE for licensing information */
#include "orconfig.h"
-#include "lib/log/git_revision.h"
+#include "lib/version/git_revision.h"
/** String describing which Tor Git repository version the source was
* built from. This string is generated by a bit of shell kludging in
diff --git a/src/lib/log/git_revision.h b/src/lib/version/git_revision.h
index 0ce1190795..0ce1190795 100644
--- a/src/lib/log/git_revision.h
+++ b/src/lib/version/git_revision.h
diff --git a/src/lib/version/include.am b/src/lib/version/include.am
new file mode 100644
index 0000000000..6944eb05e3
--- /dev/null
+++ b/src/lib/version/include.am
@@ -0,0 +1,25 @@
+
+noinst_LIBRARIES += src/lib/libtor-version.a
+
+if UNITTESTS_ENABLED
+noinst_LIBRARIES += src/lib/libtor-version-testing.a
+endif
+
+src_lib_libtor_version_a_SOURCES = \
+ src/lib/version/git_revision.c \
+ src/lib/version/version.c
+
+src_lib_libtor_version_testing_a_SOURCES = \
+ $(src_lib_libtor_version_a_SOURCES)
+src_lib_libtor_version_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_lib_libtor_version_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+
+# Declare that these object files depend on micro-revision.i. Without this
+# rule, we could try to build them before micro-revision.i was created.
+src/lib/version/git_revision.$(OBJEXT) \
+ src/lib/version/src_lib_libtor_version_testing_a-git_revision.$(OBJEXT): \
+ micro-revision.i
+
+noinst_HEADERS += \
+ src/lib/version/git_revision.h \
+ src/lib/version/torversion.h
diff --git a/src/lib/version/torversion.h b/src/lib/version/torversion.h
new file mode 100644
index 0000000000..761d6f25ab
--- /dev/null
+++ b/src/lib/version/torversion.h
@@ -0,0 +1,12 @@
+/* Copyright 2001-2004 Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef TOR_VERSION_H
+#define TOR_VERSION_H
+
+const char *get_version(void);
+const char *get_short_version(void);
+
+#endif /* !defined(TOR_VERSION_H) */
diff --git a/src/lib/version/version.c b/src/lib/version/version.c
new file mode 100644
index 0000000000..29ada39c9d
--- /dev/null
+++ b/src/lib/version/version.c
@@ -0,0 +1,50 @@
+/* Copyright 2001-2004 Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+#include "lib/version/torversion.h"
+#include "lib/version/git_revision.h"
+
+#include <stdio.h>
+#include <string.h>
+
+/** A shorter version of this Tor process's version, for export in our router
+ * descriptor. (Does not include the git version, if any.) */
+static const char the_short_tor_version[] =
+ VERSION
+#ifdef TOR_BUILD_TAG
+ " ("TOR_BUILD_TAG")"
+#endif
+ "";
+
+#define MAX_VERSION_LEN 128
+
+/** The version of this Tor process, possibly including git version */
+static char the_tor_version[MAX_VERSION_LEN] = "";
+
+/** Return the current Tor version. */
+const char *
+get_version(void)
+{
+ if (the_tor_version[0] == 0) {
+ if (strlen(tor_git_revision)) {
+ snprintf(the_tor_version, sizeof(the_tor_version),
+ "%s (git-%s)", the_short_tor_version, tor_git_revision);
+ } else {
+ snprintf(the_tor_version, sizeof(the_tor_version),
+ "%s", the_short_tor_version);
+ }
+ the_tor_version[sizeof(the_tor_version)-1] = 0;
+ }
+
+ return the_tor_version;
+}
+
+/** Return the current Tor version, without any git tag. */
+const char *
+get_short_version(void)
+{
+ return the_short_tor_version;
+}
diff --git a/src/lib/wallclock/.may_include b/src/lib/wallclock/.may_include
index dc010da063..ce7a26472b 100644
--- a/src/lib/wallclock/.may_include
+++ b/src/lib/wallclock/.may_include
@@ -3,4 +3,5 @@ lib/cc/*.h
lib/err/*.h
lib/wallclock/*.h
lib/string/*.h
+lib/subsys/*.h
lib/testsupport/*.h
diff --git a/src/lib/wallclock/approx_time.c b/src/lib/wallclock/approx_time.c
index bb9a292369..0b0ef382c2 100644
--- a/src/lib/wallclock/approx_time.c
+++ b/src/lib/wallclock/approx_time.c
@@ -9,7 +9,9 @@
**/
#include "orconfig.h"
+#include "lib/subsys/subsys.h"
#include "lib/wallclock/approx_time.h"
+#include "lib/wallclock/wallclock_sys.h"
/* =====
* Cached time
@@ -41,3 +43,17 @@ update_approx_time(time_t now)
cached_approx_time = now;
}
#endif /* !defined(TIME_IS_FAST) */
+
+static int
+subsys_wallclock_initialize(void)
+{
+ update_approx_time(time(NULL));
+ return 0;
+}
+
+const subsys_fns_t sys_wallclock = {
+ .name = "wallclock",
+ .supported = true,
+ .level = -99,
+ .initialize = subsys_wallclock_initialize,
+};
diff --git a/src/lib/wallclock/include.am b/src/lib/wallclock/include.am
index 1961639bd7..2351252e0c 100644
--- a/src/lib/wallclock/include.am
+++ b/src/lib/wallclock/include.am
@@ -19,4 +19,5 @@ noinst_HEADERS += \
src/lib/wallclock/approx_time.h \
src/lib/wallclock/timeval.h \
src/lib/wallclock/time_to_tm.h \
- src/lib/wallclock/tor_gettimeofday.h
+ src/lib/wallclock/tor_gettimeofday.h \
+ src/lib/wallclock/wallclock_sys.h
diff --git a/src/lib/wallclock/wallclock_sys.h b/src/lib/wallclock/wallclock_sys.h
new file mode 100644
index 0000000000..e009578a83
--- /dev/null
+++ b/src/lib/wallclock/wallclock_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file wallclock_sys.h
+ * \brief Declare subsystem object for the wallclock module.
+ **/
+
+#ifndef TOR_WALLCLOCK_SYS_H
+#define TOR_WALLCLOCK_SYS_H
+
+extern const struct subsys_fns_t sys_wallclock;
+
+#endif /* !defined(TOR_WALLCLOCK_SYS_H) */
diff --git a/src/rust/Cargo.lock b/src/rust/Cargo.lock
index 1d2a7359aa..7d6a6635c5 100644
--- a/src/rust/Cargo.lock
+++ b/src/rust/Cargo.lock
@@ -26,6 +26,7 @@ version = "0.0.1"
dependencies = [
"libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)",
"smartlist 0.0.1",
+ "tor_allocate 0.0.1",
]
[[package]]
diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml
index e399dbb33a..83f9629660 100644
--- a/src/rust/Cargo.toml
+++ b/src/rust/Cargo.toml
@@ -13,19 +13,3 @@ members = [
[profile.release]
debug = true
panic = "abort"
-
-[features]
-default = []
-# If this feature is enabled, test code which calls Tor C code from Rust will
-# execute with `cargo test`. Due to numerous linker issues (#25386), this is
-# currently disabled by default. Crates listed here are those which, in their
-# unittests, doctests, and/or integration tests, call C code.
-test-c-from-rust = [
- "crypto/test-c-from-rust",
-]
-
-# We have to define a feature here because doctests don't get cfg(test),
-# and we need to disable some C dependencies when running the doctests
-# because of the various linker issues. See
-# https://github.com/rust-lang/rust/issues/45599
-test_linking_hack = []
diff --git a/src/rust/build.rs b/src/rust/build.rs
index 123d5c0682..5626b35f75 100644
--- a/src/rust/build.rs
+++ b/src/rust/build.rs
@@ -149,8 +149,9 @@ pub fn main() {
cfg.component("tor-sandbox-testing");
cfg.component("tor-encoding-testing");
cfg.component("tor-fs-testing");
- cfg.component("tor-time-testing");
cfg.component("tor-net-testing");
+ cfg.component("tor-buf-testing");
+ cfg.component("tor-time-testing");
cfg.component("tor-thread-testing");
cfg.component("tor-memarea-testing");
cfg.component("tor-log-testing");
@@ -162,6 +163,7 @@ pub fn main() {
cfg.component("tor-malloc");
cfg.component("tor-wallclock");
cfg.component("tor-err-testing");
+ cfg.component("tor-version-testing");
cfg.component("tor-intmath-testing");
cfg.component("tor-ctime-testing");
cfg.component("curve25519_donna");
diff --git a/src/rust/crypto/Cargo.toml b/src/rust/crypto/Cargo.toml
index 6ebfe0dc11..a7ff7f78d9 100644
--- a/src/rust/crypto/Cargo.toml
+++ b/src/rust/crypto/Cargo.toml
@@ -9,7 +9,6 @@ build = "../build.rs"
[lib]
name = "crypto"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[dependencies]
libc = "=0.2.39"
diff --git a/src/rust/external/Cargo.toml b/src/rust/external/Cargo.toml
index 4735144ee6..5f443645bb 100644
--- a/src/rust/external/Cargo.toml
+++ b/src/rust/external/Cargo.toml
@@ -5,14 +5,12 @@ name = "external"
[dependencies]
libc = "=0.2.39"
-
-[dependencies.smartlist]
-path = "../smartlist"
+smartlist = { path = "../smartlist" }
+tor_allocate = { path = "../tor_allocate" }
[lib]
name = "external"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[features]
# We have to define a feature here because doctests don't get cfg(test),
diff --git a/src/rust/external/lib.rs b/src/rust/external/lib.rs
index b72a4f6e4c..d68036fcad 100644
--- a/src/rust/external/lib.rs
+++ b/src/rust/external/lib.rs
@@ -8,7 +8,7 @@
//! module implementing this functionality repeatedly.
extern crate libc;
-
+extern crate tor_allocate;
extern crate smartlist;
pub mod crypto_digest;
diff --git a/src/rust/protover/Cargo.toml b/src/rust/protover/Cargo.toml
index 2f7783e76c..84a7c71c1a 100644
--- a/src/rust/protover/Cargo.toml
+++ b/src/rust/protover/Cargo.toml
@@ -31,4 +31,3 @@ path = "../tor_log"
[lib]
name = "protover"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs
index f17f30127d..5c29adf045 100644
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@ -7,7 +7,6 @@
use libc::{c_char, c_int, uint32_t};
use std::ffi::CStr;
-use std::ffi::CString;
use smartlist::*;
use tor_allocate::allocate_and_copy_string;
@@ -65,12 +64,7 @@ pub extern "C" fn protover_all_supported(
if missing_out.is_null() {
return 0;
}
- let c_unsupported: CString = match CString::new(unsupported.to_string()) {
- Ok(n) => n,
- Err(_) => return 1,
- };
-
- let ptr = c_unsupported.into_raw();
+ let ptr = allocate_and_copy_string(&unsupported.to_string());
unsafe { *missing_out = ptr };
return 0;
@@ -187,11 +181,7 @@ pub extern "C" fn protover_get_supported_protocols() -> *const c_char {
//
// Why is the threshold a signed integer? —isis
#[no_mangle]
-pub extern "C" fn protover_compute_vote(
- list: *const Stringlist,
- threshold: c_int,
- allow_long_proto_names: bool,
-) -> *mut c_char {
+pub extern "C" fn protover_compute_vote(list: *const Stringlist, threshold: c_int) -> *mut c_char {
if list.is_null() {
return allocate_and_copy_string("");
}
@@ -203,16 +193,9 @@ pub extern "C" fn protover_compute_vote(
let mut proto_entries: Vec<UnvalidatedProtoEntry> = Vec::new();
for datum in data {
- let entry: UnvalidatedProtoEntry = if allow_long_proto_names {
- match UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
- Ok(n) => n,
- Err(_) => continue,
- }
- } else {
- match datum.parse() {
- Ok(n) => n,
- Err(_) => continue,
- }
+ let entry: UnvalidatedProtoEntry = match datum.parse() {
+ Ok(n) => n,
+ Err(_) => continue,
};
proto_entries.push(entry);
}
diff --git a/src/rust/smartlist/Cargo.toml b/src/rust/smartlist/Cargo.toml
index 4ecdf50869..a5afe7bf74 100644
--- a/src/rust/smartlist/Cargo.toml
+++ b/src/rust/smartlist/Cargo.toml
@@ -9,7 +9,6 @@ libc = "0.2.39"
[lib]
name = "smartlist"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[features]
# We have to define a feature here because doctests don't get cfg(test),
diff --git a/src/rust/smartlist/lib.rs b/src/rust/smartlist/lib.rs
index 2716842af2..34d0b907ed 100644
--- a/src/rust/smartlist/lib.rs
+++ b/src/rust/smartlist/lib.rs
@@ -6,3 +6,12 @@ extern crate libc;
mod smartlist;
pub use smartlist::*;
+
+// When testing we may be compiled with sanitizers which are incompatible with
+// Rust's default allocator, jemalloc (unsure why at this time). Most crates
+// link to `tor_allocate` which switches by default to a non-jemalloc allocator,
+// but we don't already depend on `tor_allocate` so make sure that while testing
+// we don't use jemalloc. (but rather malloc/free)
+#[global_allocator]
+#[cfg(test)]
+static A: std::alloc::System = std::alloc::System;
diff --git a/src/rust/tor_allocate/Cargo.toml b/src/rust/tor_allocate/Cargo.toml
index 7bb3b9887f..06ac605f17 100644
--- a/src/rust/tor_allocate/Cargo.toml
+++ b/src/rust/tor_allocate/Cargo.toml
@@ -9,7 +9,6 @@ libc = "=0.2.39"
[lib]
name = "tor_allocate"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[features]
# We have to define a feature here because doctests don't get cfg(test),
diff --git a/src/rust/tor_allocate/lib.rs b/src/rust/tor_allocate/lib.rs
index 5a355bc8d6..1cfa0b5178 100644
--- a/src/rust/tor_allocate/lib.rs
+++ b/src/rust/tor_allocate/lib.rs
@@ -11,5 +11,10 @@
extern crate libc;
+use std::alloc::System;
+
mod tor_allocate;
pub use tor_allocate::*;
+
+#[global_allocator]
+static A: System = System;
diff --git a/src/rust/tor_log/Cargo.toml b/src/rust/tor_log/Cargo.toml
index 1aa9be0612..14d9ae803a 100644
--- a/src/rust/tor_log/Cargo.toml
+++ b/src/rust/tor_log/Cargo.toml
@@ -6,7 +6,6 @@ authors = ["The Tor Project"]
[lib]
name = "tor_log"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[features]
# We have to define a feature here because doctests don't get cfg(test),
diff --git a/src/rust/tor_rust/Cargo.toml b/src/rust/tor_rust/Cargo.toml
index 1523ee0dd1..35c629882e 100644
--- a/src/rust/tor_rust/Cargo.toml
+++ b/src/rust/tor_rust/Cargo.toml
@@ -6,7 +6,7 @@ version = "0.1.0"
[lib]
name = "tor_rust"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
+crate_type = ["staticlib"]
[dependencies.tor_util]
path = "../tor_util"
diff --git a/src/rust/tor_util/Cargo.toml b/src/rust/tor_util/Cargo.toml
index 51e4bd9c5d..9ffaeda8a6 100644
--- a/src/rust/tor_util/Cargo.toml
+++ b/src/rust/tor_util/Cargo.toml
@@ -6,7 +6,6 @@ version = "0.0.1"
[lib]
name = "tor_util"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[dependencies.tor_allocate]
path = "../tor_allocate"
diff --git a/src/rust/tor_util/strings.rs b/src/rust/tor_util/strings.rs
index d64275e06b..71a908a58c 100644
--- a/src/rust/tor_util/strings.rs
+++ b/src/rust/tor_util/strings.rs
@@ -105,11 +105,7 @@ macro_rules! cstr {
($($bytes:expr),*) => (
::std::ffi::CStr::from_bytes_with_nul(
concat!($($bytes),*, "\0").as_bytes()
- ).unwrap_or(
- unsafe{
- ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"\0")
- }
- )
+ ).unwrap_or_default()
)
}
diff --git a/src/test/Makefile.nmake b/src/test/Makefile.nmake
index cfbe281b94..aa16a22b52 100644
--- a/src/test/Makefile.nmake
+++ b/src/test/Makefile.nmake
@@ -1,4 +1,4 @@
-all: test.exe test-child.exe bench.exe
+all: test.exe bench.exe
CFLAGS = /I ..\win32 /I ..\..\..\build-alpha\include /I ..\common /I ..\or \
/I ..\ext
@@ -30,8 +30,5 @@ test.exe: $(TEST_OBJECTS)
bench.exe: bench.obj
$(CC) $(CFLAGS) bench.obj $(LIBS) ..\common\*.lib /Fe$@
-test-child.exe: test-child.obj
- $(CC) $(CFLAGS) test-child.obj /Fe$@
-
clean:
- del *.obj *.lib test.exe bench.exe test-child.exe
+ del *.obj *.lib test.exe bench.exe
diff --git a/src/test/bench.c b/src/test/bench.c
index 959d4374b1..f8680c3ab6 100644
--- a/src/test/bench.c
+++ b/src/test/bench.c
@@ -24,6 +24,7 @@
#include "core/or/circuitlist.h"
#include "app/config/config.h"
+#include "app/main/subsysmgr.h"
#include "lib/crypt_ops/crypto_curve25519.h"
#include "lib/crypt_ops/crypto_dh.h"
#include "core/crypto/onion_ntor.h"
@@ -38,6 +39,9 @@
#include "lib/crypt_ops/digestset.h"
#include "lib/crypt_ops/crypto_init.h"
+#include "feature/dirparse/microdesc_parse.h"
+#include "feature/nodelist/microdesc.h"
+
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID)
static uint64_t nanostart;
static inline uint64_t
@@ -638,6 +642,41 @@ bench_ecdh_p224(void)
}
#endif
+static void
+bench_md_parse(void)
+{
+ uint64_t start, end;
+ const int N = 100000;
+ // selected arbitrarily
+ const char md_text[] =
+ "@last-listed 2018-12-14 18:14:14\n"
+ "onion-key\n"
+ "-----BEGIN RSA PUBLIC KEY-----\n"
+ "MIGJAoGBAMHkZeXNDX/49JqM2BVLmh1Fnb5iMVnatvZZTLJyedqDLkbXZ1WKP5oh\n"
+ "7ec14dj/k3ntpwHD4s2o3Lb6nfagWbug4+F/rNJ7JuFru/PSyOvDyHGNAuegOXph\n"
+ "3gTGjdDpv/yPoiadGebbVe8E7n6hO+XxM2W/4dqheKimF0/s9B7HAgMBAAE=\n"
+ "-----END RSA PUBLIC KEY-----\n"
+ "ntor-onion-key QgF/EjqlNG1wRHLIop/nCekEH+ETGZSgYOhu26eiTF4=\n"
+ "family $00E9A86E7733240E60D8435A7BBD634A23894098 "
+ "$329BD7545DEEEBBDC8C4285F243916F248972102 "
+ "$69E06EBB2573A4F89330BDF8BC869794A3E10E4D "
+ "$DCA2A3FAE50B3729DAA15BC95FB21AF03389818B\n"
+ "p accept 53,80,443,5222-5223,25565\n"
+ "id ed25519 BzffzY99z6Q8KltcFlUTLWjNTBU7yKK+uQhyi1Ivb3A\n";
+
+ reset_perftime();
+ start = perftime();
+ for (int i = 0; i < N; ++i) {
+ smartlist_t *s = microdescs_parse_from_string(md_text, NULL, 1,
+ SAVED_IN_CACHE, NULL);
+ SMARTLIST_FOREACH(s, microdesc_t *, md, microdesc_free(md));
+ smartlist_free(s);
+ }
+
+ end = perftime();
+ printf("Microdesc parse: %f nsec\n", NANOCOUNT(start, end, N));
+}
+
typedef void (*bench_fn)(void);
typedef struct benchmark_t {
@@ -665,6 +704,8 @@ static struct benchmark_t benchmarks[] = {
ENT(ecdh_p256),
ENT(ecdh_p224),
#endif
+
+ ENT(md_parse),
{NULL,NULL,0}
};
@@ -690,9 +731,10 @@ main(int argc, const char **argv)
char *errmsg;
or_options_t *options;
- tor_threads_init();
+ subsystems_init_upto(SUBSYS_LEVEL_LIBS);
+ flush_log_messages_from_startup();
+
tor_compress_init();
- init_logging(1);
if (argc == 4 && !strcmp(argv[1], "diff")) {
const int N = 200;
@@ -702,11 +744,13 @@ main(int argc, const char **argv)
perror("X");
return 1;
}
+ size_t f1len = strlen(f1);
+ size_t f2len = strlen(f2);
for (i = 0; i < N; ++i) {
- char *diff = consensus_diff_generate(f1, f2);
+ char *diff = consensus_diff_generate(f1, f1len, f2, f2len);
tor_free(diff);
}
- char *diff = consensus_diff_generate(f1, f2);
+ char *diff = consensus_diff_generate(f1, f1len, f2, f2len);
printf("%s", diff);
tor_free(f1);
tor_free(f2);
@@ -737,7 +781,6 @@ main(int argc, const char **argv)
init_protocol_warning_severity_level();
options = options_new();
- init_logging(1);
options->command = CMD_RUN_UNITTESTS;
options->DataDirectory = tor_strdup("");
options->KeyDirectory = tor_strdup("");
diff --git a/src/test/bt_test.py b/src/test/bt_test.py
index 0eeb58c16c..f8894aac0b 100755
--- a/src/test/bt_test.py
+++ b/src/test/bt_test.py
@@ -44,10 +44,12 @@ print("BAD")
for l in LINES:
print("{}".format(l), end="")
-if sys.platform.startswith('freebsd'):
- # See bug #17808 if you know how to fix this.
- print("Test failed; but FreeBSD is known to have backtrace problems.\n"
- "Treating as 'SKIP'.")
+if (sys.platform.startswith('freebsd') or sys.platform.startswith('netbsd') or
+ sys.platform.startswith('openbsd') or sys.platform.startswith('darwin')):
+ # See bug #17808 if you know how to fix backtraces on BSD-derived systems
+ print("Test failed; but {} is known to have backtrace problems."
+ .format(sys.platform))
+ print("Treating as 'SKIP'.")
sys.exit(77)
sys.exit(1)
diff --git a/src/test/fuzz/fuzz_consensus.c b/src/test/fuzz/fuzz_consensus.c
index b56702a650..1a4195b418 100644
--- a/src/test/fuzz/fuzz_consensus.c
+++ b/src/test/fuzz/fuzz_consensus.c
@@ -61,13 +61,13 @@ int
fuzz_main(const uint8_t *data, size_t sz)
{
networkstatus_t *ns;
- char *str = tor_memdup_nulterm(data, sz);
const char *eos = NULL;
networkstatus_type_t tp = NS_TYPE_CONSENSUS;
if (tor_memstr(data, MIN(sz, 1024), "tus vote"))
tp = NS_TYPE_VOTE;
const char *what = (tp == NS_TYPE_CONSENSUS) ? "consensus" : "vote";
- ns = networkstatus_parse_vote_from_string(str,
+ ns = networkstatus_parse_vote_from_string((const char *)data,
+ sz,
&eos,
tp);
if (ns) {
@@ -76,6 +76,6 @@ fuzz_main(const uint8_t *data, size_t sz)
} else {
log_debug(LD_GENERAL, "Parsing as %s failed", what);
}
- tor_free(str);
+
return 0;
}
diff --git a/src/test/fuzz/fuzz_diff.c b/src/test/fuzz/fuzz_diff.c
index 1079856fdb..64aecc8a64 100644
--- a/src/test/fuzz/fuzz_diff.c
+++ b/src/test/fuzz/fuzz_diff.c
@@ -10,9 +10,11 @@
#include "test/fuzz/fuzzing.h"
static int
-mock_consensus_compute_digest_(const char *c, consensus_digest_t *d)
+mock_consensus_compute_digest_(const char *c, size_t len,
+ consensus_digest_t *d)
{
(void)c;
+ (void)len;
memset(d->sha3_256, 3, sizeof(d->sha3_256));
return 0;
}
@@ -42,28 +44,34 @@ fuzz_main(const uint8_t *stdin_buf, size_t data_size)
if (! separator)
return 0;
size_t c1_len = separator - stdin_buf;
- char *c1 = tor_memdup_nulterm(stdin_buf, c1_len);
+ const char *c1 = (const char *)stdin_buf;
size_t c2_len = data_size - c1_len - SEPLEN;
- char *c2 = tor_memdup_nulterm(separator + SEPLEN, c2_len);
+ const char *c2 = (const char *)separator + SEPLEN;
- char *c3 = consensus_diff_generate(c1, c2);
+ const char *cp = memchr(c1, 0, c1_len);
+ if (cp)
+ c1_len = cp - c1;
+
+ cp = memchr(c2, 0, c2_len);
+ if (cp)
+ c2_len = cp - c2;
+
+ char *c3 = consensus_diff_generate(c1, c1_len, c2, c2_len);
if (c3) {
- char *c4 = consensus_diff_apply(c1, c3);
+ char *c4 = consensus_diff_apply(c1, c1_len, c3, strlen(c3));
tor_assert(c4);
- if (strcmp(c2, c4)) {
- printf("%s\n", escaped(c1));
- printf("%s\n", escaped(c2));
+ int equal = (c2_len == strlen(c4)) && fast_memeq(c2, c4, c2_len);
+ if (! equal) {
+ //printf("%s\n", escaped(c1));
+ //printf("%s\n", escaped(c2));
printf("%s\n", escaped(c3));
printf("%s\n", escaped(c4));
}
- tor_assert(! strcmp(c2, c4));
+ tor_assert(equal);
tor_free(c3);
tor_free(c4);
}
- tor_free(c1);
- tor_free(c2);
return 0;
}
-
diff --git a/src/test/fuzz/fuzz_diff_apply.c b/src/test/fuzz/fuzz_diff_apply.c
index 165d0e6126..9b25185225 100644
--- a/src/test/fuzz/fuzz_diff_apply.c
+++ b/src/test/fuzz/fuzz_diff_apply.c
@@ -10,9 +10,11 @@
#include "test/fuzz/fuzzing.h"
static int
-mock_consensus_compute_digest_(const char *c, consensus_digest_t *d)
+mock_consensus_compute_digest_(const char *c, size_t len,
+ consensus_digest_t *d)
{
(void)c;
+ (void)len;
memset(d->sha3_256, 3, sizeof(d->sha3_256));
return 0;
}
@@ -50,16 +52,13 @@ fuzz_main(const uint8_t *stdin_buf, size_t data_size)
if (! separator)
return 0;
size_t c1_len = separator - stdin_buf;
- char *c1 = tor_memdup_nulterm(stdin_buf, c1_len);
+ const char *c1 = (const char *)stdin_buf;
size_t c2_len = data_size - c1_len - SEPLEN;
- char *c2 = tor_memdup_nulterm(separator + SEPLEN, c2_len);
+ const char *c2 = (const char *)separator + SEPLEN;
- char *c3 = consensus_diff_apply(c1, c2);
+ char *c3 = consensus_diff_apply(c1, c1_len, c2, c2_len);
- tor_free(c1);
- tor_free(c2);
tor_free(c3);
return 0;
}
-
diff --git a/src/test/fuzz/fuzz_http.c b/src/test/fuzz/fuzz_http.c
index 06483282bc..4341bfabae 100644
--- a/src/test/fuzz/fuzz_http.c
+++ b/src/test/fuzz/fuzz_http.c
@@ -8,7 +8,7 @@
#include "core/or/or.h"
#include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "core/mainloop/connection.h"
#include "feature/dircache/dircache.h"
diff --git a/src/test/fuzz/fuzz_http_connect.c b/src/test/fuzz/fuzz_http_connect.c
index ca007a2c7f..e03d9e29d8 100644
--- a/src/test/fuzz/fuzz_http_connect.c
+++ b/src/test/fuzz/fuzz_http_connect.c
@@ -8,7 +8,7 @@
#include "core/or/or.h"
#include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "core/mainloop/connection.h"
#include "core/or/connection_edge.h"
diff --git a/src/test/fuzz/fuzz_socks.c b/src/test/fuzz/fuzz_socks.c
index 14c25304b1..2d93bea924 100644
--- a/src/test/fuzz/fuzz_socks.c
+++ b/src/test/fuzz/fuzz_socks.c
@@ -6,7 +6,7 @@
#define BUFFERS_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/err/backtrace.h"
#include "lib/log/log.h"
#include "core/proto/proto_socks.h"
diff --git a/src/test/fuzz/fuzz_strops.c b/src/test/fuzz/fuzz_strops.c
new file mode 100644
index 0000000000..5da590acfa
--- /dev/null
+++ b/src/test/fuzz/fuzz_strops.c
@@ -0,0 +1,247 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file fuzz_strops.c
+ * \brief Fuzzers for various string encoding/decoding operations
+ **/
+
+#include "orconfig.h"
+
+#include "lib/cc/torint.h"
+#include "lib/ctime/di_ops.h"
+#include "lib/encoding/binascii.h"
+#include "lib/encoding/cstring.h"
+#include "lib/encoding/kvline.h"
+#include "lib/encoding/confline.h"
+#include "lib/malloc/malloc.h"
+#include "lib/log/escape.h"
+#include "lib/log/util_bug.h"
+#include "lib/intmath/muldiv.h"
+
+#include "test/fuzz/fuzzing.h"
+
+#include <stdio.h>
+#include <string.h>
+
+int
+fuzz_init(void)
+{
+ return 0;
+}
+
+int
+fuzz_cleanup(void)
+{
+ return 0;
+}
+
+typedef struct chunk_t {
+ uint8_t *buf;
+ size_t len;
+} chunk_t;
+
+#define chunk_free(ch) \
+ FREE_AND_NULL(chunk_t, chunk_free_, (ch))
+
+static chunk_t *
+chunk_new(size_t len)
+{
+ chunk_t *ch = tor_malloc(sizeof(chunk_t));
+ ch->buf = tor_malloc(len);
+ ch->len = len;
+ return ch;
+}
+static void
+chunk_free_(chunk_t *ch)
+{
+ if (!ch)
+ return;
+ tor_free(ch->buf);
+ tor_free(ch);
+}
+static bool
+chunk_eq(const chunk_t *a, const chunk_t *b)
+{
+ return a->len == b->len && fast_memeq(a->buf, b->buf, a->len);
+}
+
+static chunk_t *
+b16_dec(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(CEIL_DIV(inp->len, 2));
+ int r = base16_decode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len);
+ if (r >= 0) {
+ ch->len = r;
+ } else {
+ chunk_free(ch);
+ }
+ return ch;
+}
+static chunk_t *
+b16_enc(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(inp->len * 2 + 1);
+ base16_encode((char *)ch->buf, ch->len, (char*)inp->buf, inp->len);
+ return ch;
+}
+
+#if 0
+static chunk_t *
+b32_dec(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(inp->len);//XXXX
+ int r = base32_decode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len);
+ if (r >= 0) {
+ ch->len = r; // XXXX we need some way to get the actual length of
+ // XXXX the output here.
+ } else {
+ chunk_free(ch);
+ }
+ return ch;
+}
+static chunk_t *
+b32_enc(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(base32_encoded_size(inp->len));
+ base32_encode((char *)ch->buf, ch->len, (char*)inp->buf, inp->len);
+ ch->len = strlen((char *) ch->buf);
+ return ch;
+}
+#endif
+
+static chunk_t *
+b64_dec(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(inp->len);//XXXX This could be shorter.
+ int r = base64_decode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len);
+ if (r >= 0) {
+ ch->len = r;
+ } else {
+ chunk_free(ch);
+ }
+ return ch;
+}
+static chunk_t *
+b64_enc(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(BASE64_BUFSIZE(inp->len));
+ base64_encode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len, 0);
+ ch->len = strlen((char *) ch->buf);
+ return ch;
+}
+
+static chunk_t *
+c_dec(const chunk_t *inp)
+{
+ char *s = tor_memdup_nulterm(inp->buf, inp->len);
+ chunk_t *ch = tor_malloc(sizeof(chunk_t));
+ char *r = NULL;
+ (void) unescape_string(s, &r, &ch->len);
+ tor_free(s);
+ ch->buf = (uint8_t*) r;
+ if (!ch->buf) {
+ tor_free(ch);
+ }
+ return ch;
+}
+static chunk_t *
+c_enc(const chunk_t *inp)
+{
+ char *s = tor_memdup_nulterm(inp->buf, inp->len);
+ chunk_t *ch = tor_malloc(sizeof(chunk_t));
+ ch->buf = (uint8_t*)esc_for_log(s);
+ tor_free(s);
+ ch->len = strlen((char*)ch->buf);
+ return ch;
+}
+
+static int kv_flags = 0;
+static config_line_t *
+kv_dec(const chunk_t *inp)
+{
+ char *s = tor_memdup_nulterm(inp->buf, inp->len);
+ config_line_t *res = kvline_parse(s, kv_flags);
+ tor_free(s);
+ return res;
+}
+static chunk_t *
+kv_enc(const config_line_t *inp)
+{
+ char *s = kvline_encode(inp, kv_flags);
+ if (!s)
+ return NULL;
+ chunk_t *res = tor_malloc(sizeof(chunk_t));
+ res->buf = (uint8_t*)s;
+ res->len = strlen(s);
+ return res;
+}
+
+/* Given an encoder function, a decoder function, and a function to free
+ * the decoded object, check whether any string that successfully decoded
+ * will then survive an encode-decode-encode round-trip unchanged.
+ */
+#define ENCODE_ROUNDTRIP(E,D,FREE) \
+ STMT_BEGIN { \
+ bool err = false; \
+ a = D(&inp); \
+ if (!a) \
+ return 0; \
+ b = E(a); \
+ tor_assert(b); \
+ c = D(b); \
+ tor_assert(c); \
+ d = E(c); \
+ tor_assert(d); \
+ if (!chunk_eq(b,d)) { \
+ printf("Unequal chunks: %s\n", \
+ hex_str((char*)b->buf, b->len)); \
+ printf(" vs %s\n", \
+ hex_str((char*)d->buf, d->len)); \
+ err = true; \
+ } \
+ FREE(a); \
+ chunk_free(b); \
+ FREE(c); \
+ chunk_free(d); \
+ tor_assert(!err); \
+ } STMT_END
+
+int
+fuzz_main(const uint8_t *stdin_buf, size_t data_size)
+{
+ if (!data_size)
+ return 0;
+
+ chunk_t inp = { (uint8_t*)stdin_buf, data_size };
+ chunk_t *b=NULL,*d=NULL;
+ void *a=NULL,*c=NULL;
+
+ switch (stdin_buf[0]) {
+ case 0:
+ ENCODE_ROUNDTRIP(b16_enc, b16_dec, chunk_free_);
+ break;
+ case 1:
+ /*
+ XXXX see notes above about our base-32 functions.
+ ENCODE_ROUNDTRIP(b32_enc, b32_dec, chunk_free_);
+ */
+ break;
+ case 2:
+ ENCODE_ROUNDTRIP(b64_enc, b64_dec, chunk_free_);
+ break;
+ case 3:
+ ENCODE_ROUNDTRIP(c_enc, c_dec, chunk_free_);
+ break;
+ case 5:
+ kv_flags = KV_QUOTED|KV_OMIT_KEYS;
+ ENCODE_ROUNDTRIP(kv_enc, kv_dec, config_free_lines_);
+ break;
+ case 6:
+ kv_flags = 0;
+ ENCODE_ROUNDTRIP(kv_enc, kv_dec, config_free_lines_);
+ break;
+ }
+
+ return 0;
+}
diff --git a/src/test/fuzz/fuzz_vrs.c b/src/test/fuzz/fuzz_vrs.c
index 0b869aa5c0..f0d90d7cc6 100644
--- a/src/test/fuzz/fuzz_vrs.c
+++ b/src/test/fuzz/fuzz_vrs.c
@@ -3,6 +3,7 @@
#define NS_PARSE_PRIVATE
#define NETWORKSTATUS_PRIVATE
#include "core/or/or.h"
+#include "feature/dirauth/dirvote.h"
#include "feature/dirparse/ns_parse.h"
#include "feature/dirparse/unparseable.h"
#include "lib/memarea/memarea.h"
@@ -35,9 +36,12 @@ fuzz_init(void)
dummy_vote = tor_malloc_zero(sizeof(*dummy_vote));
dummy_vote->known_flags = smartlist_new();
smartlist_split_string(dummy_vote->known_flags,
- "Authority BadExit Exit Fast Guard HSDir "
- "NoEdConsensus Running Stable V2Dir Valid",
+ DIRVOTE_UNIVERSAL_FLAGS,
" ", 0, 0);
+ smartlist_split_string(dummy_vote->known_flags,
+ DIRVOTE_OPTIONAL_FLAGS,
+ " ", 0, 0);
+ smartlist_sort_strings(dummy_vote->known_flags);
return 0;
}
@@ -53,24 +57,24 @@ fuzz_cleanup(void)
int
fuzz_main(const uint8_t *data, size_t sz)
{
- char *str = tor_memdup_nulterm(data, sz);
const char *s;
routerstatus_t *rs_ns = NULL, *rs_md = NULL, *rs_vote = NULL;
vote_routerstatus_t *vrs = tor_malloc_zero(sizeof(*vrs));
smartlist_t *tokens = smartlist_new();
+ const char *eos = (const char *)data + sz;
- s = str;
- rs_ns = routerstatus_parse_entry_from_string(area, &s, tokens,
+ s = (const char *)data;
+ rs_ns = routerstatus_parse_entry_from_string(area, &s, eos, tokens,
NULL, NULL, 26, FLAV_NS);
tor_assert(smartlist_len(tokens) == 0);
- s = str;
- rs_md = routerstatus_parse_entry_from_string(area, &s, tokens,
+ s = (const char *)data;
+ rs_md = routerstatus_parse_entry_from_string(area, &s, eos, tokens,
NULL, NULL, 26, FLAV_MICRODESC);
tor_assert(smartlist_len(tokens) == 0);
- s = str;
- rs_vote = routerstatus_parse_entry_from_string(area, &s, tokens,
+ s = (const char *)data;
+ rs_vote = routerstatus_parse_entry_from_string(area, &s, eos, tokens,
dummy_vote, vrs, 26, FLAV_NS);
tor_assert(smartlist_len(tokens) == 0);
@@ -82,6 +86,6 @@ fuzz_main(const uint8_t *data, size_t sz)
vote_routerstatus_free(vrs);
memarea_clear(area);
smartlist_free(tokens);
- tor_free(str);
+
return 0;
}
diff --git a/src/test/fuzz/fuzzing_common.c b/src/test/fuzz/fuzzing_common.c
index 1401e4c28d..21aa07cfe2 100644
--- a/src/test/fuzz/fuzzing_common.c
+++ b/src/test/fuzz/fuzzing_common.c
@@ -3,12 +3,14 @@
#define CRYPTO_ED25519_PRIVATE
#include "orconfig.h"
#include "core/or/or.h"
+#include "app/main/subsysmgr.h"
#include "lib/err/backtrace.h"
#include "app/config/config.h"
#include "test/fuzz/fuzzing.h"
#include "lib/compress/compress.h"
#include "lib/crypt_ops/crypto_ed25519.h"
#include "lib/crypt_ops/crypto_init.h"
+#include "lib/version/torversion.h"
static or_options_t *mock_options = NULL;
static const or_options_t *
@@ -94,12 +96,10 @@ disable_signature_checking(void)
static void
global_init(void)
{
- tor_threads_init();
- tor_compress_init();
+ subsystems_init_upto(SUBSYS_LEVEL_LIBS);
+ flush_log_messages_from_startup();
- /* Initialise logging first */
- init_logging(1);
- configure_backtrace_handler(get_version());
+ tor_compress_init();
if (crypto_global_init(0, NULL, NULL) < 0)
abort();
diff --git a/src/test/fuzz/include.am b/src/test/fuzz/include.am
index 27eeced8c5..d0711f05d6 100644
--- a/src/test/fuzz/include.am
+++ b/src/test/fuzz/include.am
@@ -153,6 +153,16 @@ src_test_fuzz_fuzz_socks_LDADD = $(FUZZING_LIBS)
endif
if UNITTESTS_ENABLED
+src_test_fuzz_fuzz_strops_SOURCES = \
+ src/test/fuzz/fuzzing_common.c \
+ src/test/fuzz/fuzz_strops.c
+src_test_fuzz_fuzz_strops_CPPFLAGS = $(FUZZING_CPPFLAGS)
+src_test_fuzz_fuzz_strops_CFLAGS = $(FUZZING_CFLAGS)
+src_test_fuzz_fuzz_strops_LDFLAGS = $(FUZZING_LDFLAG)
+src_test_fuzz_fuzz_strops_LDADD = $(FUZZING_LIBS)
+endif
+
+if UNITTESTS_ENABLED
src_test_fuzz_fuzz_vrs_SOURCES = \
src/test/fuzz/fuzzing_common.c \
src/test/fuzz/fuzz_vrs.c
@@ -176,6 +186,7 @@ FUZZERS = \
src/test/fuzz/fuzz-iptsv2 \
src/test/fuzz/fuzz-microdesc \
src/test/fuzz/fuzz-socks \
+ src/test/fuzz/fuzz-strops \
src/test/fuzz/fuzz-vrs
endif
@@ -291,6 +302,15 @@ src_test_fuzz_lf_fuzz_socks_LDADD = $(LIBFUZZER_LIBS)
endif
if UNITTESTS_ENABLED
+src_test_fuzz_lf_fuzz_strops_SOURCES = \
+ $(src_test_fuzz_fuzz_strops_SOURCES)
+src_test_fuzz_lf_fuzz_strops_CPPFLAGS = $(LIBFUZZER_CPPFLAGS)
+src_test_fuzz_lf_fuzz_strops_CFLAGS = $(LIBFUZZER_CFLAGS)
+src_test_fuzz_lf_fuzz_strops_LDFLAGS = $(LIBFUZZER_LDFLAG)
+src_test_fuzz_lf_fuzz_strops_LDADD = $(LIBFUZZER_LIBS)
+endif
+
+if UNITTESTS_ENABLED
src_test_fuzz_lf_fuzz_vrs_SOURCES = \
$(src_test_fuzz_fuzz_vrs_SOURCES)
src_test_fuzz_lf_fuzz_vrs_CPPFLAGS = $(LIBFUZZER_CPPFLAGS)
@@ -312,6 +332,7 @@ LIBFUZZER_FUZZERS = \
src/test/fuzz/lf-fuzz-iptsv2 \
src/test/fuzz/lf-fuzz-microdesc \
src/test/fuzz/lf-fuzz-socks \
+ src/test/fuzz/lf-fuzz-strops \
src/test/fuzz/lf-fuzz-vrs
else
@@ -406,6 +427,13 @@ src_test_fuzz_liboss_fuzz_socks_a_CFLAGS = $(LIBOSS_FUZZ_CFLAGS)
endif
if UNITTESTS_ENABLED
+src_test_fuzz_liboss_fuzz_strops_a_SOURCES = \
+ $(src_test_fuzz_fuzz_strops_SOURCES)
+src_test_fuzz_liboss_fuzz_strops_a_CPPFLAGS = $(LIBOSS_FUZZ_CPPFLAGS)
+src_test_fuzz_liboss_fuzz_strops_a_CFLAGS = $(LIBOSS_FUZZ_CFLAGS)
+endif
+
+if UNITTESTS_ENABLED
src_test_fuzz_liboss_fuzz_vrs_a_SOURCES = \
$(src_test_fuzz_fuzz_vrs_SOURCES)
src_test_fuzz_liboss_fuzz_vrs_a_CPPFLAGS = $(LIBOSS_FUZZ_CPPFLAGS)
@@ -425,6 +453,7 @@ OSS_FUZZ_FUZZERS = \
src/test/fuzz/liboss-fuzz-iptsv2.a \
src/test/fuzz/liboss-fuzz-microdesc.a \
src/test/fuzz/liboss-fuzz-socks.a \
+ src/test/fuzz/liboss-fuzz-strops.a \
src/test/fuzz/liboss-fuzz-vrs.a
else
diff --git a/src/test/include.am b/src/test/include.am
index d90d78d58e..648cf5a541 100644
--- a/src/test/include.am
+++ b/src/test/include.am
@@ -12,8 +12,7 @@ TESTS_ENVIRONMENT = \
export EXTRA_CARGO_OPTIONS="$(EXTRA_CARGO_OPTIONS)"; \
export CARGO_ONLINE="$(CARGO_ONLINE)"; \
export CCLD="$(CCLD)"; \
- chmod +x "$(abs_top_builddir)/link_rust.sh"; \
- export RUSTFLAGS="-C linker=$(abs_top_builddir)/link_rust.sh";
+ export RUSTFLAGS="-C linker=`echo '$(CC)' | cut -d' ' -f 1` $(RUST_LINKER_OPTIONS)";
TESTSCRIPTS = \
src/test/fuzz_static_testcases.sh \
@@ -66,7 +65,7 @@ noinst_PROGRAMS+= \
src/test/test \
src/test/test-slow \
src/test/test-memwipe \
- src/test/test-child \
+ src/test/test-process \
src/test/test_workqueue \
src/test/test-switch-id \
src/test/test-timers
@@ -155,6 +154,7 @@ src_test_test_SOURCES += \
src/test/test_pem.c \
src/test/test_periodic_event.c \
src/test/test_policy.c \
+ src/test/test_process.c \
src/test/test_procmon.c \
src/test/test_proto_http.c \
src/test/test_proto_misc.c \
@@ -179,6 +179,7 @@ src_test_test_SOURCES += \
src/test/test_util.c \
src/test/test_util_format.c \
src/test/test_util_process.c \
+ src/test/test_voting_flags.c \
src/test/test_voting_schedule.c \
src/test/test_x509.c \
src/test/test_helpers.c \
@@ -203,7 +204,7 @@ if UNITTESTS_ENABLED
src_test_test_slow_SOURCES += \
src/test/test_slow.c \
src/test/test_crypto_slow.c \
- src/test/test_util_slow.c \
+ src/test/test_process_slow.c \
src/test/testing_common.c \
src/test/testing_rsakeys.c \
src/ext/tinytest.c
diff --git a/src/test/test-child.c b/src/test/test-child.c
deleted file mode 100644
index 14df1a9b76..0000000000
--- a/src/test/test-child.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (c) 2011-2018, The Tor Project, Inc. */
-/* See LICENSE for licensing information */
-
-#include "orconfig.h"
-#include <stdio.h>
-#ifdef _WIN32
-#define WINDOWS_LEAN_AND_MEAN
-#include <windows.h>
-#else
-#include <unistd.h>
-#endif /* defined(_WIN32) */
-#include <string.h>
-
-#ifdef _WIN32
-#define SLEEP(sec) Sleep((sec)*1000)
-#else
-#define SLEEP(sec) sleep(sec)
-#endif
-
-/** Trivial test program which prints out its command line arguments so we can
- * check if tor_spawn_background() works */
-int
-main(int argc, char **argv)
-{
- int i;
- int delay = 1;
- int fast = 0;
-
- if (argc > 1) {
- if (!strcmp(argv[1], "--hang")) {
- delay = 60;
- } else if (!strcmp(argv[1], "--fast")) {
- fast = 1;
- delay = 0;
- }
- }
-
- fprintf(stdout, "OUT\n");
- fprintf(stderr, "ERR\n");
- for (i = 1; i < argc; i++)
- fprintf(stdout, "%s\n", argv[i]);
- if (!fast)
- fprintf(stdout, "SLEEPING\n");
- /* We need to flush stdout so that test_util_spawn_background_partial_read()
- succeed. Otherwise ReadFile() will get the entire output in one */
- // XXX: Can we make stdio flush on newline?
- fflush(stdout);
- if (!fast)
- SLEEP(1);
- fprintf(stdout, "DONE\n");
- fflush(stdout);
- if (fast)
- return 0;
-
- while (--delay) {
- SLEEP(1);
- }
-
- return 0;
-}
-
diff --git a/src/test/test-process.c b/src/test/test-process.c
new file mode 100644
index 0000000000..ec1b395002
--- /dev/null
+++ b/src/test/test-process.c
@@ -0,0 +1,85 @@
+/* Copyright (c) 2011-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+#include <stdio.h>
+#ifdef _WIN32
+#define WINDOWS_LEAN_AND_MEAN
+#include <windows.h>
+#else
+#include <unistd.h>
+#endif /* defined(_WIN32) */
+#include <string.h>
+#include <stdlib.h>
+
+#ifdef _WIN32
+#define SLEEP(sec) Sleep((sec)*1000)
+#else
+#define SLEEP(sec) sleep(sec)
+#endif
+
+/* Trivial test program to test process_t. */
+int
+main(int argc, char **argv)
+{
+ /* Does our process get the right arguments? */
+ for (int i = 0; i < argc; ++i) {
+ fprintf(stdout, "argv[%d] = '%s'\n", i, argv[i]);
+ fflush(stdout);
+ }
+
+ /* Make sure our process got our environment variable. */
+ fprintf(stdout, "Environment variable TOR_TEST_ENV = '%s'\n",
+ getenv("TOR_TEST_ENV"));
+ fflush(stdout);
+
+ /* Test line handling on stdout and stderr. */
+ fprintf(stdout, "Output on stdout\nThis is a new line\n");
+ fflush(stdout);
+
+ fprintf(stderr, "Output on stderr\nThis is a new line\n");
+ fflush(stderr);
+
+ fprintf(stdout, "Partial line on stdout ...");
+ fflush(stdout);
+
+ fprintf(stderr, "Partial line on stderr ...");
+ fflush(stderr);
+
+ SLEEP(2);
+
+ fprintf(stdout, "end of partial line on stdout\n");
+ fflush(stdout);
+ fprintf(stderr, "end of partial line on stderr\n");
+ fflush(stderr);
+
+ /* Echo input from stdin. */
+ char buffer[1024];
+
+ int count = 0;
+
+ while (fgets(buffer, sizeof(buffer), stdin)) {
+ /* Strip the newline. */
+ size_t size = strlen(buffer);
+
+ if (size >= 1 && buffer[size - 1] == '\n') {
+ buffer[size - 1] = '\0';
+ --size;
+ }
+
+ if (size >= 1 && buffer[size - 1] == '\r') {
+ buffer[size - 1] = '\0';
+ --size;
+ }
+
+ fprintf(stdout, "Read line from stdin: '%s'\n", buffer);
+ fflush(stdout);
+
+ if (++count == 3)
+ break;
+ }
+
+ fprintf(stdout, "We are done for here, thank you!\n");
+
+ return 0;
+}
diff --git a/src/test/test.c b/src/test/test.c
index 7f4f6017ef..85d41d9863 100644
--- a/src/test/test.c
+++ b/src/test/test.c
@@ -37,7 +37,7 @@
#include "core/or/or.h"
#include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/circuitlist.h"
#include "core/or/circuitstats.h"
#include "lib/compress/compress.h"
@@ -866,7 +866,8 @@ struct testgroup_t testgroups[] = {
{ "crypto/pem/", pem_tests },
{ "dir/", dir_tests },
{ "dir/md/", microdesc_tests },
- { "dir/voting-schedule/", voting_schedule_tests },
+ { "dir/voting/flags/", voting_flags_tests },
+ { "dir/voting/schedule/", voting_schedule_tests },
{ "dir_handle_get/", dir_handle_get_tests },
{ "dns/", dns_tests },
{ "dos/", dos_tests },
@@ -899,6 +900,7 @@ struct testgroup_t testgroups[] = {
{ "periodic-event/" , periodic_event_tests },
{ "policy/" , policy_tests },
{ "procmon/", procmon_tests },
+ { "process/", process_tests },
{ "proto/http/", proto_http_tests },
{ "proto/misc/", proto_misc_tests },
{ "protover/", protover_tests },
diff --git a/src/test/test.h b/src/test/test.h
index 970a9b555b..1b10c3d12d 100644
--- a/src/test/test.h
+++ b/src/test/test.h
@@ -242,6 +242,7 @@ extern struct testcase_t pem_tests[];
extern struct testcase_t periodic_event_tests[];
extern struct testcase_t policy_tests[];
extern struct testcase_t procmon_tests[];
+extern struct testcase_t process_tests[];
extern struct testcase_t proto_http_tests[];
extern struct testcase_t proto_misc_tests[];
extern struct testcase_t protover_tests[];
@@ -266,11 +267,12 @@ extern struct testcase_t tortls_tests[];
extern struct testcase_t util_format_tests[];
extern struct testcase_t util_process_tests[];
extern struct testcase_t util_tests[];
+extern struct testcase_t voting_flags_tests[];
extern struct testcase_t voting_schedule_tests[];
extern struct testcase_t x509_tests[];
extern struct testcase_t slow_crypto_tests[];
-extern struct testcase_t slow_util_tests[];
+extern struct testcase_t slow_process_tests[];
extern struct testgroup_t testgroups[];
diff --git a/src/test/test_addr.c b/src/test/test_addr.c
index a9004048a5..1d97db52a6 100644
--- a/src/test/test_addr.c
+++ b/src/test/test_addr.c
@@ -723,7 +723,7 @@ test_addr_ip6_helpers(void *arg)
;
}
-/** Test tor_addr_port_parse(). */
+/** Test tor_addr_parse() and tor_addr_port_parse(). */
static void
test_addr_parse(void *arg)
{
@@ -734,6 +734,60 @@ test_addr_parse(void *arg)
/* Correct call. */
(void)arg;
+ r= tor_addr_parse(&addr, "192.0.2.1");
+ tt_int_op(r,OP_EQ, AF_INET);
+ tor_addr_to_str(buf, &addr, sizeof(buf), 0);
+ tt_str_op(buf,OP_EQ, "192.0.2.1");
+
+ r= tor_addr_parse(&addr, "11:22::33:44");
+ tt_int_op(r,OP_EQ, AF_INET6);
+ tor_addr_to_str(buf, &addr, sizeof(buf), 0);
+ tt_str_op(buf,OP_EQ, "11:22::33:44");
+
+ r= tor_addr_parse(&addr, "[11:22::33:44]");
+ tt_int_op(r,OP_EQ, AF_INET6);
+ tor_addr_to_str(buf, &addr, sizeof(buf), 0);
+ tt_str_op(buf,OP_EQ, "11:22::33:44");
+
+ r= tor_addr_parse(&addr, "11:22:33:44:55:66:1.2.3.4");
+ tt_int_op(r,OP_EQ, AF_INET6);
+ tor_addr_to_str(buf, &addr, sizeof(buf), 0);
+ tt_str_op(buf,OP_EQ, "11:22:33:44:55:66:102:304");
+
+ r= tor_addr_parse(&addr, "11:22::33:44:1.2.3.4");
+ tt_int_op(r,OP_EQ, AF_INET6);
+ tor_addr_to_str(buf, &addr, sizeof(buf), 0);
+ tt_str_op(buf,OP_EQ, "11:22::33:44:102:304");
+
+ /* Empty string. */
+ r= tor_addr_parse(&addr, "");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Square brackets around IPv4 address. */
+ r= tor_addr_parse(&addr, "[192.0.2.1]");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Only left square bracket. */
+ r= tor_addr_parse(&addr, "[11:22::33:44");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Only right square bracket. */
+ r= tor_addr_parse(&addr, "11:22::33:44]");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Leading colon. */
+ r= tor_addr_parse(&addr, ":11:22::33:44");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Trailing colon. */
+ r= tor_addr_parse(&addr, "11:22::33:44:");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Too many hex words in IPv4-mapped IPv6 address. */
+ r= tor_addr_parse(&addr, "11:22:33:44:55:66:77:88:1.2.3.4");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Correct call. */
r= tor_addr_port_parse(LOG_DEBUG,
"192.0.2.1:1234",
&addr, &port, -1);
diff --git a/src/test/test_address.c b/src/test/test_address.c
index e99220f838..a823fd9cd5 100644
--- a/src/test/test_address.c
+++ b/src/test/test_address.c
@@ -24,6 +24,8 @@
#endif /* defined(HAVE_IFCONF_TO_SMARTLIST) */
#include "core/or/or.h"
+#include "feature/nodelist/routerinfo_st.h"
+#include "feature/nodelist/node_st.h"
#include "feature/nodelist/nodelist.h"
#include "lib/net/address.h"
#include "test/test.h"
@@ -1170,6 +1172,78 @@ test_address_tor_addr_in_same_network_family(void *ignored)
return;
}
+static node_t *
+helper_create_mock_node(char id_char)
+{
+ node_t *node = tor_malloc_zero(sizeof(node_t));
+ routerinfo_t *ri = tor_malloc_zero(sizeof(routerinfo_t));
+ tor_addr_make_null(&ri->ipv6_addr, AF_INET6);
+ node->ri = ri;
+ memset(node->identity, id_char, sizeof(node->identity));
+ return node;
+}
+
+static void
+helper_free_mock_node(node_t *node)
+{
+ if (!node)
+ return;
+ tor_free(node->ri);
+ tor_free(node);
+}
+
+#define NODE_SET_IPV4(node, ipv4_addr, ipv4_port) { \
+ tor_addr_t addr; \
+ tor_addr_parse(&addr, ipv4_addr); \
+ node->ri->addr = tor_addr_to_ipv4h(&addr); \
+ node->ri->or_port = ipv4_port; \
+ }
+
+#define NODE_CLEAR_IPV4(node) { \
+ node->ri->addr = 0; \
+ node->ri->or_port = 0; \
+ }
+
+#define NODE_SET_IPV6(node, ipv6_addr_str, ipv6_port) { \
+ tor_addr_parse(&node->ri->ipv6_addr, ipv6_addr_str); \
+ node->ri->ipv6_orport = ipv6_port; \
+ }
+
+static void
+test_address_tor_node_in_same_network_family(void *ignored)
+{
+ (void)ignored;
+ node_t *node_a = helper_create_mock_node('a');
+ node_t *node_b = helper_create_mock_node('b');
+
+ NODE_SET_IPV4(node_a, "8.8.8.8", 1);
+ NODE_SET_IPV4(node_b, "8.8.4.4", 1);
+
+ tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 1);
+
+ NODE_SET_IPV4(node_a, "8.8.8.8", 1);
+ NODE_SET_IPV4(node_b, "1.1.1.1", 1);
+
+ tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 0);
+
+ NODE_CLEAR_IPV4(node_a);
+ NODE_SET_IPV6(node_a, "2001:470:20::2", 1);
+
+ tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 0);
+
+ NODE_CLEAR_IPV4(node_b);
+ NODE_SET_IPV6(node_b, "2606:4700:4700::1111", 1);
+
+ tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 0);
+
+ NODE_SET_IPV6(node_a, "2606:4700:4700::1001", 1);
+ tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 1);
+
+ done:
+ helper_free_mock_node(node_a);
+ helper_free_mock_node(node_b);
+}
+
#define ADDRESS_TEST(name, flags) \
{ #name, test_address_ ## name, flags, NULL, NULL }
@@ -1202,6 +1276,6 @@ struct testcase_t address_tests[] = {
ADDRESS_TEST(tor_addr_to_mapped_ipv4h, 0),
ADDRESS_TEST(tor_addr_eq_ipv4h, 0),
ADDRESS_TEST(tor_addr_in_same_network_family, 0),
+ ADDRESS_TEST(tor_node_in_same_network_family, 0),
END_OF_TESTCASES
};
-
diff --git a/src/test/test_buffers.c b/src/test/test_buffers.c
index 477066f699..85e7b8d90a 100644
--- a/src/test/test_buffers.c
+++ b/src/test/test_buffers.c
@@ -6,7 +6,7 @@
#define BUFFERS_PRIVATE
#define PROTO_HTTP_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/tls/buffers_tls.h"
#include "lib/tls/tortls.h"
#include "lib/compress/compress.h"
diff --git a/src/test/test_channelpadding.c b/src/test/test_channelpadding.c
index 0fd60d0a92..bdd7c5f0a6 100644
--- a/src/test/test_channelpadding.c
+++ b/src/test/test_channelpadding.c
@@ -21,7 +21,7 @@
#include "test/log_test_helpers.h"
#include "lib/tls/tortls.h"
#include "lib/evloop/timers.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/cell_st.h"
#include "feature/nodelist/networkstatus_st.h"
diff --git a/src/test/test_channeltls.c b/src/test/test_channeltls.c
index 787a30a85d..44d623561b 100644
--- a/src/test/test_channeltls.c
+++ b/src/test/test_channeltls.c
@@ -8,7 +8,7 @@
#define TOR_CHANNEL_INTERNAL_
#include "core/or/or.h"
#include "lib/net/address.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/channel.h"
#include "core/or/channeltls.h"
#include "core/mainloop/connection.h"
diff --git a/src/test/test_circuitbuild.c b/src/test/test_circuitbuild.c
index 02eadecd98..dd47ad7689 100644
--- a/src/test/test_circuitbuild.c
+++ b/src/test/test_circuitbuild.c
@@ -21,11 +21,11 @@ static smartlist_t dummy_nodes;
static extend_info_t dummy_ei;
static int
-mock_count_acceptable_nodes(smartlist_t *nodes)
+mock_count_acceptable_nodes(smartlist_t *nodes, int direct)
{
(void)nodes;
- return DEFAULT_ROUTE_LEN + 1;
+ return direct ? 1 : DEFAULT_ROUTE_LEN + 1;
}
/* Test route lengths when the caller of new_route_len() doesn't
diff --git a/src/test/test_compat_libevent.c b/src/test/test_compat_libevent.c
index 3f505d013b..ade76bdb07 100644
--- a/src/test/test_compat_libevent.c
+++ b/src/test/test_compat_libevent.c
@@ -187,4 +187,3 @@ struct testcase_t compat_libevent_tests[] = {
TT_FORK, NULL, NULL },
END_OF_TESTCASES
};
-
diff --git a/src/test/test_config.c b/src/test/test_config.c
index dae4d83766..5140c3c1a8 100644
--- a/src/test/test_config.c
+++ b/src/test/test_config.c
@@ -54,6 +54,7 @@
#include "lib/meminfo/meminfo.h"
#include "lib/net/gethostname.h"
#include "lib/encoding/confline.h"
+#include "lib/encoding/kvline.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
@@ -5813,6 +5814,82 @@ test_config_extended_fmt(void *arg)
config_free_lines(lines);
}
+static void
+test_config_kvline_parse(void *arg)
+{
+ (void)arg;
+
+ config_line_t *lines = NULL;
+ char *enc = NULL;
+
+ lines = kvline_parse("A=B CD=EF", 0);
+ tt_assert(lines);
+ tt_str_op(lines->key, OP_EQ, "A");
+ tt_str_op(lines->value, OP_EQ, "B");
+ tt_str_op(lines->next->key, OP_EQ, "CD");
+ tt_str_op(lines->next->value, OP_EQ, "EF");
+ enc = kvline_encode(lines, 0);
+ tt_str_op(enc, OP_EQ, "A=B CD=EF");
+ tor_free(enc);
+ enc = kvline_encode(lines, KV_QUOTED|KV_OMIT_KEYS);
+ tt_str_op(enc, OP_EQ, "A=B CD=EF");
+ tor_free(enc);
+ config_free_lines(lines);
+
+ lines = kvline_parse("AB CDE=F", 0);
+ tt_assert(! lines);
+
+ lines = kvline_parse("AB CDE=F", KV_OMIT_KEYS);
+ tt_assert(lines);
+ tt_str_op(lines->key, OP_EQ, "");
+ tt_str_op(lines->value, OP_EQ, "AB");
+ tt_str_op(lines->next->key, OP_EQ, "CDE");
+ tt_str_op(lines->next->value, OP_EQ, "F");
+ tt_assert(lines);
+ enc = kvline_encode(lines, 0);
+ tt_assert(!enc);
+ enc = kvline_encode(lines, KV_QUOTED|KV_OMIT_KEYS);
+ tt_str_op(enc, OP_EQ, "AB CDE=F");
+ tor_free(enc);
+ config_free_lines(lines);
+
+ lines = kvline_parse("AB=C CDE=\"F G\"", 0);
+ tt_assert(!lines);
+
+ lines = kvline_parse("AB=C CDE=\"F G\" \"GHI\" ", KV_QUOTED|KV_OMIT_KEYS);
+ tt_assert(lines);
+ tt_str_op(lines->key, OP_EQ, "AB");
+ tt_str_op(lines->value, OP_EQ, "C");
+ tt_str_op(lines->next->key, OP_EQ, "CDE");
+ tt_str_op(lines->next->value, OP_EQ, "F G");
+ tt_str_op(lines->next->next->key, OP_EQ, "");
+ tt_str_op(lines->next->next->value, OP_EQ, "GHI");
+ enc = kvline_encode(lines, 0);
+ tt_assert(!enc);
+ enc = kvline_encode(lines, KV_QUOTED|KV_OMIT_KEYS);
+ tt_str_op(enc, OP_EQ, "AB=C CDE=\"F G\" GHI");
+ tor_free(enc);
+ config_free_lines(lines);
+
+ lines = kvline_parse("A\"B=C CDE=\"F\" \"GHI\" ", KV_QUOTED|KV_OMIT_KEYS);
+ tt_assert(! lines);
+
+ lines = kvline_parse("AB=", KV_QUOTED);
+ tt_assert(lines);
+ tt_str_op(lines->key, OP_EQ, "AB");
+ tt_str_op(lines->value, OP_EQ, "");
+ config_free_lines(lines);
+
+ lines = kvline_parse("AB=", 0);
+ tt_assert(lines);
+ tt_str_op(lines->key, OP_EQ, "AB");
+ tt_str_op(lines->value, OP_EQ, "");
+
+ done:
+ config_free_lines(lines);
+ tor_free(enc);
+}
+
#define CONFIG_TEST(name, flags) \
{ #name, test_config_ ## name, flags, NULL, NULL }
@@ -5864,5 +5941,6 @@ struct testcase_t config_tests[] = {
CONFIG_TEST(include_opened_file_list, 0),
CONFIG_TEST(compute_max_mem_in_queues, 0),
CONFIG_TEST(extended_fmt, 0),
+ CONFIG_TEST(kvline_parse, 0),
END_OF_TESTCASES
};
diff --git a/src/test/test_consdiff.c b/src/test/test_consdiff.c
index b836befd22..23e8f7167e 100644
--- a/src/test/test_consdiff.c
+++ b/src/test/test_consdiff.c
@@ -14,6 +14,39 @@
#define tt_str_eq_line(a,b) \
tt_assert(line_str_eq((b),(a)))
+static int
+consensus_split_lines_(smartlist_t *out, const char *s, memarea_t *area)
+{
+ size_t len = strlen(s);
+ return consensus_split_lines(out, s, len, area);
+}
+
+static int
+consensus_compute_digest_(const char *cons,
+ consensus_digest_t *digest_out)
+{
+ size_t len = strlen(cons);
+ char *tmp = tor_memdup(cons, len);
+ // We use memdup here to ensure that the input is NOT nul-terminated.
+ // This makes it likelier for us to spot bugs.
+ int r = consensus_compute_digest(tmp, len, digest_out);
+ tor_free(tmp);
+ return r;
+}
+
+static int
+consensus_compute_digest_as_signed_(const char *cons,
+ consensus_digest_t *digest_out)
+{
+ size_t len = strlen(cons);
+ char *tmp = tor_memdup(cons, len);
+ // We use memdup here to ensure that the input is NOT nul-terminated.
+ // This makes it likelier for us to spot bugs.
+ int r = consensus_compute_digest_as_signed(tmp, len, digest_out);
+ tor_free(tmp);
+ return r;
+}
+
static void
test_consdiff_smartlist_slice(void *arg)
{
@@ -58,7 +91,7 @@ test_consdiff_smartlist_slice_string_pos(void *arg)
/* Create a regular smartlist. */
(void)arg;
- consensus_split_lines(sl, "a\nd\nc\na\nb\n", area);
+ consensus_split_lines_(sl, "a\nd\nc\na\nb\n", area);
/* See that smartlist_slice_string_pos respects the bounds of the slice. */
sls = smartlist_slice(sl, 2, 5);
@@ -87,8 +120,8 @@ test_consdiff_lcs_lengths(void *arg)
int e_lengths2[] = { 0, 1, 1, 2, 3, 4 };
(void)arg;
- consensus_split_lines(sl1, "a\nb\nc\nd\ne\n", area);
- consensus_split_lines(sl2, "a\nc\nd\ni\ne\n", area);
+ consensus_split_lines_(sl1, "a\nb\nc\nd\ne\n", area);
+ consensus_split_lines_(sl2, "a\nc\nd\ni\ne\n", area);
sls1 = smartlist_slice(sl1, 0, -1);
sls2 = smartlist_slice(sl2, 0, -1);
@@ -119,10 +152,10 @@ test_consdiff_trim_slices(void *arg)
memarea_t *area = memarea_new();
(void)arg;
- consensus_split_lines(sl1, "a\nb\nb\nb\nd\n", area);
- consensus_split_lines(sl2, "a\nc\nc\nc\nd\n", area);
- consensus_split_lines(sl3, "a\nb\nb\nb\na\n", area);
- consensus_split_lines(sl4, "c\nb\nb\nb\nc\n", area);
+ consensus_split_lines_(sl1, "a\nb\nb\nb\nd\n", area);
+ consensus_split_lines_(sl2, "a\nc\nc\nc\nd\n", area);
+ consensus_split_lines_(sl3, "a\nb\nb\nb\na\n", area);
+ consensus_split_lines_(sl4, "c\nb\nb\nb\nc\n", area);
sls1 = smartlist_slice(sl1, 0, -1);
sls2 = smartlist_slice(sl2, 0, -1);
sls3 = smartlist_slice(sl3, 0, -1);
@@ -165,8 +198,8 @@ test_consdiff_set_changed(void *arg)
memarea_t *area = memarea_new();
(void)arg;
- consensus_split_lines(sl1, "a\nb\na\na\n", area);
- consensus_split_lines(sl2, "a\na\na\na\n", area);
+ consensus_split_lines_(sl1, "a\nb\na\na\n", area);
+ consensus_split_lines_(sl2, "a\na\na\na\n", area);
/* Length of sls1 is 0. */
sls1 = smartlist_slice(sl1, 0, 0);
@@ -240,8 +273,8 @@ test_consdiff_calc_changes(void *arg)
memarea_t *area = memarea_new();
(void)arg;
- consensus_split_lines(sl1, "a\na\na\na\n", area);
- consensus_split_lines(sl2, "a\na\na\na\n", area);
+ consensus_split_lines_(sl1, "a\na\na\na\n", area);
+ consensus_split_lines_(sl2, "a\na\na\na\n", area);
sls1 = smartlist_slice(sl1, 0, -1);
sls2 = smartlist_slice(sl2, 0, -1);
@@ -259,7 +292,7 @@ test_consdiff_calc_changes(void *arg)
tt_assert(!bitarray_is_set(changed2, 3));
smartlist_clear(sl2);
- consensus_split_lines(sl2, "a\nb\na\nb\n", area);
+ consensus_split_lines_(sl2, "a\nb\na\nb\n", area);
tor_free(sls1);
tor_free(sls2);
sls1 = smartlist_slice(sl1, 0, -1);
@@ -282,7 +315,7 @@ test_consdiff_calc_changes(void *arg)
bitarray_clear(changed1, 3);
smartlist_clear(sl2);
- consensus_split_lines(sl2, "b\nb\nb\nb\n", area);
+ consensus_split_lines_(sl2, "b\nb\nb\nb\n", area);
tor_free(sls1);
tor_free(sls2);
sls1 = smartlist_slice(sl1, 0, -1);
@@ -610,8 +643,8 @@ test_consdiff_gen_ed_diff(void *arg)
/* Test 'a', 'c' and 'd' together. See that it is done in reverse order. */
smartlist_clear(cons1);
smartlist_clear(cons2);
- consensus_split_lines(cons1, "A\nB\nC\nD\nE\n", area);
- consensus_split_lines(cons2, "A\nC\nO\nE\nU\n", area);
+ consensus_split_lines_(cons1, "A\nB\nC\nD\nE\n", area);
+ consensus_split_lines_(cons2, "A\nC\nO\nE\nU\n", area);
diff = gen_ed_diff(cons1, cons2, area);
tt_ptr_op(NULL, OP_NE, diff);
tt_int_op(7, OP_EQ, smartlist_len(diff));
@@ -627,8 +660,8 @@ test_consdiff_gen_ed_diff(void *arg)
smartlist_clear(cons1);
smartlist_clear(cons2);
- consensus_split_lines(cons1, "B\n", area);
- consensus_split_lines(cons2, "A\nB\n", area);
+ consensus_split_lines_(cons1, "B\n", area);
+ consensus_split_lines_(cons2, "A\nB\n", area);
diff = gen_ed_diff(cons1, cons2, area);
tt_ptr_op(NULL, OP_NE, diff);
tt_int_op(3, OP_EQ, smartlist_len(diff));
@@ -656,7 +689,7 @@ test_consdiff_apply_ed_diff(void *arg)
diff = smartlist_new();
setup_capture_of_logs(LOG_WARN);
- consensus_split_lines(cons1, "A\nB\nC\nD\nE\n", area);
+ consensus_split_lines_(cons1, "A\nB\nC\nD\nE\n", area);
/* Command without range. */
smartlist_add_linecpy(diff, area, "a");
@@ -829,7 +862,7 @@ test_consdiff_apply_ed_diff(void *arg)
smartlist_clear(diff);
/* Test appending text, 'a'. */
- consensus_split_lines(diff, "3a\nU\nO\n.\n0a\nV\n.\n", area);
+ consensus_split_lines_(diff, "3a\nU\nO\n.\n0a\nV\n.\n", area);
cons2 = apply_ed_diff(cons1, diff, 0);
tt_ptr_op(NULL, OP_NE, cons2);
tt_int_op(8, OP_EQ, smartlist_len(cons2));
@@ -846,7 +879,7 @@ test_consdiff_apply_ed_diff(void *arg)
smartlist_free(cons2);
/* Test deleting text, 'd'. */
- consensus_split_lines(diff, "4d\n1,2d\n", area);
+ consensus_split_lines_(diff, "4d\n1,2d\n", area);
cons2 = apply_ed_diff(cons1, diff, 0);
tt_ptr_op(NULL, OP_NE, cons2);
tt_int_op(2, OP_EQ, smartlist_len(cons2));
@@ -857,7 +890,7 @@ test_consdiff_apply_ed_diff(void *arg)
smartlist_free(cons2);
/* Test changing text, 'c'. */
- consensus_split_lines(diff, "4c\nT\nX\n.\n1,2c\nM\n.\n", area);
+ consensus_split_lines_(diff, "4c\nT\nX\n.\n1,2c\nM\n.\n", area);
cons2 = apply_ed_diff(cons1, diff, 0);
tt_ptr_op(NULL, OP_NE, cons2);
tt_int_op(5, OP_EQ, smartlist_len(cons2));
@@ -871,7 +904,7 @@ test_consdiff_apply_ed_diff(void *arg)
smartlist_free(cons2);
/* Test 'a', 'd' and 'c' together. */
- consensus_split_lines(diff, "4c\nT\nX\n.\n2d\n0a\nM\n.\n", area);
+ consensus_split_lines_(diff, "4c\nT\nX\n.\n2d\n0a\nM\n.\n", area);
cons2 = apply_ed_diff(cons1, diff, 0);
tt_ptr_op(NULL, OP_NE, cons2);
tt_int_op(6, OP_EQ, smartlist_len(cons2));
@@ -918,12 +951,12 @@ test_consdiff_gen_diff(void *arg)
);
tt_int_op(0, OP_EQ,
- consensus_compute_digest_as_signed(cons1_str, &digests1));
+ consensus_compute_digest_as_signed_(cons1_str, &digests1));
tt_int_op(0, OP_EQ,
- consensus_compute_digest(cons2_str, &digests2));
+ consensus_compute_digest_(cons2_str, &digests2));
- consensus_split_lines(cons1, cons1_str, area);
- consensus_split_lines(cons2, cons2_str, area);
+ consensus_split_lines_(cons1, cons1_str, area);
+ consensus_split_lines_(cons2, cons2_str, area);
diff = consdiff_gen_diff(cons1, cons2, &digests1, &digests2, area);
tt_ptr_op(NULL, OP_EQ, diff);
@@ -937,9 +970,9 @@ test_consdiff_gen_diff(void *arg)
"directory-signature foo bar\nbar\n"
);
tt_int_op(0, OP_EQ,
- consensus_compute_digest_as_signed(cons1_str, &digests1));
+ consensus_compute_digest_as_signed_(cons1_str, &digests1));
smartlist_clear(cons1);
- consensus_split_lines(cons1, cons1_str, area);
+ consensus_split_lines_(cons1, cons1_str, area);
diff = consdiff_gen_diff(cons1, cons2, &digests1, &digests2, area);
tt_ptr_op(NULL, OP_NE, diff);
tt_int_op(11, OP_EQ, smartlist_len(diff));
@@ -991,8 +1024,8 @@ test_consdiff_apply_diff(void *arg)
"directory-signature foo bar\nbar\n"
);
tt_int_op(0, OP_EQ,
- consensus_compute_digest(cons1_str, &digests1));
- consensus_split_lines(cons1, cons1_str, area);
+ consensus_compute_digest_(cons1_str, &digests1));
+ consensus_split_lines_(cons1, cons1_str, area);
/* diff doesn't have enough lines. */
cons2 = consdiff_apply_diff(cons1, diff, &digests1);
@@ -1182,4 +1215,3 @@ struct testcase_t consdiff_tests[] = {
CONSDIFF_LEGACY(apply_diff),
END_OF_TESTCASES
};
-
diff --git a/src/test/test_consdiffmgr.c b/src/test/test_consdiffmgr.c
index 6c451da685..b84753ff83 100644
--- a/src/test/test_consdiffmgr.c
+++ b/src/test/test_consdiffmgr.c
@@ -21,6 +21,23 @@
#include "test/test.h"
#include "test/log_test_helpers.h"
+#define consdiffmgr_add_consensus consdiffmgr_add_consensus_nulterm
+
+static char *
+consensus_diff_apply_(const char *c, const char *d)
+{
+ size_t c_len = strlen(c);
+ size_t d_len = strlen(d);
+ // We use memdup here to ensure that the input is NOT nul-terminated.
+ // This makes it likelier for us to spot bugs.
+ char *c_tmp = tor_memdup(c, c_len);
+ char *d_tmp = tor_memdup(d, d_len);
+ char *result = consensus_diff_apply(c_tmp, c_len, d_tmp, d_len);
+ tor_free(c_tmp);
+ tor_free(d_tmp);
+ return result;
+}
+
// ============================== Setup/teardown the consdiffmgr
// These functions get run before/after each test in this module
@@ -153,7 +170,8 @@ lookup_diff_from(consensus_cache_entry_t **out,
const char *str1)
{
uint8_t digest[DIGEST256_LEN];
- if (router_get_networkstatus_v3_sha3_as_signed(digest, str1)<0) {
+ if (router_get_networkstatus_v3_sha3_as_signed(digest,
+ str1, strlen(str1))<0) {
TT_FAIL(("Unable to compute sha3-as-signed"));
return CONSDIFF_NOT_FOUND;
}
@@ -175,14 +193,15 @@ lookup_apply_and_verify_diff(consensus_flavor_t flav,
consensus_cache_entry_incref(ent);
size_t size;
- char *diff_string = NULL;
- int r = uncompress_or_copy(&diff_string, &size, ent);
+ const char *diff_string = NULL;
+ char *diff_owned = NULL;
+ int r = uncompress_or_set_ptr(&diff_string, &size, &diff_owned, ent);
consensus_cache_entry_decref(ent);
if (diff_string == NULL || r < 0)
return -1;
- char *applied = consensus_diff_apply(str1, diff_string);
- tor_free(diff_string);
+ char *applied = consensus_diff_apply(str1, strlen(str1), diff_string, size);
+ tor_free(diff_owned);
if (applied == NULL)
return -1;
@@ -282,7 +301,8 @@ test_consdiffmgr_add(void *arg)
(void) arg;
time_t now = approx_time();
- char *body = NULL;
+ const char *body = NULL;
+ char *body_owned = NULL;
consensus_cache_entry_t *ent = NULL;
networkstatus_t *ns_tmp = fake_ns_new(FLAV_NS, now);
@@ -324,7 +344,7 @@ test_consdiffmgr_add(void *arg)
tt_assert(ent);
consensus_cache_entry_incref(ent);
size_t s;
- r = uncompress_or_copy(&body, &s, ent);
+ r = uncompress_or_set_ptr(&body, &s, &body_owned, ent);
tt_int_op(r, OP_EQ, 0);
tt_int_op(s, OP_EQ, 4);
tt_mem_op(body, OP_EQ, "quux", 4);
@@ -337,7 +357,7 @@ test_consdiffmgr_add(void *arg)
networkstatus_vote_free(ns_tmp);
teardown_capture_of_logs();
consensus_cache_entry_decref(ent);
- tor_free(body);
+ tor_free(body_owned);
}
static void
@@ -370,7 +390,8 @@ test_consdiffmgr_make_diffs(void *arg)
ns = fake_ns_new(FLAV_MICRODESC, now-3600);
md_ns_body = fake_ns_body_new(FLAV_MICRODESC, now-3600);
r = consdiffmgr_add_consensus(md_ns_body, ns);
- router_get_networkstatus_v3_sha3_as_signed(md_ns_sha3, md_ns_body);
+ router_get_networkstatus_v3_sha3_as_signed(md_ns_sha3, md_ns_body,
+ strlen(md_ns_body));
networkstatus_vote_free(ns);
tt_int_op(r, OP_EQ, 0);
@@ -414,7 +435,7 @@ test_consdiffmgr_make_diffs(void *arg)
r = consensus_cache_entry_get_body(diff, &diff_body, &diff_size);
tt_int_op(r, OP_EQ, 0);
diff_text = tor_memdup_nulterm(diff_body, diff_size);
- applied = consensus_diff_apply(md_ns_body, diff_text);
+ applied = consensus_diff_apply_(md_ns_body, diff_text);
tt_assert(applied);
tt_str_op(applied, OP_EQ, md_ns_body_2);
diff --git a/src/test/test_dir.c b/src/test/test_dir.c
index c18aa99fea..5cdbd877ce 100644
--- a/src/test/test_dir.c
+++ b/src/test/test_dir.c
@@ -94,6 +94,23 @@
#define NS_MODULE dir
+static networkstatus_t *
+networkstatus_parse_vote_from_string_(const char *s,
+ const char **eos_out,
+ enum networkstatus_type_t ns_type)
+{
+ size_t len = strlen(s);
+ // memdup so that it won't be nul-terminated.
+ char *tmp = tor_memdup(s, len);
+ networkstatus_t *result =
+ networkstatus_parse_vote_from_string(tmp, len, eos_out, ns_type);
+ if (eos_out && *eos_out) {
+ *eos_out = s + (*eos_out - tmp);
+ }
+ tor_free(tmp);
+ return result;
+}
+
static void
test_dir_nicknames(void *arg)
{
@@ -2806,11 +2823,17 @@ test_a_networkstatus(
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
/* Parse certificates and keys. */
- cert1 = mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ cert1 = mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
tt_assert(cert1);
- cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2, NULL);
+ cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2,
+ strlen(AUTHORITY_CERT_2),
+ NULL);
tt_assert(cert2);
- cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3, NULL);
+ cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3,
+ strlen(AUTHORITY_CERT_3),
+ NULL);
tt_assert(cert3);
sign_skey_1 = crypto_pk_new();
sign_skey_2 = crypto_pk_new();
@@ -2912,7 +2935,7 @@ test_a_networkstatus(
sign_skey_leg1,
FLAV_NS);
tt_assert(consensus_text);
- con = networkstatus_parse_vote_from_string(consensus_text, NULL,
+ con = networkstatus_parse_vote_from_string_(consensus_text, NULL,
NS_TYPE_CONSENSUS);
tt_assert(con);
//log_notice(LD_GENERAL, "<<%s>>\n<<%s>>\n<<%s>>\n",
@@ -2924,7 +2947,7 @@ test_a_networkstatus(
sign_skey_leg1,
FLAV_MICRODESC);
tt_assert(consensus_text_md);
- con_md = networkstatus_parse_vote_from_string(consensus_text_md, NULL,
+ con_md = networkstatus_parse_vote_from_string_(consensus_text_md, NULL,
NS_TYPE_CONSENSUS);
tt_assert(con_md);
tt_int_op(con_md->flavor,OP_EQ, FLAV_MICRODESC);
@@ -3023,13 +3046,13 @@ test_a_networkstatus(
tt_assert(consensus_text3);
tt_assert(consensus_text_md2);
tt_assert(consensus_text_md3);
- con2 = networkstatus_parse_vote_from_string(consensus_text2, NULL,
+ con2 = networkstatus_parse_vote_from_string_(consensus_text2, NULL,
NS_TYPE_CONSENSUS);
- con3 = networkstatus_parse_vote_from_string(consensus_text3, NULL,
+ con3 = networkstatus_parse_vote_from_string_(consensus_text3, NULL,
NS_TYPE_CONSENSUS);
- con_md2 = networkstatus_parse_vote_from_string(consensus_text_md2, NULL,
+ con_md2 = networkstatus_parse_vote_from_string_(consensus_text_md2, NULL,
NS_TYPE_CONSENSUS);
- con_md3 = networkstatus_parse_vote_from_string(consensus_text_md3, NULL,
+ con_md3 = networkstatus_parse_vote_from_string_(consensus_text_md3, NULL,
NS_TYPE_CONSENSUS);
tt_assert(con2);
tt_assert(con3);
@@ -6030,6 +6053,80 @@ test_dir_find_dl_min_delay(void* data)
}
static void
+test_dir_matching_flags(void *arg)
+{
+ (void) arg;
+ routerstatus_t *rs_noflags = NULL;
+ routerstatus_t *rs = NULL;
+ char *s = NULL;
+
+ smartlist_t *tokens = smartlist_new();
+ memarea_t *area = memarea_new();
+
+ int expected_val_when_unused = 0;
+
+ const char *ex_noflags =
+ "r example hereiswhereyouridentitygoes 2015-08-30 12:00:00 "
+ "192.168.0.1 9001 0\n"
+ "m thisoneislongerbecauseitisa256bitmddigest33\n"
+ "s\n";
+ const char *cp = ex_noflags;
+ rs_noflags = routerstatus_parse_entry_from_string(
+ area, &cp,
+ cp + strlen(cp),
+ tokens, NULL, NULL,
+ MAX_SUPPORTED_CONSENSUS_METHOD, FLAV_MICRODESC);
+ tt_assert(rs_noflags);
+
+#define FLAG(string, field) STMT_BEGIN { \
+ tor_asprintf(&s,\
+ "r example hereiswhereyouridentitygoes 2015-08-30 12:00:00 " \
+ "192.168.0.1 9001 0\n" \
+ "m thisoneislongerbecauseitisa256bitmddigest33\n" \
+ "s %s\n", string); \
+ cp = s; \
+ rs = routerstatus_parse_entry_from_string( \
+ area, &cp, \
+ cp + strlen(cp), \
+ tokens, NULL, NULL, \
+ MAX_SUPPORTED_CONSENSUS_METHOD, FLAV_MICRODESC); \
+ /* the field should usually be 0 when no flags are listed */ \
+ tt_int_op(rs_noflags->field, OP_EQ, expected_val_when_unused); \
+ /* the field should be 1 when this flags islisted */ \
+ tt_int_op(rs->field, OP_EQ, 1); \
+ tor_free(s); \
+ routerstatus_free(rs); \
+} STMT_END
+
+ FLAG("Authority", is_authority);
+ FLAG("BadExit", is_bad_exit);
+ FLAG("Exit", is_exit);
+ FLAG("Fast", is_fast);
+ FLAG("Guard", is_possible_guard);
+ FLAG("HSDir", is_hs_dir);
+ FLAG("Stable", is_stable);
+ FLAG("StaleDesc", is_staledesc);
+ FLAG("V2Dir", is_v2_dir);
+
+ // These flags are assumed to be set whether they're declared or not.
+ expected_val_when_unused = 1;
+ FLAG("Running", is_flagged_running);
+ FLAG("Valid", is_valid);
+ expected_val_when_unused = 0;
+
+ // These flags are no longer used, but still parsed.
+ FLAG("Named", is_named);
+ FLAG("Unnamed", is_unnamed);
+
+ done:
+ tor_free(s);
+ routerstatus_free(rs);
+ routerstatus_free(rs_noflags);
+ memarea_drop_all(area);
+ smartlist_free(tokens);
+}
+
+static void
test_dir_assumed_flags(void *arg)
{
(void)arg;
@@ -6044,9 +6141,10 @@ test_dir_assumed_flags(void *arg)
"192.168.0.1 9001 0\n"
"m thisoneislongerbecauseitisa256bitmddigest33\n"
"s Fast Guard Stable\n";
+ const char *eos = str1 + strlen(str1);
const char *cp = str1;
- rs = routerstatus_parse_entry_from_string(area, &cp, tokens, NULL, NULL,
+ rs = routerstatus_parse_entry_from_string(area, &cp, eos, tokens, NULL, NULL,
24, FLAV_MICRODESC);
tt_assert(rs);
tt_assert(rs->is_flagged_running);
@@ -6353,6 +6451,7 @@ struct testcase_t dir_tests[] = {
DIR_ARG(find_dl_min_delay, TT_FORK, "cfr"),
DIR_ARG(find_dl_min_delay, TT_FORK, "car"),
DIR(assumed_flags, 0),
+ DIR(matching_flags, 0),
DIR(networkstatus_compute_bw_weights_v10, 0),
DIR(platform_str, 0),
DIR(networkstatus_consensus_has_ipv6, TT_FORK),
diff --git a/src/test/test_dir_common.c b/src/test/test_dir_common.c
index 86d2838944..eadeb11921 100644
--- a/src/test/test_dir_common.c
+++ b/src/test/test_dir_common.c
@@ -42,14 +42,20 @@ dir_common_authority_pk_init(authority_cert_t **cert1,
{
/* Parse certificates and keys. */
authority_cert_t *cert;
- cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
tt_assert(cert);
tt_assert(cert->identity_key);
*cert1 = cert;
tt_assert(*cert1);
- *cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2, NULL);
+ *cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2,
+ strlen(AUTHORITY_CERT_2),
+ NULL);
tt_assert(*cert2);
- *cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3, NULL);
+ *cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3,
+ strlen(AUTHORITY_CERT_3),
+ NULL);
tt_assert(*cert3);
*sign_skey_1 = crypto_pk_new();
*sign_skey_2 = crypto_pk_new();
@@ -266,7 +272,9 @@ dir_common_add_rs_and_parse(networkstatus_t *vote, networkstatus_t **vote_out,
/* dump the vote and try to parse it. */
v_text = format_networkstatus_vote(sign_skey, vote);
tt_assert(v_text);
- *vote_out = networkstatus_parse_vote_from_string(v_text, NULL, NS_TYPE_VOTE);
+ *vote_out = networkstatus_parse_vote_from_string(v_text,
+ strlen(v_text),
+ NULL, NS_TYPE_VOTE);
done:
if (v_text)
@@ -424,4 +432,3 @@ dir_common_construct_vote_3(networkstatus_t **vote, authority_cert_t *cert,
return 0;
}
-
diff --git a/src/test/test_dir_handle_get.c b/src/test/test_dir_handle_get.c
index 1d4a36d7fc..2ce98769af 100644
--- a/src/test/test_dir_handle_get.c
+++ b/src/test/test_dir_handle_get.c
@@ -72,6 +72,8 @@ ENABLE_GCC_WARNING(overlength-strings)
#define NOT_ENOUGH_CONSENSUS_SIGNATURES "HTTP/1.0 404 " \
"Consensus not signed by sufficient number of requested authorities\r\n\r\n"
+#define consdiffmgr_add_consensus consdiffmgr_add_consensus_nulterm
+
static dir_connection_t *
new_dir_conn(void)
{
@@ -1275,7 +1277,9 @@ test_dir_handle_get_server_keys_authority(void* data)
size_t body_used = 0;
(void) data;
- mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL);
+ mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE,
+ strlen(TEST_CERTIFICATE),
+ NULL);
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
MOCK(connection_write_to_buf_impl_, connection_write_to_buf_mock);
@@ -1425,7 +1429,9 @@ test_dir_handle_get_server_keys_sk(void* data)
size_t body_used = 0;
(void) data;
- mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL);
+ mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE,
+ strlen(TEST_CERTIFICATE),
+ NULL);
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
MOCK(connection_write_to_buf_impl_, connection_write_to_buf_mock);
@@ -2393,7 +2399,9 @@ test_dir_handle_get_status_vote_next_authority(void* data)
routerlist_free_all();
dirvote_free_all();
- mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL);
+ mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE,
+ strlen(TEST_CERTIFICATE),
+ NULL);
/* create a trusted ds */
ds = trusted_dir_server_new("ds", "127.0.0.1", 9059, 9060, NULL, digest,
@@ -2471,7 +2479,9 @@ test_dir_handle_get_status_vote_current_authority(void* data)
routerlist_free_all();
dirvote_free_all();
- mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL);
+ mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE,
+ strlen(TEST_CERTIFICATE),
+ NULL);
/* create a trusted ds */
ds = trusted_dir_server_new("ds", "127.0.0.1", 9059, 9060, NULL, digest,
diff --git a/src/test/test_dns.c b/src/test/test_dns.c
index 8369f844f6..ea0fcf8c5e 100644
--- a/src/test/test_dns.c
+++ b/src/test/test_dns.c
@@ -1,6 +1,7 @@
/* Copyright (c) 2015-2018, The Tor Project, Inc. */
/* See LICENSE for licensing information */
+#include "orconfig.h"
#include "core/or/or.h"
#include "test/test.h"
@@ -13,9 +14,71 @@
#include "core/or/edge_connection_st.h"
#include "core/or/or_circuit_st.h"
+#include "app/config/or_options_st.h"
+#include "app/config/config.h"
+
+#include <event2/event.h>
+#include <event2/dns.h>
#define NS_MODULE dns
+#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR
+#define NS_SUBMODULE configure_nameservers_fallback
+
+static or_options_t options = {
+ .ORPort_set = 1,
+};
+
+static const or_options_t *
+mock_get_options(void)
+{
+ return &options;
+}
+
+static void
+NS(test_main)(void *arg)
+{
+ (void)arg;
+ tor_addr_t *nameserver_addr = NULL;
+
+ MOCK(get_options, mock_get_options);
+
+ options.ServerDNSResolvConfFile = (char *)"no_such_file!!!";
+
+ dns_init(); // calls configure_nameservers()
+
+ tt_int_op(number_of_configured_nameservers(), OP_EQ, 1);
+
+ nameserver_addr = configured_nameserver_address(0);
+
+ tt_assert(tor_addr_family(nameserver_addr) == AF_INET);
+ tt_assert(tor_addr_eq_ipv4h(nameserver_addr, 0x7f000001));
+
+#ifndef _WIN32
+ tor_free(nameserver_addr);
+
+ options.ServerDNSResolvConfFile = (char *)"/dev/null";
+
+ dns_init();
+
+ tt_int_op(number_of_configured_nameservers(), OP_EQ, 1);
+
+ nameserver_addr = configured_nameserver_address(0);
+
+ tt_assert(tor_addr_family(nameserver_addr) == AF_INET);
+ tt_assert(tor_addr_eq_ipv4h(nameserver_addr, 0x7f000001));
+#endif
+
+ UNMOCK(get_options);
+
+ done:
+ tor_free(nameserver_addr);
+ return;
+}
+
+#undef NS_SUBMODULE
+#endif
+
#define NS_SUBMODULE clip_ttl
static void
@@ -736,6 +799,9 @@ NS(test_main)(void *arg)
#undef NS_SUBMODULE
struct testcase_t dns_tests[] = {
+#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR
+ TEST_CASE(configure_nameservers_fallback),
+#endif
TEST_CASE(clip_ttl),
TEST_CASE(resolve),
TEST_CASE_ASPECT(resolve_impl, addr_is_ip_no_need_to_resolve),
diff --git a/src/test/test_entrynodes.c b/src/test/test_entrynodes.c
index b67c9fae53..16b14c0b73 100644
--- a/src/test/test_entrynodes.c
+++ b/src/test/test_entrynodes.c
@@ -74,9 +74,10 @@ bfn_mock_nodelist_get_list(void)
}
static networkstatus_t *
-bfn_mock_networkstatus_get_live_consensus(time_t now)
+bfn_mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
{
(void)now;
+ (void)flavor;
return dummy_consensus;
}
@@ -118,7 +119,7 @@ big_fake_network_cleanup(const struct testcase_t *testcase, void *ptr)
UNMOCK(nodelist_get_list);
UNMOCK(node_get_by_id);
UNMOCK(get_or_state);
- UNMOCK(networkstatus_get_live_consensus);
+ UNMOCK(networkstatus_get_reasonably_live_consensus);
or_state_free(dummy_state);
dummy_state = NULL;
tor_free(dummy_consensus);
@@ -136,6 +137,12 @@ big_fake_network_setup(const struct testcase_t *testcase)
* that we need for entrynodes.c. */
const int N_NODES = 271;
+ const char *argument = testcase->setup_data;
+ int reasonably_live_consensus = 0;
+ if (argument) {
+ reasonably_live_consensus = strstr(argument, "reasonably-live") != NULL;
+ }
+
big_fake_net_nodes = smartlist_new();
for (i = 0; i < N_NODES; ++i) {
curve25519_secret_key_t curve25519_secret_key;
@@ -191,15 +198,23 @@ big_fake_network_setup(const struct testcase_t *testcase)
dummy_state = tor_malloc_zero(sizeof(or_state_t));
dummy_consensus = tor_malloc_zero(sizeof(networkstatus_t));
- dummy_consensus->valid_after = approx_time() - 3600;
- dummy_consensus->valid_until = approx_time() + 3600;
+ if (reasonably_live_consensus) {
+ /* Make the dummy consensus valid from 4 hours ago, but expired an hour
+ * ago. */
+ dummy_consensus->valid_after = approx_time() - 4*3600;
+ dummy_consensus->valid_until = approx_time() - 3600;
+ } else {
+ /* Make the dummy consensus valid for an hour either side of now. */
+ dummy_consensus->valid_after = approx_time() - 3600;
+ dummy_consensus->valid_until = approx_time() + 3600;
+ }
MOCK(nodelist_get_list, bfn_mock_nodelist_get_list);
MOCK(node_get_by_id, bfn_mock_node_get_by_id);
MOCK(get_or_state,
get_or_state_replacement);
- MOCK(networkstatus_get_live_consensus,
- bfn_mock_networkstatus_get_live_consensus);
+ MOCK(networkstatus_get_reasonably_live_consensus,
+ bfn_mock_networkstatus_get_reasonably_live_consensus);
/* Return anything but NULL (it's interpreted as test fail) */
return (void*)testcase;
}
@@ -2691,7 +2706,7 @@ test_entry_guard_upgrade_not_blocked_by_worse_circ_pending(void *arg)
}
static void
-test_enty_guard_should_expire_waiting(void *arg)
+test_entry_guard_should_expire_waiting(void *arg)
{
(void)arg;
circuit_guard_state_t *fake_state = tor_malloc_zero(sizeof(*fake_state));
@@ -2832,13 +2847,16 @@ test_entry_guard_outdated_dirserver_exclusion(void *arg)
digests, 3, 7, 0);
/* ... and check that because we failed to fetch microdescs from all our
- * primaries, we didnt end up selecting a primary for fetching dir info */
+ * primaries, we didn't end up selecting a primary for fetching dir info */
expect_log_msg_containing("No primary or confirmed guards available.");
teardown_capture_of_logs();
}
done:
+ UNMOCK(networkstatus_get_latest_consensus_by_flavor);
+ UNMOCK(directory_initiate_request);
smartlist_free(digests);
+ tor_free(mock_ns_val);
tor_free(args);
if (conn) {
tor_free(conn->requested_resource);
@@ -3009,39 +3027,42 @@ static const struct testcase_setup_t upgrade_circuits = {
upgrade_circuits_setup, upgrade_circuits_cleanup
};
+#define NO_PREFIX_TEST(name) \
+ { #name, test_ ## name, 0, NULL, NULL }
+
+#define EN_TEST_BASE(name, fork, setup, arg) \
+ { #name, test_entry_guard_ ## name, fork, setup, (void*)(arg) }
+
+#define EN_TEST(name) EN_TEST_BASE(name, 0, NULL, NULL)
+#define EN_TEST_FORK(name) EN_TEST_BASE(name, TT_FORK, NULL, NULL)
+
#define BFN_TEST(name) \
- { #name, test_entry_guard_ ## name, TT_FORK, &big_fake_network, NULL }
+ EN_TEST_BASE(name, TT_FORK, &big_fake_network, NULL), \
+ { #name "_reasonably_live", test_entry_guard_ ## name, TT_FORK, \
+ &big_fake_network, (void*)("reasonably-live") }
-#define UPGRADE_TEST(name, arg) \
- { #name, test_entry_guard_ ## name, TT_FORK, &upgrade_circuits, \
- (void*)(arg) }
+#define UPGRADE_TEST(name, arg) \
+ EN_TEST_BASE(name, TT_FORK, &upgrade_circuits, arg), \
+ { #name "_reasonably_live", test_entry_guard_ ## name, TT_FORK, \
+ &upgrade_circuits, (void*)(arg " reasonably-live") }
struct testcase_t entrynodes_tests[] = {
- { "node_preferred_orport",
- test_node_preferred_orport,
- 0, NULL, NULL },
- { "entry_guard_describe", test_entry_guard_describe, 0, NULL, NULL },
- { "randomize_time", test_entry_guard_randomize_time, 0, NULL, NULL },
- { "encode_for_state_minimal",
- test_entry_guard_encode_for_state_minimal, 0, NULL, NULL },
- { "encode_for_state_maximal",
- test_entry_guard_encode_for_state_maximal, 0, NULL, NULL },
- { "parse_from_state_minimal",
- test_entry_guard_parse_from_state_minimal, 0, NULL, NULL },
- { "parse_from_state_maximal",
- test_entry_guard_parse_from_state_maximal, 0, NULL, NULL },
- { "parse_from_state_failure",
- test_entry_guard_parse_from_state_failure, 0, NULL, NULL },
- { "parse_from_state_partial_failure",
- test_entry_guard_parse_from_state_partial_failure, 0, NULL, NULL },
- { "parse_from_state_full",
- test_entry_guard_parse_from_state_full, TT_FORK, NULL, NULL },
- { "parse_from_state_broken",
- test_entry_guard_parse_from_state_broken, TT_FORK, NULL, NULL },
- { "get_guard_selection_by_name",
- test_entry_guard_get_guard_selection_by_name, TT_FORK, NULL, NULL },
- { "number_of_primaries",
- test_entry_guard_number_of_primaries, TT_FORK, NULL, NULL },
+ NO_PREFIX_TEST(node_preferred_orport),
+ NO_PREFIX_TEST(entry_guard_describe),
+
+ EN_TEST(randomize_time),
+ EN_TEST(encode_for_state_minimal),
+ EN_TEST(encode_for_state_maximal),
+ EN_TEST(parse_from_state_minimal),
+ EN_TEST(parse_from_state_maximal),
+ EN_TEST(parse_from_state_failure),
+ EN_TEST(parse_from_state_partial_failure),
+
+ EN_TEST_FORK(parse_from_state_full),
+ EN_TEST_FORK(parse_from_state_broken),
+ EN_TEST_FORK(get_guard_selection_by_name),
+ EN_TEST_FORK(number_of_primaries),
+
BFN_TEST(choose_selection_initial),
BFN_TEST(add_single_guard),
BFN_TEST(node_filter),
@@ -3055,7 +3076,9 @@ struct testcase_t entrynodes_tests[] = {
BFN_TEST(sample_reachable_filtered_empty),
BFN_TEST(retry_unreachable),
BFN_TEST(manage_primary),
- { "guard_preferred", test_entry_guard_guard_preferred, TT_FORK, NULL, NULL },
+
+ EN_TEST_FORK(guard_preferred),
+
BFN_TEST(select_for_circuit_no_confirmed),
BFN_TEST(select_for_circuit_confirmed),
BFN_TEST(select_for_circuit_highlevel_primary),
@@ -3078,8 +3101,8 @@ struct testcase_t entrynodes_tests[] = {
UPGRADE_TEST(upgrade_not_blocked_by_restricted_circ_pending,
"c2-done"),
UPGRADE_TEST(upgrade_not_blocked_by_worse_circ_pending, "c1-done"),
- { "should_expire_waiting", test_enty_guard_should_expire_waiting, TT_FORK,
- NULL, NULL },
+
+ EN_TEST_FORK(should_expire_waiting),
END_OF_TESTCASES
};
diff --git a/src/test/test_extorport.c b/src/test/test_extorport.c
index 71be9131c7..432a9ea5e3 100644
--- a/src/test/test_extorport.c
+++ b/src/test/test_extorport.c
@@ -5,7 +5,7 @@
#define EXT_ORPORT_PRIVATE
#define MAINLOOP_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/mainloop/connection.h"
#include "core/or/connection_or.h"
#include "app/config/config.h"
diff --git a/src/test/test_helpers.c b/src/test/test_helpers.c
index 6ac73bff5c..b7bda16494 100644
--- a/src/test/test_helpers.c
+++ b/src/test/test_helpers.c
@@ -14,7 +14,7 @@
#include "orconfig.h"
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "app/config/confparse.h"
#include "core/mainloop/connection.h"
diff --git a/src/test/test_hs_common.c b/src/test/test_hs_common.c
index 95f7ed14ba..6198573f22 100644
--- a/src/test/test_hs_common.c
+++ b/src/test/test_hs_common.c
@@ -630,7 +630,7 @@ test_disaster_srv(void *arg)
get_disaster_srv(1, srv_one);
get_disaster_srv(2, srv_two);
- /* Check that the cached ones where updated */
+ /* Check that the cached ones were updated */
tt_mem_op(cached_disaster_srv_one, OP_EQ, srv_one, DIGEST256_LEN);
tt_mem_op(cached_disaster_srv_two, OP_EQ, srv_two, DIGEST256_LEN);
diff --git a/src/test/test_hs_config.c b/src/test/test_hs_config.c
index 553b96758a..b6ab0c21f9 100644
--- a/src/test/test_hs_config.c
+++ b/src/test/test_hs_config.c
@@ -366,6 +366,22 @@ test_invalid_service_v3(void *arg)
teardown_capture_of_logs();
}
+ /* v2-specific HiddenServiceAuthorizeClient set. */
+ {
+ const char *conf =
+ "HiddenServiceDir /tmp/tor-test-hs-RANDOM/hs1\n"
+ "HiddenServiceVersion 3\n"
+ "HiddenServiceAuthorizeClient stealth client1\n";
+ setup_full_capture_of_logs(LOG_WARN);
+ ret = helper_config_service(conf, validate_only);
+ tt_int_op(ret, OP_EQ, -1);
+ expect_log_msg_containing("Hidden service option "
+ "HiddenServiceAuthorizeClient is incompatible "
+ "with version 3 of service in "
+ "/tmp/tor-test-hs-RANDOM/hs1");
+ teardown_capture_of_logs();
+ }
+
done:
;
}
diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
index bfe50eb3c6..ee2d71aa75 100644
--- a/src/test/test_hs_service.c
+++ b/src/test/test_hs_service.c
@@ -1457,7 +1457,7 @@ test_build_update_descriptors(void *arg)
/* Time to test the update of those descriptors. At first, we have no node
* in the routerlist so this will find NO suitable node for the IPs. */
setup_full_capture_of_logs(LOG_INFO);
- update_all_descriptors(now);
+ update_all_descriptors_intro_points(now);
expect_log_msg_containing("Unable to find a suitable node to be an "
"introduction point for service");
teardown_capture_of_logs();
@@ -1508,7 +1508,7 @@ test_build_update_descriptors(void *arg)
/* We expect to pick only one intro point from the node above. */
setup_full_capture_of_logs(LOG_INFO);
- update_all_descriptors(now);
+ update_all_descriptors_intro_points(now);
tor_free(node->ri->onion_curve25519_pkey); /* Avoid memleak. */
tor_free(node->ri->cache_info.signing_key_cert);
tor_free(node->ri->onion_pkey);
diff --git a/src/test/test_logging.c b/src/test/test_logging.c
index cd685a4af7..2ecae461a3 100644
--- a/src/test/test_logging.c
+++ b/src/test/test_logging.c
@@ -9,7 +9,6 @@
#include "lib/err/torerr.h"
#include "lib/log/log.h"
#include "test/test.h"
-#include "lib/process/subprocess.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
@@ -117,22 +116,27 @@ test_sigsafe_err(void *arg)
content = read_file_to_str(fn, 0, NULL);
tt_ptr_op(content, OP_NE, NULL);
- tor_split_lines(lines, content, (int)strlen(content));
+ smartlist_split_string(lines, content, "\n", 0, 0);
tt_int_op(smartlist_len(lines), OP_GE, 5);
- if (strstr(smartlist_get(lines, 0), "opening new log file"))
+ if (strstr(smartlist_get(lines, 0), "opening new log file")) {
+ void *item = smartlist_get(lines, 0);
smartlist_del_keeporder(lines, 0);
+ tor_free(item);
+ }
+
tt_assert(strstr(smartlist_get(lines, 0), "Say, this isn't too cool"));
- /* Next line is blank. */
- tt_assert(!strcmpstart(smartlist_get(lines, 1), "=============="));
- tt_assert(!strcmpstart(smartlist_get(lines, 2), "Minimal."));
- /* Next line is blank. */
- tt_assert(!strcmpstart(smartlist_get(lines, 3), "=============="));
- tt_str_op(smartlist_get(lines, 4), OP_EQ,
+ tt_str_op(smartlist_get(lines, 1), OP_EQ, "");
+ tt_assert(!strcmpstart(smartlist_get(lines, 2), "=============="));
+ tt_assert(!strcmpstart(smartlist_get(lines, 3), "Minimal."));
+ tt_str_op(smartlist_get(lines, 4), OP_EQ, "");
+ tt_assert(!strcmpstart(smartlist_get(lines, 5), "=============="));
+ tt_str_op(smartlist_get(lines, 6), OP_EQ,
"Testing any attempt to manually log from a signal.");
done:
tor_free(content);
+ SMARTLIST_FOREACH(lines, char *, x, tor_free(x));
smartlist_free(lines);
}
diff --git a/src/test/test_mainloop.c b/src/test/test_mainloop.c
index 92ce2e9918..d797417912 100644
--- a/src/test/test_mainloop.c
+++ b/src/test/test_mainloop.c
@@ -6,11 +6,23 @@
* \brief Tests for functions closely related to the Tor main loop
*/
+#define CONFIG_PRIVATE
+#define MAINLOOP_PRIVATE
+#define STATEFILE_PRIVATE
+
#include "test/test.h"
#include "test/log_test_helpers.h"
#include "core/or/or.h"
+#include "core/mainloop/connection.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
+
+#include "feature/hs/hs_service.h"
+
+#include "app/config/config.h"
+#include "app/config/statefile.h"
+#include "app/config/or_state_st.h"
static const uint64_t BILLION = 1000000000;
@@ -131,12 +143,219 @@ test_mainloop_update_time_jumps(void *arg)
monotime_disable_test_mocking();
}
+static int schedule_rescan_called = 0;
+static void
+mock_schedule_rescan_periodic_events(void)
+{
+ ++schedule_rescan_called;
+}
+
+static void
+test_mainloop_user_activity(void *arg)
+{
+ (void)arg;
+ const time_t start = 1542658829;
+ update_approx_time(start);
+
+ MOCK(schedule_rescan_periodic_events, mock_schedule_rescan_periodic_events);
+
+ reset_user_activity(start);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start);
+
+ set_network_participation(false);
+
+ // reset can move backwards and forwards, but does not change network
+ // participation.
+ reset_user_activity(start-10);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start-10);
+ reset_user_activity(start+10);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+10);
+
+ tt_int_op(schedule_rescan_called, OP_EQ, 0);
+ tt_int_op(false, OP_EQ, is_participating_on_network());
+
+ // "note" can only move forward. Calling it from a non-participating
+ // state makes us rescan the periodic callbacks and set participation.
+ note_user_activity(start+20);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+20);
+ tt_int_op(true, OP_EQ, is_participating_on_network());
+ tt_int_op(schedule_rescan_called, OP_EQ, 1);
+
+ // Calling it again will move us forward, but not call rescan again.
+ note_user_activity(start+25);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+25);
+ tt_int_op(true, OP_EQ, is_participating_on_network());
+ tt_int_op(schedule_rescan_called, OP_EQ, 1);
+
+ // We won't move backwards.
+ note_user_activity(start+20);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+25);
+ tt_int_op(true, OP_EQ, is_participating_on_network());
+ tt_int_op(schedule_rescan_called, OP_EQ, 1);
+
+ // We _will_ adjust if the clock jumps though.
+ netstatus_note_clock_jumped(500);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+525);
+
+ netstatus_note_clock_jumped(-400);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+125);
+
+ done:
+ UNMOCK(schedule_rescan_periodic_events);
+}
+
+static unsigned int
+mock_get_num_services(void)
+{
+ return 1;
+}
+
+static connection_t *
+mock_connection_gbtu(int type)
+{
+ (void) type;
+ return (void *)"hello fellow connections";
+}
+
+static void
+test_mainloop_check_participation(void *arg)
+{
+ (void)arg;
+ or_options_t *options = options_new();
+ const time_t start = 1542658829;
+ const time_t ONE_DAY = 24*60*60;
+
+ // Suppose we've been idle for a day or two
+ reset_user_activity(start - 2*ONE_DAY);
+ set_network_participation(true);
+ check_network_participation_callback(start, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, false);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start-2*ONE_DAY);
+
+ // suppose we've been idle for 2 days... but we are a server.
+ reset_user_activity(start - 2*ONE_DAY);
+ options->ORPort_set = 1;
+ set_network_participation(true);
+ check_network_participation_callback(start+2, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, true);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+2);
+ options->ORPort_set = 0;
+
+ // idle for 2 days, but we have a hidden service.
+ reset_user_activity(start - 2*ONE_DAY);
+ set_network_participation(true);
+ MOCK(hs_service_get_num_services, mock_get_num_services);
+ check_network_participation_callback(start+3, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, true);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+3);
+ UNMOCK(hs_service_get_num_services);
+
+ // idle for 2 days but we have at least one user connection
+ MOCK(connection_get_by_type_nonlinked, mock_connection_gbtu);
+ reset_user_activity(start - 2*ONE_DAY);
+ set_network_participation(true);
+ options->DormantTimeoutDisabledByIdleStreams = 1;
+ check_network_participation_callback(start+10, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, true);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+10);
+
+ // as above, but DormantTimeoutDisabledByIdleStreams is not set
+ reset_user_activity(start - 2*ONE_DAY);
+ set_network_participation(true);
+ options->DormantTimeoutDisabledByIdleStreams = 0;
+ check_network_participation_callback(start+13, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, false);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start-2*ONE_DAY);
+ UNMOCK(connection_get_by_type_nonlinked);
+ options->DormantTimeoutDisabledByIdleStreams = 1;
+
+ // idle for 2 days but DormantClientTimeout is 3 days
+ reset_user_activity(start - 2*ONE_DAY);
+ set_network_participation(true);
+ options->DormantClientTimeout = ONE_DAY * 3;
+ check_network_participation_callback(start+30, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, true);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start-2*ONE_DAY);
+
+ done:
+ or_options_free(options);
+ UNMOCK(hs_service_get_num_services);
+ UNMOCK(connection_get_by_type_nonlinked);
+}
+
+static void
+test_mainloop_dormant_load_state(void *arg)
+{
+ (void)arg;
+ or_state_t *state = or_state_new();
+ const time_t start = 1543956575;
+
+ reset_user_activity(0);
+ set_network_participation(false);
+
+ // When we construct a new state, it starts out in "auto" mode.
+ tt_int_op(state->Dormant, OP_EQ, -1);
+
+ // Initializing from "auto" makes us start out (by default) non-Dormant,
+ // with activity right now.
+ netstatus_load_from_state(state, start);
+ tt_assert(is_participating_on_network());
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start);
+
+ // Initializing from dormant clears the last user activity time, and
+ // makes us dormant.
+ state->Dormant = 1;
+ netstatus_load_from_state(state, start);
+ tt_assert(! is_participating_on_network());
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, 0);
+
+ // Initializing from non-dormant sets the last user activity time, and
+ // makes us non-dormant.
+ state->Dormant = 0;
+ state->MinutesSinceUserActivity = 123;
+ netstatus_load_from_state(state, start);
+ tt_assert(is_participating_on_network());
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start - 123*60);
+
+ done:
+ or_state_free(state);
+}
+
+static void
+test_mainloop_dormant_save_state(void *arg)
+{
+ (void)arg;
+ or_state_t *state = or_state_new();
+ const time_t start = 1543956575;
+
+ // Can we save a non-dormant state correctly?
+ reset_user_activity(start - 1000);
+ set_network_participation(true);
+ netstatus_flush_to_state(state, start);
+
+ tt_int_op(state->Dormant, OP_EQ, 0);
+ tt_int_op(state->MinutesSinceUserActivity, OP_EQ, 1000 / 60);
+
+ // Can we save a dormant state correctly?
+ set_network_participation(false);
+ netstatus_flush_to_state(state, start);
+
+ tt_int_op(state->Dormant, OP_EQ, 1);
+ tt_int_op(state->MinutesSinceUserActivity, OP_EQ, 0);
+
+ done:
+ or_state_free(state);
+}
+
#define MAINLOOP_TEST(name) \
{ #name, test_mainloop_## name , TT_FORK, NULL, NULL }
struct testcase_t mainloop_tests[] = {
MAINLOOP_TEST(update_time_normal),
MAINLOOP_TEST(update_time_jumps),
+ MAINLOOP_TEST(user_activity),
+ MAINLOOP_TEST(check_participation),
+ MAINLOOP_TEST(dormant_load_state),
+ MAINLOOP_TEST(dormant_save_state),
END_OF_TESTCASES
};
-
diff --git a/src/test/test_microdesc.c b/src/test/test_microdesc.c
index 8ede2690ec..fd79aee6be 100644
--- a/src/test/test_microdesc.c
+++ b/src/test/test_microdesc.c
@@ -11,6 +11,7 @@
#include "feature/dirparse/routerparse.h"
#include "feature/nodelist/microdesc.h"
#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/routerlist.h"
#include "feature/nodelist/torcert.h"
@@ -70,6 +71,7 @@ test_md_cache(void *data)
const char *test_md3_noannotation = strchr(test_md3, '\n')+1;
time_t time1, time2, time3;
char *fn = NULL, *s = NULL;
+ char *encoded_family = NULL;
(void)data;
options = get_options_mutable();
@@ -172,8 +174,9 @@ test_md_cache(void *data)
tt_ptr_op(md1->family, OP_EQ, NULL);
tt_ptr_op(md3->family, OP_NE, NULL);
- tt_int_op(smartlist_len(md3->family), OP_EQ, 3);
- tt_str_op(smartlist_get(md3->family, 0), OP_EQ, "nodeX");
+
+ encoded_family = nodefamily_format(md3->family);
+ tt_str_op(encoded_family, OP_EQ, "nodex nodey nodez");
/* Now rebuild the cache! */
tt_int_op(microdesc_cache_rebuild(mc, 1), OP_EQ, 0);
@@ -254,6 +257,7 @@ test_md_cache(void *data)
smartlist_free(wanted);
tor_free(s);
tor_free(fn);
+ tor_free(encoded_family);
}
static const char truncated_md[] =
@@ -417,6 +421,28 @@ static const char test_md2_21[] =
"ntor-onion-key hbxdRnfVUJJY7+KcT4E3Rs7/zuClbN3hJrjSBiEGMgI=\n"
"id ed25519 wqfLzgfCtRfYNg88LsL1QpzxS0itapJ1aj6TbnByx/Q\n";
+static const char test_md2_withfamily_28[] =
+ "onion-key\n"
+ "-----BEGIN RSA PUBLIC KEY-----\n"
+ "MIGJAoGBAL2R8EfubUcahxha4u02P4VAR0llQIMwFAmrHPjzcK7apcQgDOf2ovOA\n"
+ "+YQnJFxlpBmCoCZC6ssCi+9G0mqo650lFuTMP5I90BdtjotfzESfTykHLiChyvhd\n"
+ "l0dlqclb2SU/GKem/fLRXH16aNi72CdSUu/1slKs/70ILi34QixRAgMBAAE=\n"
+ "-----END RSA PUBLIC KEY-----\n"
+ "ntor-onion-key hbxdRnfVUJJY7+KcT4E3Rs7/zuClbN3hJrjSBiEGMgI=\n"
+ "family OtherNode !Strange\n"
+ "id ed25519 wqfLzgfCtRfYNg88LsL1QpzxS0itapJ1aj6TbnByx/Q\n";
+
+static const char test_md2_withfamily_29[] =
+ "onion-key\n"
+ "-----BEGIN RSA PUBLIC KEY-----\n"
+ "MIGJAoGBAL2R8EfubUcahxha4u02P4VAR0llQIMwFAmrHPjzcK7apcQgDOf2ovOA\n"
+ "+YQnJFxlpBmCoCZC6ssCi+9G0mqo650lFuTMP5I90BdtjotfzESfTykHLiChyvhd\n"
+ "l0dlqclb2SU/GKem/fLRXH16aNi72CdSUu/1slKs/70ILi34QixRAgMBAAE=\n"
+ "-----END RSA PUBLIC KEY-----\n"
+ "ntor-onion-key hbxdRnfVUJJY7+KcT4E3Rs7/zuClbN3hJrjSBiEGMgI=\n"
+ "family !Strange $B7E27F104213C36F13E7E9829182845E495997A0 othernode\n"
+ "id ed25519 wqfLzgfCtRfYNg88LsL1QpzxS0itapJ1aj6TbnByx/Q\n";
+
static void
test_md_generate(void *arg)
{
@@ -447,6 +473,17 @@ test_md_generate(void *arg)
tt_assert(ed25519_pubkey_eq(md->ed25519_identity_pkey,
&ri->cache_info.signing_key_cert->signing_key));
+ // Try family encoding.
+ microdesc_free(md);
+ ri->declared_family = smartlist_new();
+ smartlist_add_strdup(ri->declared_family, "OtherNode !Strange");
+ md = dirvote_create_microdescriptor(ri, 28);
+ tt_str_op(md->body, OP_EQ, test_md2_withfamily_28);
+
+ microdesc_free(md);
+ md = dirvote_create_microdescriptor(ri, 29);
+ tt_str_op(md->body, OP_EQ, test_md2_withfamily_29);
+
done:
microdesc_free(md);
routerinfo_free(ri);
diff --git a/src/test/test_nodelist.c b/src/test/test_nodelist.c
index 1af6db68ec..ed919f4edf 100644
--- a/src/test/test_nodelist.c
+++ b/src/test/test_nodelist.c
@@ -6,15 +6,19 @@
* \brief Unit tests for nodelist related functions.
**/
+#define NODELIST_PRIVATE
+
#include "core/or/or.h"
#include "lib/crypt_ops/crypto_rand.h"
#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/torcert.h"
#include "feature/nodelist/microdesc_st.h"
#include "feature/nodelist/networkstatus_st.h"
#include "feature/nodelist/node_st.h"
+#include "feature/nodelist/nodefamily_st.h"
#include "feature/nodelist/routerinfo_st.h"
#include "feature/nodelist/routerstatus_st.h"
@@ -231,6 +235,411 @@ test_nodelist_ed_id(void *arg)
#undef N_NODES
}
+static void
+test_nodelist_nodefamily(void *arg)
+{
+ (void)arg;
+ /* hex ID digests */
+ const char h1[] = "5B435D6869206861206C65207363617270652070";
+ const char h2[] = "75C3B220616E6461726520696E206769726F2061";
+ const char h3[] = "2074726F766172206461206D616E67696172652C";
+ const char h4[] = "206D656E747265206E6F6E2076616C65206C2769";
+ const char h5[] = "6E766572736F2E202D2D5072696D6F204C657669";
+
+ /* binary ID digests */
+ uint8_t d1[DIGEST_LEN], d2[DIGEST_LEN], d3[DIGEST_LEN], d4[DIGEST_LEN],
+ d5[DIGEST_LEN];
+ base16_decode((char*)d1, sizeof(d1), h1, strlen(h1));
+ base16_decode((char*)d2, sizeof(d2), h2, strlen(h2));
+ base16_decode((char*)d3, sizeof(d3), h3, strlen(h3));
+ base16_decode((char*)d4, sizeof(d4), h4, strlen(h4));
+ base16_decode((char*)d5, sizeof(d5), h5, strlen(h5));
+
+ char *enc=NULL, *enc2=NULL;
+
+ nodefamily_t *nf1 = NULL;
+ nodefamily_t *nf2 = NULL;
+ nodefamily_t *nf3 = NULL;
+
+ enc = nodefamily_format(NULL);
+ tt_str_op(enc, OP_EQ, "");
+ tor_free(enc);
+
+ /* Make sure that sorting and de-duplication work. */
+ tor_asprintf(&enc, "$%s hello", h1);
+ nf1 = nodefamily_parse(enc, NULL, 0);
+ tt_assert(nf1);
+ tor_free(enc);
+
+ tor_asprintf(&enc, "hello hello $%s hello", h1);
+ nf2 = nodefamily_parse(enc, NULL, 0);
+ tt_assert(nf2);
+ tt_ptr_op(nf1, OP_EQ, nf2);
+ tor_free(enc);
+
+ tor_asprintf(&enc, "%s $%s hello", h1, h1);
+ nf3 = nodefamily_parse(enc, NULL, 0);
+ tt_assert(nf3);
+ tt_ptr_op(nf1, OP_EQ, nf3);
+ tor_free(enc);
+
+ tt_assert(nodefamily_contains_rsa_id(nf1, d1));
+ tt_assert(! nodefamily_contains_rsa_id(nf1, d2));
+ tt_assert(nodefamily_contains_nickname(nf1, "hello"));
+ tt_assert(nodefamily_contains_nickname(nf1, "HELLO"));
+ tt_assert(! nodefamily_contains_nickname(nf1, "goodbye"));
+
+ tt_int_op(nf1->refcnt, OP_EQ, 3);
+ nodefamily_free(nf3);
+ tt_int_op(nf1->refcnt, OP_EQ, 2);
+
+ /* Try parsing with a provided self RSA digest. */
+ nf3 = nodefamily_parse("hello ", d1, 0);
+ tt_assert(nf3);
+ tt_ptr_op(nf1, OP_EQ, nf3);
+
+ /* Do we get the expected result when we re-encode? */
+ tor_asprintf(&enc, "$%s hello", h1);
+ enc2 = nodefamily_format(nf1);
+ tt_str_op(enc2, OP_EQ, enc);
+ tor_free(enc2);
+ tor_free(enc);
+
+ /* Make sure that we get a different result if we give a different digest. */
+ nodefamily_free(nf3);
+ tor_asprintf(&enc, "hello $%s hello", h3);
+ nf3 = nodefamily_parse(enc, NULL, 0);
+ tt_assert(nf3);
+ tt_ptr_op(nf1, OP_NE, nf3);
+ tor_free(enc);
+
+ tt_assert(nodefamily_contains_rsa_id(nf3, d3));
+ tt_assert(! nodefamily_contains_rsa_id(nf3, d2));
+ tt_assert(! nodefamily_contains_rsa_id(nf3, d1));
+ tt_assert(nodefamily_contains_nickname(nf3, "hello"));
+ tt_assert(! nodefamily_contains_nickname(nf3, "goodbye"));
+
+ nodefamily_free(nf1);
+ nodefamily_free(nf2);
+ nodefamily_free(nf3);
+
+ /* Try one with several digests, all with nicknames appended, in different
+ formats. */
+ tor_asprintf(&enc, "%s $%s $%s=res $%s~ist", h1, h2, h3, h4);
+ nf1 = nodefamily_parse(enc, d5, 0);
+ tt_assert(nf1);
+ tt_assert(nodefamily_contains_rsa_id(nf1, d1));
+ tt_assert(nodefamily_contains_rsa_id(nf1, d2));
+ tt_assert(nodefamily_contains_rsa_id(nf1, d3));
+ tt_assert(nodefamily_contains_rsa_id(nf1, d4));
+ tt_assert(nodefamily_contains_rsa_id(nf1, d5));
+ /* Nicknames aren't preserved when ids are present, since node naming is
+ * deprecated */
+ tt_assert(! nodefamily_contains_nickname(nf3, "res"));
+ tor_free(enc);
+ tor_asprintf(&enc, "$%s $%s $%s $%s $%s", h4, h3, h1, h5, h2);
+ enc2 = nodefamily_format(nf1);
+ tt_str_op(enc, OP_EQ, enc2);
+ tor_free(enc);
+ tor_free(enc2);
+
+ /* Try ones where we parse the empty string. */
+ nf2 = nodefamily_parse("", NULL, 0);
+ nf3 = nodefamily_parse("", d4, 0);
+ tt_assert(nf2);
+ tt_assert(nf3);
+ tt_ptr_op(nf2, OP_NE, nf3);
+
+ tt_assert(! nodefamily_contains_rsa_id(nf2, d4));
+ tt_assert(nodefamily_contains_rsa_id(nf3, d4));
+ tt_assert(! nodefamily_contains_rsa_id(nf2, d5));
+ tt_assert(! nodefamily_contains_rsa_id(nf3, d5));
+ tt_assert(! nodefamily_contains_nickname(nf2, "fred"));
+ tt_assert(! nodefamily_contains_nickname(nf3, "bosco"));
+
+ /* The NULL family should contain nothing. */
+ tt_assert(! nodefamily_contains_rsa_id(NULL, d4));
+ tt_assert(! nodefamily_contains_rsa_id(NULL, d5));
+
+ done:
+ tor_free(enc);
+ tor_free(enc2);
+ nodefamily_free(nf1);
+ nodefamily_free(nf2);
+ nodefamily_free(nf3);
+ nodefamily_free_all();
+}
+
+static void
+test_nodelist_nodefamily_parse_err(void *arg)
+{
+ (void)arg;
+ nodefamily_t *nf1 = NULL;
+ char *enc = NULL;
+ const char *semibogus =
+ "sdakljfdslkfjdsaklfjdkl9sdf " // too long for nickname
+ "$jkASDFLkjsadfjhkl " // not hex
+ "$7468696e67732d696e2d7468656d73656c766573 " // ok
+ "reticulatogranulate "// ok
+ "$73656d69616e7468726f706f6c6f676963616c6c79 " // too long for hex
+ "$616273656e746d696e6465646e6573736573" // too short for hex
+ ;
+
+ setup_capture_of_logs(LOG_WARN);
+
+ // We only get two items when we parse this.
+ for (int reject = 0; reject <= 1; ++reject) {
+ for (int log_at_warn = 0; log_at_warn <= 1; ++log_at_warn) {
+ unsigned flags = log_at_warn ? NF_WARN_MALFORMED : 0;
+ flags |= reject ? NF_REJECT_MALFORMED : 0;
+ nf1 = nodefamily_parse(semibogus, NULL, flags);
+ if (reject) {
+ tt_assert(nf1 == NULL);
+ } else {
+ tt_assert(nf1);
+ enc = nodefamily_format(nf1);
+ tt_str_op(enc, OP_EQ,
+ "$7468696E67732D696E2D7468656D73656C766573 "
+ "reticulatogranulate");
+ tor_free(enc);
+ }
+
+ if (log_at_warn) {
+ expect_log_msg_containing("$616273656e746d696e6465646e6573736573");
+ expect_log_msg_containing("sdakljfdslkfjdsaklfjdkl9sdf");
+ } else {
+ tt_int_op(mock_saved_log_n_entries(), OP_EQ, 0);
+ }
+ mock_clean_saved_logs();
+ }
+ }
+
+ done:
+ tor_free(enc);
+ nodefamily_free(nf1);
+ teardown_capture_of_logs();
+}
+
+static const node_t *
+mock_node_get_by_id(const char *id)
+{
+ if (fast_memeq(id, "!!!!!!!!!!!!!!!!!!!!", DIGEST_LEN))
+ return NULL;
+
+ // use tor_free, not node_free.
+ node_t *fake_node = tor_malloc_zero(sizeof(node_t));
+ memcpy(fake_node->identity, id, DIGEST_LEN);
+ return fake_node;
+}
+
+static const node_t *
+mock_node_get_by_nickname(const char *nn, unsigned flags)
+{
+ (void)flags;
+ if (!strcmp(nn, "nonesuch"))
+ return NULL;
+
+ // use tor_free, not node_free.
+ node_t *fake_node = tor_malloc_zero(sizeof(node_t));
+ strlcpy(fake_node->identity, nn, DIGEST_LEN);
+ return fake_node;
+}
+
+static void
+test_nodelist_nodefamily_lookup(void *arg)
+{
+ (void)arg;
+ MOCK(node_get_by_nickname, mock_node_get_by_nickname);
+ MOCK(node_get_by_id, mock_node_get_by_id);
+ smartlist_t *sl = smartlist_new();
+ nodefamily_t *nf1 = NULL;
+ char *mem_op_hex_tmp = NULL;
+
+ // 'null' is allowed.
+ nodefamily_add_nodes_to_smartlist(NULL, sl);
+ tt_int_op(smartlist_len(sl), OP_EQ, 0);
+
+ // Try a real family
+ nf1 = nodefamily_parse("$EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE "
+ "$2121212121212121212121212121212121212121 "
+ "$3333333333333333333333333333333333333333 "
+ "erewhon nonesuch", NULL, 0);
+ tt_assert(nf1);
+ nodefamily_add_nodes_to_smartlist(nf1, sl);
+ // There were 5 elements; 2 were dropped because the mocked lookup failed.
+ tt_int_op(smartlist_len(sl), OP_EQ, 3);
+
+ const node_t *n = smartlist_get(sl, 0);
+ test_memeq_hex(n->identity, "3333333333333333333333333333333333333333");
+ n = smartlist_get(sl, 1);
+ test_memeq_hex(n->identity, "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE");
+ n = smartlist_get(sl, 2);
+ tt_str_op(n->identity, OP_EQ, "erewhon");
+
+ done:
+ UNMOCK(node_get_by_nickname);
+ UNMOCK(node_get_by_id);
+ SMARTLIST_FOREACH(sl, node_t *, fake_node, tor_free(fake_node));
+ smartlist_free(sl);
+ nodefamily_free(nf1);
+ tor_free(mem_op_hex_tmp);
+}
+
+static void
+test_nodelist_nickname_matches(void *arg)
+{
+ (void)arg;
+ node_t mock_node;
+ routerstatus_t mock_rs;
+ memset(&mock_node, 0, sizeof(mock_node));
+ memset(&mock_rs, 0, sizeof(mock_rs));
+
+ strlcpy(mock_rs.nickname, "evilgeniuses", sizeof(mock_rs.nickname));
+ mock_node.rs = &mock_rs;
+ memcpy(mock_node.identity, ".forabettertomorrow.", DIGEST_LEN);
+
+#define match(x) tt_assert(node_nickname_matches(&mock_node, (x)))
+#define no_match(x) tt_assert(! node_nickname_matches(&mock_node, (x)))
+
+ match("evilgeniuses");
+ match("EvilGeniuses");
+ match("EvilGeniuses");
+ match("2e666f7261626574746572746f6d6f72726f772e");
+ match("2E666F7261626574746572746F6D6F72726F772E");
+ match("$2e666f7261626574746572746f6d6f72726f772e");
+ match("$2E666F7261626574746572746F6D6F72726F772E");
+ match("$2E666F7261626574746572746F6D6F72726F772E~evilgeniuses");
+ match("$2E666F7261626574746572746F6D6F72726F772E~EVILGENIUSES");
+
+ no_match("evilgenius");
+ no_match("evilgeniuseses");
+ no_match("evil.genius");
+ no_match("$2E666F7261626574746572746F6D6F72726FFFFF");
+ no_match("2E666F7261626574746572746F6D6F72726FFFFF");
+ no_match("$2E666F7261626574746572746F6D6F72726F772E~fred");
+ no_match("$2E666F7261626574746572746F6D6F72726F772E=EVILGENIUSES");
+ done:
+ ;
+}
+
+static void
+test_nodelist_node_nodefamily(void *arg)
+{
+ (void)arg;
+ node_t mock_node1;
+ routerstatus_t mock_rs;
+ microdesc_t mock_md;
+
+ node_t mock_node2;
+ routerinfo_t mock_ri;
+
+ smartlist_t *nodes=smartlist_new();
+
+ memset(&mock_node1, 0, sizeof(mock_node1));
+ memset(&mock_node2, 0, sizeof(mock_node2));
+ memset(&mock_rs, 0, sizeof(mock_rs));
+ memset(&mock_md, 0, sizeof(mock_md));
+ memset(&mock_ri, 0, sizeof(mock_ri));
+
+ mock_node1.rs = &mock_rs;
+ mock_node1.md = &mock_md;
+
+ mock_node2.ri = &mock_ri;
+
+ strlcpy(mock_rs.nickname, "nodeone", sizeof(mock_rs.nickname));
+ mock_ri.nickname = tor_strdup("nodetwo");
+
+ memcpy(mock_node1.identity, "NodeOneNode1NodeOne1", DIGEST_LEN);
+ memcpy(mock_node2.identity, "SecondNodeWe'reTestn", DIGEST_LEN);
+
+ // empty families.
+ tt_assert(! node_family_contains(&mock_node1, &mock_node2));
+ tt_assert(! node_family_contains(&mock_node2, &mock_node1));
+
+ // Families contain nodes, but not these nodes
+ mock_ri.declared_family = smartlist_new();
+ smartlist_add(mock_ri.declared_family, (char*)"NodeThree");
+ mock_md.family = nodefamily_parse("NodeFour", NULL, 0);
+ tt_assert(! node_family_contains(&mock_node1, &mock_node2));
+ tt_assert(! node_family_contains(&mock_node2, &mock_node1));
+
+ // Families contain one another.
+ smartlist_add(mock_ri.declared_family, (char*)
+ "4e6f64654f6e654e6f6465314e6f64654f6e6531");
+ tt_assert(! node_family_contains(&mock_node1, &mock_node2));
+ tt_assert(node_family_contains(&mock_node2, &mock_node1));
+
+ nodefamily_free(mock_md.family);
+ mock_md.family = nodefamily_parse(
+ "NodeFour "
+ "5365636f6e644e6f64655765277265546573746e", NULL, 0);
+ tt_assert(node_family_contains(&mock_node1, &mock_node2));
+ tt_assert(node_family_contains(&mock_node2, &mock_node1));
+
+ // Try looking up families now.
+ MOCK(node_get_by_nickname, mock_node_get_by_nickname);
+ MOCK(node_get_by_id, mock_node_get_by_id);
+
+ node_lookup_declared_family(nodes, &mock_node1);
+ tt_int_op(smartlist_len(nodes), OP_EQ, 2);
+ const node_t *n = smartlist_get(nodes, 0);
+ tt_mem_op(n->identity, OP_EQ, "SecondNodeWe'reTestn", DIGEST_LEN);
+ n = smartlist_get(nodes, 1);
+ tt_str_op(n->identity, OP_EQ, "nodefour");
+
+ // free, try the other one.
+ SMARTLIST_FOREACH(nodes, node_t *, x, tor_free(x));
+ smartlist_clear(nodes);
+
+ node_lookup_declared_family(nodes, &mock_node2);
+ tt_int_op(smartlist_len(nodes), OP_EQ, 2);
+ n = smartlist_get(nodes, 0);
+ // This gets a truncated hex hex ID since it was looked up by name
+ tt_str_op(n->identity, OP_EQ, "NodeThree");
+ n = smartlist_get(nodes, 1);
+ tt_str_op(n->identity, OP_EQ, "4e6f64654f6e654e6f6");
+
+ done:
+ UNMOCK(node_get_by_nickname);
+ UNMOCK(node_get_by_id);
+ smartlist_free(mock_ri.declared_family);
+ nodefamily_free(mock_md.family);
+ tor_free(mock_ri.nickname);
+ // use tor_free, these aren't real nodes
+ SMARTLIST_FOREACH(nodes, node_t *, x, tor_free(x));
+ smartlist_free(nodes);
+}
+
+static void
+test_nodelist_nodefamily_canonicalize(void *arg)
+{
+ (void)arg;
+ char *c = NULL;
+
+ c = nodefamily_canonicalize("", NULL, 0);
+ tt_str_op(c, OP_EQ, "");
+ tor_free(c);
+
+ uint8_t own_id[20];
+ memset(own_id, 0, sizeof(own_id));
+ c = nodefamily_canonicalize(
+ "alice BOB caroL %potrzebie !!!@#@# "
+ "$bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=fred "
+ "ffffffffffffffffffffffffffffffffffffffff "
+ "$cccccccccccccccccccccccccccccccccccccccc ", own_id, 0);
+ tt_str_op(c, OP_EQ,
+ "!!!@#@# "
+ "$0000000000000000000000000000000000000000 "
+ "$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB "
+ "$CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC "
+ "$FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF "
+ "%potrzebie "
+ "alice bob carol");
+
+ done:
+ tor_free(c);
+}
+
#define NODE(name, flags) \
{ #name, test_nodelist_##name, (flags), NULL, NULL }
@@ -239,6 +648,11 @@ struct testcase_t nodelist_tests[] = {
NODE(node_get_verbose_nickname_not_named, TT_FORK),
NODE(node_is_dir, TT_FORK),
NODE(ed_id, TT_FORK),
+ NODE(nodefamily, TT_FORK),
+ NODE(nodefamily_parse_err, TT_FORK),
+ NODE(nodefamily_lookup, TT_FORK),
+ NODE(nickname_matches, 0),
+ NODE(node_nodefamily, TT_FORK),
+ NODE(nodefamily_canonicalize, 0),
END_OF_TESTCASES
};
-
diff --git a/src/test/test_oom.c b/src/test/test_oom.c
index 313a6b3114..f84dc0764b 100644
--- a/src/test/test_oom.c
+++ b/src/test/test_oom.c
@@ -8,7 +8,7 @@
#define CIRCUITLIST_PRIVATE
#define CONNECTION_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/circuitlist.h"
#include "lib/evloop/compat_libevent.h"
#include "core/mainloop/connection.h"
diff --git a/src/test/test_options.c b/src/test/test_options.c
index f14e620eeb..376d77626f 100644
--- a/src/test/test_options.c
+++ b/src/test/test_options.c
@@ -425,6 +425,7 @@ get_options_test_data(const char *conf)
// with options_init(), but about a dozen tests break when I do that.
// Being kinda lame and just fixing the immedate breakage for now..
result->opt->ConnectionPadding = -1; // default must be "auto"
+ result->opt->DormantClientTimeout = 1800; // must be over 600.
rv = config_get_lines(conf, &cl, 1);
tt_int_op(rv, OP_EQ, 0);
diff --git a/src/test/test_parsecommon.c b/src/test/test_parsecommon.c
index 6da125dd0a..8e74fcdb4d 100644
--- a/src/test/test_parsecommon.c
+++ b/src/test/test_parsecommon.c
@@ -300,8 +300,8 @@ test_parsecommon_get_next_token_parse_keys(void *arg)
tt_int_op(token->tp, OP_EQ, R_IPO_ONION_KEY);
tt_int_op(token->n_args, OP_EQ, 0);
tt_str_op(token->object_type, OP_EQ, "RSA PUBLIC KEY");
- tt_int_op(token->object_size, OP_EQ, 0);
- tt_assert(!token->object_body);
+ tt_int_op(token->object_size, OP_EQ, 140);
+ tt_assert(token->object_body);
tt_assert(token->key);
tt_assert(!token->error);
@@ -335,8 +335,8 @@ test_parsecommon_get_next_token_parse_keys(void *arg)
tt_int_op(token2->tp, OP_EQ, C_CLIENT_KEY);
tt_int_op(token2->n_args, OP_EQ, 0);
tt_str_op(token2->object_type, OP_EQ, "RSA PRIVATE KEY");
- tt_int_op(token2->object_size, OP_EQ, 0);
- tt_assert(!token2->object_body);
+ tt_int_op(token2->object_size, OP_EQ, 608);
+ tt_assert(token2->object_body);
tt_assert(token2->key);
tt_assert(!token->error);
diff --git a/src/test/test_periodic_event.c b/src/test/test_periodic_event.c
index 86dedd85d8..f3d518eb7b 100644
--- a/src/test/test_periodic_event.c
+++ b/src/test/test_periodic_event.c
@@ -19,6 +19,7 @@
#include "feature/hibernate/hibernate.h"
#include "feature/hs/hs_service.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
#include "core/mainloop/periodic.h"
/** Helper function: This is replaced in some tests for the event callbacks so
@@ -50,6 +51,8 @@ test_pe_initialize(void *arg)
* need to run the main loop and then wait for a second delaying the unit
* tests. Instead, we'll test the callback work indepedently elsewhere. */
initialize_periodic_events();
+ set_network_participation(false);
+ rescan_periodic_events(get_options());
/* Validate that all events have been set up. */
for (int i = 0; periodic_events[i].name; ++i) {
@@ -59,7 +62,9 @@ test_pe_initialize(void *arg)
tt_u64_op(item->last_action_time, OP_EQ, 0);
/* Every event must have role(s) assign to it. This is done statically. */
tt_u64_op(item->roles, OP_NE, 0);
- tt_uint_op(periodic_event_is_enabled(item), OP_EQ, 0);
+ int should_be_enabled = (item->roles & PERIODIC_EVENT_ROLE_ALL) &&
+ !(item->flags & PERIODIC_EVENT_FLAG_NEED_NET);
+ tt_uint_op(periodic_event_is_enabled(item), OP_EQ, should_be_enabled);
}
done:
@@ -79,6 +84,8 @@ test_pe_launch(void *arg)
* network gets enabled. */
consider_hibernation(time(NULL));
+ set_network_participation(true);
+
/* Hack: We'll set a dumb fn() of each events so they don't get called when
* dispatching them. We just want to test the state of the callbacks, not
* the whole code path. */
@@ -90,6 +97,7 @@ test_pe_launch(void *arg)
options = get_options_mutable();
options->SocksPort_set = 1;
periodic_events_on_new_options(options);
+
#if 0
/* Lets make sure that before intialization, we can't scan the periodic
* events list and launch them. Lets try by being a Client. */
@@ -106,13 +114,12 @@ test_pe_launch(void *arg)
/* Now that we've initialized, rescan the list to launch. */
periodic_events_on_new_options(options);
+ int mask = PERIODIC_EVENT_ROLE_CLIENT|PERIODIC_EVENT_ROLE_ALL|
+ PERIODIC_EVENT_ROLE_NET_PARTICIPANT;
for (int i = 0; periodic_events[i].name; ++i) {
periodic_event_item_t *item = &periodic_events[i];
- if (item->roles & PERIODIC_EVENT_ROLE_CLIENT) {
- tt_int_op(periodic_event_is_enabled(item), OP_EQ, 1);
- } else {
- tt_int_op(periodic_event_is_enabled(item), OP_EQ, 0);
- }
+ int should_be_enabled = !!(item->roles & mask);
+ tt_int_op(periodic_event_is_enabled(item), OP_EQ, should_be_enabled);
// enabled or not, the event has not yet been run.
tt_u64_op(item->last_action_time, OP_EQ, 0);
}
@@ -124,7 +131,8 @@ test_pe_launch(void *arg)
unsigned roles = get_my_roles(options);
tt_uint_op(roles, OP_EQ,
- PERIODIC_EVENT_ROLE_RELAY|PERIODIC_EVENT_ROLE_DIRSERVER);
+ PERIODIC_EVENT_ROLE_RELAY|PERIODIC_EVENT_ROLE_DIRSERVER|
+ PERIODIC_EVENT_ROLE_ALL|PERIODIC_EVENT_ROLE_NET_PARTICIPANT);
for (int i = 0; periodic_events[i].name; ++i) {
periodic_event_item_t *item = &periodic_events[i];
@@ -144,17 +152,23 @@ test_pe_launch(void *arg)
/* Disable everything and we'll enable them ALL. */
options->SocksPort_set = 0;
options->ORPort_set = 0;
+ options->DisableNetwork = 1;
+ set_network_participation(false);
periodic_events_on_new_options(options);
for (int i = 0; periodic_events[i].name; ++i) {
periodic_event_item_t *item = &periodic_events[i];
- tt_int_op(periodic_event_is_enabled(item), OP_EQ, 0);
+ int should_be_enabled = (item->roles & PERIODIC_EVENT_ROLE_ALL) &&
+ !(item->flags & PERIODIC_EVENT_FLAG_NEED_NET);
+ tt_int_op(periodic_event_is_enabled(item), OP_EQ, should_be_enabled);
}
/* Enable everything. */
options->SocksPort_set = 1; options->ORPort_set = 1;
options->BridgeRelay = 1; options->AuthoritativeDir = 1;
options->V3AuthoritativeDir = 1; options->BridgeAuthoritativeDir = 1;
+ options->DisableNetwork = 0;
+ set_network_participation(true);
register_dummy_hidden_service(&service);
periodic_events_on_new_options(options);
/* Note down the reference because we need to remove this service from the
@@ -165,7 +179,8 @@ test_pe_launch(void *arg)
for (int i = 0; periodic_events[i].name; ++i) {
periodic_event_item_t *item = &periodic_events[i];
- tt_int_op(periodic_event_is_enabled(item), OP_EQ, 1);
+ tt_int_op(periodic_event_is_enabled(item), OP_EQ,
+ (item->roles != PERIODIC_EVENT_ROLE_CONTROLEV));
}
done:
@@ -187,42 +202,49 @@ test_pe_get_roles(void *arg)
or_options_t *options = get_options_mutable();
tt_assert(options);
+ set_network_participation(true);
+
+ const int ALL = PERIODIC_EVENT_ROLE_ALL |
+ PERIODIC_EVENT_ROLE_NET_PARTICIPANT;
/* Nothing configured, should be no roles. */
+ tt_assert(net_is_disabled());
roles = get_my_roles(options);
- tt_int_op(roles, OP_EQ, 0);
+ tt_int_op(roles, OP_EQ, ALL);
/* Indicate we have a SocksPort, roles should be come Client. */
options->SocksPort_set = 1;
roles = get_my_roles(options);
- tt_int_op(roles, OP_EQ, PERIODIC_EVENT_ROLE_CLIENT);
+ tt_int_op(roles, OP_EQ, PERIODIC_EVENT_ROLE_CLIENT|ALL);
/* Now, we'll add a ORPort so should now be a Relay + Client. */
options->ORPort_set = 1;
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
(PERIODIC_EVENT_ROLE_CLIENT | PERIODIC_EVENT_ROLE_RELAY |
- PERIODIC_EVENT_ROLE_DIRSERVER));
+ PERIODIC_EVENT_ROLE_DIRSERVER | ALL));
/* Now add a Bridge. */
options->BridgeRelay = 1;
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
(PERIODIC_EVENT_ROLE_CLIENT | PERIODIC_EVENT_ROLE_RELAY |
- PERIODIC_EVENT_ROLE_BRIDGE | PERIODIC_EVENT_ROLE_DIRSERVER));
+ PERIODIC_EVENT_ROLE_BRIDGE | PERIODIC_EVENT_ROLE_DIRSERVER |
+ ALL));
tt_assert(roles & PERIODIC_EVENT_ROLE_ROUTER);
/* Unset client so we can solely test Router role. */
options->SocksPort_set = 0;
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
- PERIODIC_EVENT_ROLE_ROUTER | PERIODIC_EVENT_ROLE_DIRSERVER);
+ PERIODIC_EVENT_ROLE_ROUTER | PERIODIC_EVENT_ROLE_DIRSERVER |
+ ALL);
/* Reset options so we can test authorities. */
options->SocksPort_set = 0;
options->ORPort_set = 0;
options->BridgeRelay = 0;
roles = get_my_roles(options);
- tt_int_op(roles, OP_EQ, 0);
+ tt_int_op(roles, OP_EQ, ALL);
/* Now upgrade to Dirauth. */
options->DirPort_set = 1;
@@ -230,7 +252,7 @@ test_pe_get_roles(void *arg)
options->V3AuthoritativeDir = 1;
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
- PERIODIC_EVENT_ROLE_DIRAUTH|PERIODIC_EVENT_ROLE_DIRSERVER);
+ PERIODIC_EVENT_ROLE_DIRAUTH|PERIODIC_EVENT_ROLE_DIRSERVER|ALL);
tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES);
/* Now Bridge Authority. */
@@ -238,7 +260,7 @@ test_pe_get_roles(void *arg)
options->BridgeAuthoritativeDir = 1;
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
- PERIODIC_EVENT_ROLE_BRIDGEAUTH|PERIODIC_EVENT_ROLE_DIRSERVER);
+ PERIODIC_EVENT_ROLE_BRIDGEAUTH|PERIODIC_EVENT_ROLE_DIRSERVER|ALL);
tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES);
/* Move that bridge auth to become a relay. */
@@ -246,7 +268,7 @@ test_pe_get_roles(void *arg)
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
(PERIODIC_EVENT_ROLE_BRIDGEAUTH | PERIODIC_EVENT_ROLE_RELAY
- | PERIODIC_EVENT_ROLE_DIRSERVER));
+ | PERIODIC_EVENT_ROLE_DIRSERVER|ALL));
tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES);
/* And now an Hidden service. */
@@ -257,7 +279,8 @@ test_pe_get_roles(void *arg)
remove_service(get_hs_service_map(), &service);
tt_int_op(roles, OP_EQ,
(PERIODIC_EVENT_ROLE_BRIDGEAUTH | PERIODIC_EVENT_ROLE_RELAY |
- PERIODIC_EVENT_ROLE_HS_SERVICE | PERIODIC_EVENT_ROLE_DIRSERVER));
+ PERIODIC_EVENT_ROLE_HS_SERVICE | PERIODIC_EVENT_ROLE_DIRSERVER |
+ ALL));
tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES);
done:
diff --git a/src/test/test_policy.c b/src/test/test_policy.c
index afe608f5f7..3820c6c1db 100644
--- a/src/test/test_policy.c
+++ b/src/test/test_policy.c
@@ -2024,6 +2024,20 @@ test_policies_fascist_firewall_allows_address(void *arg)
expect_ap); \
STMT_END
+/** Mock the preferred address function to return zero (prefer IPv4). */
+static int
+mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv4(void)
+{
+ return 0;
+}
+
+/** Mock the preferred address function to return one (prefer IPv6). */
+static int
+mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv6(void)
+{
+ return 1;
+}
+
/** Run unit tests for fascist_firewall_choose_address */
static void
test_policies_fascist_firewall_choose_address(void *arg)
@@ -2422,6 +2436,42 @@ test_policies_fascist_firewall_choose_address(void *arg)
CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_DIR_CONNECTION, 1, 1,
ipv4_dir_ap);
+ /* Test ClientAutoIPv6ORPort and pretend we prefer IPv4. */
+ memset(&mock_options, 0, sizeof(or_options_t));
+ mock_options.ClientAutoIPv6ORPort = 1;
+ mock_options.ClientUseIPv4 = 1;
+ mock_options.ClientUseIPv6 = 1;
+ MOCK(fascist_firewall_rand_prefer_ipv6_addr,
+ mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv4);
+ /* Simulate the initialisation of fake_node.ipv6_preferred */
+ fake_node.ipv6_preferred = fascist_firewall_prefer_ipv6_orport(
+ &mock_options);
+
+ CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 0, 1,
+ ipv4_or_ap);
+ CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 1, 1,
+ ipv4_or_ap);
+
+ UNMOCK(fascist_firewall_rand_prefer_ipv6_addr);
+
+ /* Test ClientAutoIPv6ORPort and pretend we prefer IPv6. */
+ memset(&mock_options, 0, sizeof(or_options_t));
+ mock_options.ClientAutoIPv6ORPort = 1;
+ mock_options.ClientUseIPv4 = 1;
+ mock_options.ClientUseIPv6 = 1;
+ MOCK(fascist_firewall_rand_prefer_ipv6_addr,
+ mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv6);
+ /* Simulate the initialisation of fake_node.ipv6_preferred */
+ fake_node.ipv6_preferred = fascist_firewall_prefer_ipv6_orport(
+ &mock_options);
+
+ CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 0, 1,
+ ipv6_or_ap);
+ CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 1, 1,
+ ipv6_or_ap);
+
+ UNMOCK(fascist_firewall_rand_prefer_ipv6_addr);
+
done:
UNMOCK(get_options);
}
diff --git a/src/test/test_process.c b/src/test/test_process.c
new file mode 100644
index 0000000000..9b62862f04
--- /dev/null
+++ b/src/test/test_process.c
@@ -0,0 +1,696 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file test_process.c
+ * \brief Test cases for the Process API.
+ */
+
+#include "orconfig.h"
+#include "core/or/or.h"
+#include "test/test.h"
+#include "lib/process/env.h"
+
+#define PROCESS_PRIVATE
+#include "lib/process/process.h"
+#define PROCESS_UNIX_PRIVATE
+#include "lib/process/process_unix.h"
+#define PROCESS_WIN32_PRIVATE
+#include "lib/process/process_win32.h"
+
+static const char *stdout_read_buffer;
+static const char *stderr_read_buffer;
+
+struct process_data_t {
+ smartlist_t *stdout_data;
+ smartlist_t *stderr_data;
+ smartlist_t *stdin_data;
+ process_exit_code_t exit_code;
+};
+
+typedef struct process_data_t process_data_t;
+
+static process_data_t *
+process_data_new(void)
+{
+ process_data_t *process_data = tor_malloc_zero(sizeof(process_data_t));
+ process_data->stdout_data = smartlist_new();
+ process_data->stderr_data = smartlist_new();
+ process_data->stdin_data = smartlist_new();
+ return process_data;
+}
+
+static void
+process_data_free(process_data_t *process_data)
+{
+ if (process_data == NULL)
+ return;
+
+ SMARTLIST_FOREACH(process_data->stdout_data, char *, x, tor_free(x));
+ SMARTLIST_FOREACH(process_data->stderr_data, char *, x, tor_free(x));
+ SMARTLIST_FOREACH(process_data->stdin_data, char *, x, tor_free(x));
+
+ smartlist_free(process_data->stdout_data);
+ smartlist_free(process_data->stderr_data);
+ smartlist_free(process_data->stdin_data);
+ tor_free(process_data);
+}
+
+static int
+process_mocked_read_stdout(process_t *process, buf_t *buffer)
+{
+ (void)process;
+
+ if (stdout_read_buffer != NULL) {
+ buf_add_string(buffer, stdout_read_buffer);
+ stdout_read_buffer = NULL;
+ }
+
+ return (int)buf_datalen(buffer);
+}
+
+static int
+process_mocked_read_stderr(process_t *process, buf_t *buffer)
+{
+ (void)process;
+
+ if (stderr_read_buffer != NULL) {
+ buf_add_string(buffer, stderr_read_buffer);
+ stderr_read_buffer = NULL;
+ }
+
+ return (int)buf_datalen(buffer);
+}
+
+static void
+process_mocked_write_stdin(process_t *process, buf_t *buffer)
+{
+ const size_t size = buf_datalen(buffer);
+
+ if (size == 0)
+ return;
+
+ char *data = tor_malloc_zero(size + 1);
+ process_data_t *process_data = process_get_data(process);
+
+ buf_get_bytes(buffer, data, size);
+ smartlist_add(process_data->stdin_data, data);
+}
+
+static void
+process_stdout_callback(process_t *process, const char *data, size_t size)
+{
+ tt_ptr_op(process, OP_NE, NULL);
+ tt_ptr_op(data, OP_NE, NULL);
+ tt_int_op(strlen(data), OP_EQ, size);
+
+ process_data_t *process_data = process_get_data(process);
+ smartlist_add(process_data->stdout_data, tor_strdup(data));
+
+ done:
+ return;
+}
+
+static void
+process_stderr_callback(process_t *process, const char *data, size_t size)
+{
+ tt_ptr_op(process, OP_NE, NULL);
+ tt_ptr_op(data, OP_NE, NULL);
+ tt_int_op(strlen(data), OP_EQ, size);
+
+ process_data_t *process_data = process_get_data(process);
+ smartlist_add(process_data->stderr_data, tor_strdup(data));
+
+ done:
+ return;
+}
+
+static bool
+process_exit_callback(process_t *process, process_exit_code_t exit_code)
+{
+ tt_ptr_op(process, OP_NE, NULL);
+
+ process_data_t *process_data = process_get_data(process);
+ process_data->exit_code = exit_code;
+
+ done:
+ /* Do not free up our process_t. */
+ return false;
+}
+
+static void
+test_default_values(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_t *process = process_new("/path/to/nothing");
+
+ /* We are not running by default. */
+ tt_int_op(PROCESS_STATUS_NOT_RUNNING, OP_EQ, process_get_status(process));
+
+ /* We use the line protocol by default. */
+ tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process));
+
+ /* We don't set any custom data by default. */
+ tt_ptr_op(NULL, OP_EQ, process_get_data(process));
+
+ /* Our command was given to the process_t's constructor in process_new(). */
+ tt_str_op("/path/to/nothing", OP_EQ, process_get_command(process));
+
+ /* Make sure we are listed in the list of proccesses. */
+ tt_assert(smartlist_contains(process_get_all_processes(),
+ process));
+
+ /* Default PID is 0. */
+ tt_int_op(0, OP_EQ, process_get_pid(process));
+
+ /* Our arguments should be empty. */
+ tt_int_op(0, OP_EQ,
+ smartlist_len(process_get_arguments(process)));
+
+ done:
+ process_free(process);
+ process_free_all();
+}
+
+static void
+test_environment(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_t *process = process_new("");
+ process_environment_t *env = NULL;
+
+ process_set_environment(process, "E", "F");
+ process_set_environment(process, "C", "D");
+ process_set_environment(process, "A", "B");
+
+ env = process_get_environment(process);
+ tt_mem_op(env->windows_environment_block, OP_EQ,
+ "A=B\0C=D\0E=F\0", 12);
+ tt_str_op(env->unixoid_environment_block[0], OP_EQ,
+ "A=B");
+ tt_str_op(env->unixoid_environment_block[1], OP_EQ,
+ "C=D");
+ tt_str_op(env->unixoid_environment_block[2], OP_EQ,
+ "E=F");
+ tt_ptr_op(env->unixoid_environment_block[3], OP_EQ,
+ NULL);
+ process_environment_free(env);
+
+ /* Reset our environment. */
+ smartlist_t *new_env = smartlist_new();
+ smartlist_add(new_env, (char *)"FOO=bar");
+ smartlist_add(new_env, (char *)"HELLO=world");
+
+ process_reset_environment(process, new_env);
+ smartlist_free(new_env);
+
+ env = process_get_environment(process);
+ tt_mem_op(env->windows_environment_block, OP_EQ,
+ "FOO=bar\0HELLO=world\0", 20);
+ tt_str_op(env->unixoid_environment_block[0], OP_EQ,
+ "FOO=bar");
+ tt_str_op(env->unixoid_environment_block[1], OP_EQ,
+ "HELLO=world");
+ tt_ptr_op(env->unixoid_environment_block[2], OP_EQ,
+ NULL);
+
+ done:
+ process_environment_free(env);
+ process_free(process);
+ process_free_all();
+}
+
+static void
+test_stringified_types(void *arg)
+{
+ (void)arg;
+
+ /* process_protocol_t values. */
+ tt_str_op("Raw", OP_EQ, process_protocol_to_string(PROCESS_PROTOCOL_RAW));
+ tt_str_op("Line", OP_EQ, process_protocol_to_string(PROCESS_PROTOCOL_LINE));
+
+ /* process_status_t values. */
+ tt_str_op("not running", OP_EQ,
+ process_status_to_string(PROCESS_STATUS_NOT_RUNNING));
+ tt_str_op("running", OP_EQ,
+ process_status_to_string(PROCESS_STATUS_RUNNING));
+ tt_str_op("error", OP_EQ,
+ process_status_to_string(PROCESS_STATUS_ERROR));
+
+ done:
+ return;
+}
+
+static void
+test_line_protocol_simple(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+
+ process_set_stdout_read_callback(process, process_stdout_callback);
+ process_set_stderr_read_callback(process, process_stderr_callback);
+
+ MOCK(process_read_stdout, process_mocked_read_stdout);
+ MOCK(process_read_stderr, process_mocked_read_stderr);
+
+ /* Make sure we are running with the line protocol. */
+ tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process));
+
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = "Hello stdout\n";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = "Hello stderr\r\n";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Data should be ready. */
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ /* Check if the data is correct. */
+ tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ,
+ "Hello stdout");
+ tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ,
+ "Hello stderr");
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+
+ UNMOCK(process_read_stdout);
+ UNMOCK(process_read_stderr);
+}
+
+static void
+test_line_protocol_multi(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+ process_set_stdout_read_callback(process, process_stdout_callback);
+ process_set_stderr_read_callback(process, process_stderr_callback);
+
+ MOCK(process_read_stdout, process_mocked_read_stdout);
+ MOCK(process_read_stderr, process_mocked_read_stderr);
+
+ /* Make sure we are running with the line protocol. */
+ tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process));
+
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = "Hello stdout\r\nOnion Onion Onion\nA B C D\r\n\r\n";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = "Hello stderr\nFoo bar baz\nOnion Onion Onion\n";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Data should be ready. */
+ tt_int_op(4, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(3, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ /* Check if the data is correct. */
+ tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ,
+ "Hello stdout");
+ tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ,
+ "Onion Onion Onion");
+ tt_str_op(smartlist_get(process_data->stdout_data, 2), OP_EQ,
+ "A B C D");
+ tt_str_op(smartlist_get(process_data->stdout_data, 3), OP_EQ,
+ "");
+
+ tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ,
+ "Hello stderr");
+ tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ,
+ "Foo bar baz");
+ tt_str_op(smartlist_get(process_data->stderr_data, 2), OP_EQ,
+ "Onion Onion Onion");
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+
+ UNMOCK(process_read_stdout);
+ UNMOCK(process_read_stderr);
+}
+
+static void
+test_line_protocol_partial(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+ process_set_stdout_read_callback(process, process_stdout_callback);
+ process_set_stderr_read_callback(process, process_stderr_callback);
+
+ MOCK(process_read_stdout, process_mocked_read_stdout);
+ MOCK(process_read_stderr, process_mocked_read_stderr);
+
+ /* Make sure we are running with the line protocol. */
+ tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process));
+
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = "Hello stdout this is a partial line ...";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = "Hello stderr this is a partial line ...";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Data should NOT be ready. */
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = " the end\nAnother partial string goes here ...";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = " the end\nAnother partial string goes here ...";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Some data should be ready. */
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = " the end\nFoo bar baz\n";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = " the end\nFoo bar baz\n";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Some data should be ready. */
+ tt_int_op(3, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(3, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ /* Check if the data is correct. */
+ tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ,
+ "Hello stdout this is a partial line ... the end");
+ tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ,
+ "Another partial string goes here ... the end");
+ tt_str_op(smartlist_get(process_data->stdout_data, 2), OP_EQ,
+ "Foo bar baz");
+
+ tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ,
+ "Hello stderr this is a partial line ... the end");
+ tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ,
+ "Another partial string goes here ... the end");
+ tt_str_op(smartlist_get(process_data->stderr_data, 2), OP_EQ,
+ "Foo bar baz");
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+
+ UNMOCK(process_read_stdout);
+ UNMOCK(process_read_stderr);
+}
+
+static void
+test_raw_protocol_simple(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+ process_set_protocol(process, PROCESS_PROTOCOL_RAW);
+
+ process_set_stdout_read_callback(process, process_stdout_callback);
+ process_set_stderr_read_callback(process, process_stderr_callback);
+
+ MOCK(process_read_stdout, process_mocked_read_stdout);
+ MOCK(process_read_stderr, process_mocked_read_stderr);
+
+ /* Make sure we are running with the raw protocol. */
+ tt_int_op(PROCESS_PROTOCOL_RAW, OP_EQ, process_get_protocol(process));
+
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = "Hello stdout\n";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = "Hello stderr\n";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Data should be ready. */
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = "Hello, again, stdout\nThis contains multiple lines";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = "Hello, again, stderr\nThis contains multiple lines";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Data should be ready. */
+ tt_int_op(2, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(2, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ /* Check if the data is correct. */
+ tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ,
+ "Hello stdout\n");
+ tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ,
+ "Hello, again, stdout\nThis contains multiple lines");
+
+ tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ,
+ "Hello stderr\n");
+ tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ,
+ "Hello, again, stderr\nThis contains multiple lines");
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+
+ UNMOCK(process_read_stdout);
+ UNMOCK(process_read_stderr);
+}
+
+static void
+test_write_simple(void *arg)
+{
+ (void)arg;
+
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+
+ MOCK(process_write_stdin, process_mocked_write_stdin);
+
+ process_write(process, (uint8_t *)"Hello world\n", 12);
+ process_notify_event_stdin(process);
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stdin_data));
+
+ process_printf(process, "Hello %s !\n", "moon");
+ process_notify_event_stdin(process);
+ tt_int_op(2, OP_EQ, smartlist_len(process_data->stdin_data));
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+
+ UNMOCK(process_write_stdin);
+}
+
+static void
+test_exit_simple(void *arg)
+{
+ (void)arg;
+
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+ process_set_exit_callback(process, process_exit_callback);
+
+ /* Our default is 0. */
+ tt_int_op(0, OP_EQ, process_data->exit_code);
+
+ /* Fake that we are a running process. */
+ process_set_status(process, PROCESS_STATUS_RUNNING);
+ tt_int_op(process_get_status(process), OP_EQ, PROCESS_STATUS_RUNNING);
+
+ /* Fake an exit. */
+ process_notify_event_exit(process, 1337);
+
+ /* Check if our state changed and if our callback fired. */
+ tt_int_op(process_get_status(process), OP_EQ, PROCESS_STATUS_NOT_RUNNING);
+ tt_int_op(1337, OP_EQ, process_data->exit_code);
+
+ done:
+ process_set_data(process, process_data);
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+}
+
+static void
+test_argv_simple(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_t *process = process_new("/bin/cat");
+ char **argv = NULL;
+
+ /* Setup some arguments. */
+ process_append_argument(process, "foo");
+ process_append_argument(process, "bar");
+ process_append_argument(process, "baz");
+
+ /* Check the number of elements. */
+ tt_int_op(3, OP_EQ,
+ smartlist_len(process_get_arguments(process)));
+
+ /* Let's try to convert it into a Unix style char **argv. */
+ argv = process_get_argv(process);
+
+ /* Check our values. */
+ tt_str_op(argv[0], OP_EQ, "/bin/cat");
+ tt_str_op(argv[1], OP_EQ, "foo");
+ tt_str_op(argv[2], OP_EQ, "bar");
+ tt_str_op(argv[3], OP_EQ, "baz");
+ tt_ptr_op(argv[4], OP_EQ, NULL);
+
+ done:
+ tor_free(argv);
+ process_free(process);
+ process_free_all();
+}
+
+static void
+test_unix(void *arg)
+{
+ (void)arg;
+#ifndef _WIN32
+ process_init();
+
+ process_t *process = process_new("");
+
+ /* On Unix all processes should have a Unix process handle. */
+ tt_ptr_op(NULL, OP_NE, process_get_unix_process(process));
+
+ done:
+ process_free(process);
+ process_free_all();
+#endif
+}
+
+static void
+test_win32(void *arg)
+{
+ (void)arg;
+#ifdef _WIN32
+ process_init();
+
+ process_t *process = process_new("");
+ char *joined_argv = NULL;
+
+ /* On Win32 all processes should have a Win32 process handle. */
+ tt_ptr_op(NULL, OP_NE, process_get_win32_process(process));
+
+ /* Based on some test cases from "Parsing C++ Command-Line Arguments" in
+ * MSDN but we don't exercise all quoting rules because tor_join_win_cmdline
+ * will try to only generate simple cases for the child process to parse;
+ * i.e. we never embed quoted strings in arguments. */
+
+ const char *argvs[][4] = {
+ {"a", "bb", "CCC", NULL}, // Normal
+ {NULL, NULL, NULL, NULL}, // Empty argument list
+ {"", NULL, NULL, NULL}, // Empty argument
+ {"\"a", "b\"b", "CCC\"", NULL}, // Quotes
+ {"a\tbc", "dd dd", "E", NULL}, // Whitespace
+ {"a\\\\\\b", "de fg", "H", NULL}, // Backslashes
+ {"a\\\"b", "\\c", "D\\", NULL}, // Backslashes before quote
+ {"a\\\\b c", "d", "E", NULL}, // Backslashes not before quote
+ { NULL } // Terminator
+ };
+
+ const char *cmdlines[] = {
+ "a bb CCC",
+ "",
+ "\"\"",
+ "\\\"a b\\\"b CCC\\\"",
+ "\"a\tbc\" \"dd dd\" E",
+ "a\\\\\\b \"de fg\" H",
+ "a\\\\\\\"b \\c D\\",
+ "\"a\\\\b c\" d E",
+ NULL // Terminator
+ };
+
+ int i;
+
+ for (i=0; cmdlines[i]!=NULL; i++) {
+ log_info(LD_GENERAL, "Joining argvs[%d], expecting <%s>", i, cmdlines[i]);
+ joined_argv = tor_join_win_cmdline(argvs[i]);
+ tt_str_op(cmdlines[i],OP_EQ, joined_argv);
+ tor_free(joined_argv);
+ }
+
+ done:
+ tor_free(joined_argv);
+ process_free(process);
+ process_free_all();
+#endif
+}
+
+struct testcase_t process_tests[] = {
+ { "default_values", test_default_values, TT_FORK, NULL, NULL },
+ { "environment", test_environment, TT_FORK, NULL, NULL },
+ { "stringified_types", test_stringified_types, TT_FORK, NULL, NULL },
+ { "line_protocol_simple", test_line_protocol_simple, TT_FORK, NULL, NULL },
+ { "line_protocol_multi", test_line_protocol_multi, TT_FORK, NULL, NULL },
+ { "line_protocol_partial", test_line_protocol_partial, TT_FORK, NULL, NULL },
+ { "raw_protocol_simple", test_raw_protocol_simple, TT_FORK, NULL, NULL },
+ { "write_simple", test_write_simple, TT_FORK, NULL, NULL },
+ { "exit_simple", test_exit_simple, TT_FORK, NULL, NULL },
+ { "argv_simple", test_argv_simple, TT_FORK, NULL, NULL },
+ { "unix", test_unix, TT_FORK, NULL, NULL },
+ { "win32", test_win32, TT_FORK, NULL, NULL },
+ END_OF_TESTCASES
+};
diff --git a/src/test/test_process_slow.c b/src/test/test_process_slow.c
new file mode 100644
index 0000000000..a1f99bff0f
--- /dev/null
+++ b/src/test/test_process_slow.c
@@ -0,0 +1,342 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file test_process_slow.c
+ * \brief Slow test cases for the Process API.
+ */
+
+#define MAINLOOP_PRIVATE
+#include "orconfig.h"
+#include "core/or/or.h"
+#include "core/mainloop/mainloop.h"
+#include "lib/evloop/compat_libevent.h"
+#include "lib/process/process.h"
+#include "lib/process/waitpid.h"
+#include "test/test.h"
+
+#ifndef BUILDDIR
+#define BUILDDIR "."
+#endif
+
+#ifdef _WIN32
+#define TEST_PROCESS "test-process.exe"
+#else
+#define TEST_PROCESS BUILDDIR "/src/test/test-process"
+#endif /* defined(_WIN32) */
+
+/** Timer that ticks once a second and stop the event loop after 5 ticks. */
+static periodic_timer_t *main_loop_timeout_timer;
+
+/** How many times have our timer ticked? */
+static int timer_tick_count;
+
+struct process_data_t {
+ smartlist_t *stdout_data;
+ smartlist_t *stderr_data;
+ smartlist_t *stdin_data;
+ process_exit_code_t exit_code;
+ bool did_exit;
+};
+
+typedef struct process_data_t process_data_t;
+
+static process_data_t *
+process_data_new(void)
+{
+ process_data_t *process_data = tor_malloc_zero(sizeof(process_data_t));
+ process_data->stdout_data = smartlist_new();
+ process_data->stderr_data = smartlist_new();
+ process_data->stdin_data = smartlist_new();
+ return process_data;
+}
+
+static void
+process_data_free(process_data_t *process_data)
+{
+ if (process_data == NULL)
+ return;
+
+ SMARTLIST_FOREACH(process_data->stdout_data, char *, x, tor_free(x));
+ SMARTLIST_FOREACH(process_data->stderr_data, char *, x, tor_free(x));
+ SMARTLIST_FOREACH(process_data->stdin_data, char *, x, tor_free(x));
+
+ smartlist_free(process_data->stdout_data);
+ smartlist_free(process_data->stderr_data);
+ smartlist_free(process_data->stdin_data);
+ tor_free(process_data);
+}
+
+static void
+process_stdout_callback(process_t *process, const char *data, size_t size)
+{
+ tt_ptr_op(process, OP_NE, NULL);
+ tt_ptr_op(data, OP_NE, NULL);
+ tt_int_op(strlen(data), OP_EQ, size);
+
+ process_data_t *process_data = process_get_data(process);
+ smartlist_add(process_data->stdout_data, tor_strdup(data));
+
+ done:
+ return;
+}
+
+static void
+process_stderr_callback(process_t *process, const char *data, size_t size)
+{
+ tt_ptr_op(process, OP_NE, NULL);
+ tt_ptr_op(data, OP_NE, NULL);
+ tt_int_op(strlen(data), OP_EQ, size);
+
+ process_data_t *process_data = process_get_data(process);
+ smartlist_add(process_data->stderr_data, tor_strdup(data));
+
+ done:
+ return;
+}
+
+static bool
+process_exit_callback(process_t *process, process_exit_code_t exit_code)
+{
+ process_status_t status;
+
+ tt_ptr_op(process, OP_NE, NULL);
+
+ process_data_t *process_data = process_get_data(process);
+ process_data->exit_code = exit_code;
+ process_data->did_exit = true;
+
+ /* Check if our process is still running? */
+ status = process_get_status(process);
+ tt_int_op(status, OP_EQ, PROCESS_STATUS_NOT_RUNNING);
+
+ done:
+ /* Do not free up our process_t. */
+ return false;
+}
+
+#ifdef _WIN32
+static const char *
+get_win32_test_binary_path(void)
+{
+ static char buffer[MAX_PATH];
+
+ /* Get the absolute path of our binary: \path\to\test-slow.exe. */
+ GetModuleFileNameA(GetModuleHandle(0), buffer, sizeof(buffer));
+
+ /* Find our process name. */
+ char *offset = strstr(buffer, "test-slow.exe");
+ tt_ptr_op(offset, OP_NE, NULL);
+
+ /* Change test-slow.exe to test-process.exe. */
+ memcpy(offset, TEST_PROCESS, strlen(TEST_PROCESS));
+
+ return buffer;
+ done:
+ return NULL;
+}
+#endif
+
+static void
+main_loop_timeout_cb(periodic_timer_t *timer, void *data)
+{
+ /* Sanity check. */
+ tt_ptr_op(timer, OP_EQ, main_loop_timeout_timer);
+ tt_ptr_op(data, OP_NE, NULL);
+
+ /* Our process data. */
+ process_data_t *process_data = data;
+
+ /* Our process did exit. */
+ if (process_data->did_exit)
+ tor_shutdown_event_loop_and_exit(0);
+
+ /* Have we been called 10 times we exit the main loop. */
+ timer_tick_count++;
+
+ tt_int_op(timer_tick_count, OP_LT, 10);
+
+#ifndef _WIN32
+ /* Call waitpid callbacks. */
+ notify_pending_waitpid_callbacks();
+#endif
+
+ return;
+ done:
+ /* Exit with an error. */
+ tor_shutdown_event_loop_and_exit(-1);
+}
+
+static void
+run_main_loop(process_data_t *process_data)
+{
+ int ret;
+
+ /* Wake up after 1 seconds. */
+ static const struct timeval interval = {1, 0};
+
+ timer_tick_count = 0;
+ main_loop_timeout_timer = periodic_timer_new(tor_libevent_get_base(),
+ &interval,
+ main_loop_timeout_cb,
+ process_data);
+
+ /* Run our main loop. */
+ ret = run_main_loop_until_done();
+
+ /* Clean up our main loop timeout timer. */
+ tt_int_op(ret, OP_EQ, 0);
+
+ done:
+ periodic_timer_free(main_loop_timeout_timer);
+}
+
+static void
+test_callbacks(void *arg)
+{
+ (void)arg;
+ const char *filename = NULL;
+
+#ifdef _WIN32
+ filename = get_win32_test_binary_path();
+#else
+ filename = TEST_PROCESS;
+#endif
+
+ /* Initialize Process subsystem. */
+ process_init();
+
+ /* Process callback data. */
+ process_data_t *process_data = process_data_new();
+
+ /* Setup our process. */
+ process_t *process = process_new(filename);
+ process_set_data(process, process_data);
+ process_set_stdout_read_callback(process, process_stdout_callback);
+ process_set_stderr_read_callback(process, process_stderr_callback);
+ process_set_exit_callback(process, process_exit_callback);
+
+ /* Set environment variable. */
+ process_set_environment(process, "TOR_TEST_ENV", "Hello, from Tor!");
+
+ /* Add some arguments. */
+ process_append_argument(process, "This is the first one");
+ process_append_argument(process, "Second one");
+ process_append_argument(process, "Third: Foo bar baz");
+
+ /* Run our process. */
+ process_status_t status;
+
+ status = process_exec(process);
+ tt_int_op(status, OP_EQ, PROCESS_STATUS_RUNNING);
+
+ /* Write some lines to stdin. */
+ process_printf(process, "Hi process!\r\n");
+ process_printf(process, "Can you read more than one line?\n");
+ process_printf(process, "Can you read partial ...");
+ process_printf(process, " lines?\r\n");
+
+ /* Start our main loop. */
+ run_main_loop(process_data);
+
+ /* We returned. Let's see what our event loop said. */
+ tt_int_op(smartlist_len(process_data->stdout_data), OP_EQ, 12);
+ tt_int_op(smartlist_len(process_data->stderr_data), OP_EQ, 3);
+ tt_int_op(process_data->exit_code, OP_EQ, 0);
+
+ /* Check stdout output. */
+ char argv0_expected[256];
+ tor_snprintf(argv0_expected, sizeof(argv0_expected),
+ "argv[0] = '%s'", filename);
+
+ tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ,
+ argv0_expected);
+ tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ,
+ "argv[1] = 'This is the first one'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 2), OP_EQ,
+ "argv[2] = 'Second one'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 3), OP_EQ,
+ "argv[3] = 'Third: Foo bar baz'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 4), OP_EQ,
+ "Environment variable TOR_TEST_ENV = 'Hello, from Tor!'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 5), OP_EQ,
+ "Output on stdout");
+ tt_str_op(smartlist_get(process_data->stdout_data, 6), OP_EQ,
+ "This is a new line");
+ tt_str_op(smartlist_get(process_data->stdout_data, 7), OP_EQ,
+ "Partial line on stdout ...end of partial line on stdout");
+ tt_str_op(smartlist_get(process_data->stdout_data, 8), OP_EQ,
+ "Read line from stdin: 'Hi process!'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 9), OP_EQ,
+ "Read line from stdin: 'Can you read more than one line?'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 10), OP_EQ,
+ "Read line from stdin: 'Can you read partial ... lines?'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 11), OP_EQ,
+ "We are done for here, thank you!");
+
+ /* Check stderr output. */
+ tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ,
+ "Output on stderr");
+ tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ,
+ "This is a new line");
+ tt_str_op(smartlist_get(process_data->stderr_data, 2), OP_EQ,
+ "Partial line on stderr ...end of partial line on stderr");
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+}
+
+static void
+test_callbacks_terminate(void *arg)
+{
+ (void)arg;
+ const char *filename = NULL;
+
+#ifdef _WIN32
+ filename = get_win32_test_binary_path();
+#else
+ filename = TEST_PROCESS;
+#endif
+
+ /* Initialize Process subsystem. */
+ process_init();
+
+ /* Process callback data. */
+ process_data_t *process_data = process_data_new();
+
+ /* Setup our process. */
+ process_t *process = process_new(filename);
+ process_set_data(process, process_data);
+ process_set_exit_callback(process, process_exit_callback);
+
+ /* Run our process. */
+ process_status_t status;
+
+ status = process_exec(process);
+ tt_int_op(status, OP_EQ, PROCESS_STATUS_RUNNING);
+
+ /* Zap our process. */
+ bool success;
+
+ success = process_terminate(process);
+ tt_assert(success);
+
+ /* Start our main loop. */
+ run_main_loop(process_data);
+
+ /* Check if we did exit. */
+ tt_assert(process_data->did_exit);
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+}
+
+struct testcase_t slow_process_tests[] = {
+ { "callbacks", test_callbacks, 0, NULL, NULL },
+ { "callbacks_terminate", test_callbacks_terminate, 0, NULL, NULL },
+ END_OF_TESTCASES
+};
diff --git a/src/test/test_proto_http.c b/src/test/test_proto_http.c
index 1cfa0a752c..b4e8278423 100644
--- a/src/test/test_proto_http.c
+++ b/src/test/test_proto_http.c
@@ -8,7 +8,7 @@
#include "core/or/or.h"
#include "test/test.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/proto/proto_http.h"
#include "test/log_test_helpers.h"
diff --git a/src/test/test_proto_misc.c b/src/test/test_proto_misc.c
index 1fcb763421..f7f6f69667 100644
--- a/src/test/test_proto_misc.c
+++ b/src/test/test_proto_misc.c
@@ -8,7 +8,7 @@
#include "core/or/or.h"
#include "test/test.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/connection_or.h"
#include "feature/relay/ext_orport.h"
#include "core/proto/proto_cell.h"
diff --git a/src/test/test_pt.c b/src/test/test_pt.c
index d0160d1148..8fcdd5c1e8 100644
--- a/src/test/test_pt.c
+++ b/src/test/test_pt.c
@@ -8,7 +8,7 @@
#define UTIL_PRIVATE
#define STATEFILE_PRIVATE
#define CONTROL_PRIVATE
-#define SUBPROCESS_PRIVATE
+#define PROCESS_PRIVATE
#include "core/or/or.h"
#include "app/config/config.h"
#include "app/config/confparse.h"
@@ -17,9 +17,9 @@
#include "core/or/circuitbuild.h"
#include "app/config/statefile.h"
#include "test/test.h"
-#include "lib/process/subprocess.h"
#include "lib/encoding/confline.h"
#include "lib/net/resolve.h"
+#include "lib/process/process.h"
#include "app/config/or_state_st.h"
@@ -151,6 +151,8 @@ test_pt_get_transport_options(void *arg)
config_line_t *cl = NULL;
(void)arg;
+ process_init();
+
execve_args = tor_malloc(sizeof(char*)*2);
execve_args[0] = tor_strdup("cheeseshop");
execve_args[1] = NULL;
@@ -190,6 +192,7 @@ test_pt_get_transport_options(void *arg)
config_free_lines(cl);
managed_proxy_destroy(mp, 0);
smartlist_free(transport_list);
+ process_free_all();
}
static void
@@ -253,6 +256,8 @@ test_pt_get_extrainfo_string(void *arg)
char *s = NULL;
(void) arg;
+ process_init();
+
argv1 = tor_malloc_zero(sizeof(char*)*3);
argv1[0] = tor_strdup("ewige");
argv1[1] = tor_strdup("Blumenkraft");
@@ -286,43 +291,30 @@ test_pt_get_extrainfo_string(void *arg)
smartlist_free(t1);
smartlist_free(t2);
tor_free(s);
+ process_free_all();
}
-#ifdef _WIN32
-#define STDIN_HANDLE HANDLE*
-#else
-#define STDIN_HANDLE int
-#endif
-
-static smartlist_t *
-tor_get_lines_from_handle_replacement(STDIN_HANDLE handle,
- enum stream_status *stream_status_out)
+static int
+process_read_stdout_replacement(process_t *process, buf_t *buffer)
{
+ (void)process;
static int times_called = 0;
- smartlist_t *retval_sl = smartlist_new();
-
- (void) handle;
- (void) stream_status_out;
/* Generate some dummy CMETHOD lines the first 5 times. The 6th
time, send 'CMETHODS DONE' to finish configuring the proxy. */
- if (times_called++ != 5) {
- smartlist_add_asprintf(retval_sl, "SMETHOD mock%d 127.0.0.1:555%d",
+ times_called++;
+
+ if (times_called <= 5) {
+ buf_add_printf(buffer, "SMETHOD mock%d 127.0.0.1:555%d\n",
times_called, times_called);
- } else {
- smartlist_add_strdup(retval_sl, "SMETHODS DONE");
+ } else if (times_called <= 6) {
+ buf_add_string(buffer, "SMETHODS DONE\n");
+ } else if (times_called <= 7) {
+ buf_add_string(buffer, "LOG Oh noes, something bad happened. "
+ "What do we do!?\n");
}
- return retval_sl;
-}
-
-/* NOP mock */
-static void
-tor_process_handle_destroy_replacement(process_handle_t *process_handle,
- int also_terminate_process)
-{
- (void) process_handle;
- (void) also_terminate_process;
+ return (int)buf_datalen(buffer);
}
static or_state_t *dummy_state = NULL;
@@ -355,12 +347,11 @@ test_pt_configure_proxy(void *arg)
managed_proxy_t *mp = NULL;
(void) arg;
+ process_init();
+
dummy_state = tor_malloc_zero(sizeof(or_state_t));
- MOCK(tor_get_lines_from_handle,
- tor_get_lines_from_handle_replacement);
- MOCK(tor_process_handle_destroy,
- tor_process_handle_destroy_replacement);
+ MOCK(process_read_stdout, process_read_stdout_replacement);
MOCK(get_or_state,
get_or_state_replacement);
MOCK(queue_control_event_string,
@@ -372,24 +363,34 @@ test_pt_configure_proxy(void *arg)
mp->conf_state = PT_PROTO_ACCEPTING_METHODS;
mp->transports = smartlist_new();
mp->transports_to_launch = smartlist_new();
- mp->process_handle = tor_malloc_zero(sizeof(process_handle_t));
mp->argv = tor_malloc_zero(sizeof(char*)*2);
mp->argv[0] = tor_strdup("<testcase>");
mp->is_server = 1;
+ /* Configure the process. */
+ mp->process = process_new("");
+ process_set_stdout_read_callback(mp->process, managed_proxy_stdout_callback);
+ process_set_data(mp->process, mp);
+
/* Test the return value of configure_proxy() by calling it some
times while it is uninitialized and then finally finalizing its
configuration. */
for (i = 0 ; i < 5 ; i++) {
+ /* force a read from our mocked stdout reader. */
+ process_notify_event_stdout(mp->process);
+ /* try to configure our proxy. */
retval = configure_proxy(mp);
/* retval should be zero because proxy hasn't finished configuring yet */
tt_int_op(retval, OP_EQ, 0);
/* check the number of registered transports */
- tt_assert(smartlist_len(mp->transports) == i+1);
+ tt_int_op(smartlist_len(mp->transports), OP_EQ, i+1);
/* check that the mp is still waiting for transports */
tt_assert(mp->conf_state == PT_PROTO_ACCEPTING_METHODS);
}
+ /* Get the SMETHOD DONE written to the process. */
+ process_notify_event_stdout(mp->process);
+
/* this last configure_proxy() should finalize the proxy configuration. */
retval = configure_proxy(mp);
/* retval should be 1 since the proxy finished configuring */
@@ -412,6 +413,16 @@ test_pt_configure_proxy(void *arg)
tt_str_op(smartlist_get(controlevent_msgs, 4), OP_EQ,
"650 TRANSPORT_LAUNCHED server mock5 127.0.0.1 5555\r\n");
+ /* Get the log message out. */
+ process_notify_event_stdout(mp->process);
+
+ tt_int_op(controlevent_n, OP_EQ, 6);
+ tt_int_op(controlevent_event, OP_EQ, EVENT_PT_LOG);
+ tt_int_op(smartlist_len(controlevent_msgs), OP_EQ, 6);
+ tt_str_op(smartlist_get(controlevent_msgs, 5), OP_EQ,
+ "650 PT_LOG <testcase> Oh noes, something bad happened. "
+ "What do we do!?\r\n");
+
{ /* check that the transport info were saved properly in the tor state */
config_line_t *transport_in_state = NULL;
smartlist_t *transport_info_sl = smartlist_new();
@@ -435,8 +446,7 @@ test_pt_configure_proxy(void *arg)
done:
or_state_free(dummy_state);
- UNMOCK(tor_get_lines_from_handle);
- UNMOCK(tor_process_handle_destroy);
+ UNMOCK(process_read_stdout);
UNMOCK(get_or_state);
UNMOCK(queue_control_event_string);
if (controlevent_msgs) {
@@ -449,10 +459,11 @@ test_pt_configure_proxy(void *arg)
smartlist_free(mp->transports);
}
smartlist_free(mp->transports_to_launch);
- tor_free(mp->process_handle);
+ process_free(mp->process);
tor_free(mp->argv[0]);
tor_free(mp->argv);
tor_free(mp);
+ process_free_all();
}
/* Test the get_pt_proxy_uri() function. */
diff --git a/src/test/test_rebind.py b/src/test/test_rebind.py
index 7ba3a5796d..65feedd243 100644
--- a/src/test/test_rebind.py
+++ b/src/test/test_rebind.py
@@ -1,25 +1,43 @@
from __future__ import print_function
-import sys
-import subprocess
-import socket
+import errno
+import logging
import os
-import time
import random
+import socket
+import subprocess
+import sys
+import time
+
+LOG_TIMEOUT = 60.0
+LOG_WAIT = 0.1
+
+def fail(msg):
+ logging.error('FAIL')
+ sys.exit(msg)
def try_connecting_to_socksport():
socks_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- if socks_socket.connect_ex(('127.0.0.1', socks_port)):
+ e = socks_socket.connect_ex(('127.0.0.1', socks_port))
+ if e:
tor_process.terminate()
- print('FAIL')
- sys.exit('Cannot connect to SOCKSPort')
+ fail('Cannot connect to SOCKSPort: error ' + os.strerror(e))
socks_socket.close()
def wait_for_log(s):
- while True:
+ cutoff = time.time() + LOG_TIMEOUT
+ while time.time() < cutoff:
l = tor_process.stdout.readline()
- if s in l.decode('utf8'):
+ l = l.decode('utf8')
+ if s in l:
+ logging.info('Tor logged: "{}"'.format(l.strip()))
return
+ logging.info('Tor logged: "{}", waiting for "{}"'.format(l.strip(), s))
+ # readline() returns a blank string when there is no output
+ # avoid busy-waiting
+ if len(s) == 0:
+ time.sleep(LOG_WAIT)
+ fail('Could not find "{}" in logs after {} seconds'.format(s, LOG_TIMEOUT))
def pick_random_port():
port = 0
@@ -33,13 +51,20 @@ def pick_random_port():
else:
break
+ if port == 0:
+ fail('Could not find a random free port between 10000 and 60000')
+
return port
+logging.basicConfig(level=logging.DEBUG,
+ format='%(asctime)s.%(msecs)03d %(message)s',
+ datefmt='%Y-%m-%d %H:%M:%S')
+
if sys.hexversion < 0x02070000:
- sys.exit("ERROR: unsupported Python version (should be >= 2.7)")
+ fail("ERROR: unsupported Python version (should be >= 2.7)")
if sys.hexversion > 0x03000000 and sys.hexversion < 0x03010000:
- sys.exit("ERROR: unsupported Python3 version (should be >= 3.1)")
+ fail("ERROR: unsupported Python3 version (should be >= 3.1)")
control_port = pick_random_port()
socks_port = pick_random_port()
@@ -47,23 +72,29 @@ socks_port = pick_random_port()
assert control_port != 0
assert socks_port != 0
+if len(sys.argv) < 3:
+ fail('Usage: %s <path-to-tor> <data-dir>' % sys.argv[0])
+
if not os.path.exists(sys.argv[1]):
- sys.exit('ERROR: cannot find tor at %s' % sys.argv[1])
+ fail('ERROR: cannot find tor at %s' % sys.argv[1])
+if not os.path.exists(sys.argv[2]):
+ fail('ERROR: cannot find datadir at %s' % sys.argv[2])
tor_path = sys.argv[1]
+data_dir = sys.argv[2]
tor_process = subprocess.Popen([tor_path,
+ '-DataDirectory', data_dir,
'-ControlPort', '127.0.0.1:{}'.format(control_port),
'-SOCKSPort', '127.0.0.1:{}'.format(socks_port),
+ '-Log', 'debug stdout',
+ '-LogTimeGranularity', '1',
'-FetchServerDescriptors', '0'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
if tor_process == None:
- sys.exit('ERROR: running tor failed')
-
-if len(sys.argv) < 2:
- sys.exit('Usage: %s <path-to-tor>' % sys.argv[0])
+ fail('ERROR: running tor failed')
wait_for_log('Opened Control listener on')
@@ -72,8 +103,7 @@ try_connecting_to_socksport()
control_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
if control_socket.connect_ex(('127.0.0.1', control_port)):
tor_process.terminate()
- print('FAIL')
- sys.exit('Cannot connect to ControlPort')
+ fail('Cannot connect to ControlPort')
control_socket.sendall('AUTHENTICATE \r\n'.encode('utf8'))
control_socket.sendall('SETCONF SOCKSPort=0.0.0.0:{}\r\n'.format(socks_port).encode('utf8'))
@@ -88,6 +118,14 @@ try_connecting_to_socksport()
control_socket.sendall('SIGNAL HALT\r\n'.encode('utf8'))
-time.sleep(0.1)
-print('OK')
-tor_process.terminate()
+wait_for_log('exiting cleanly')
+logging.info('OK')
+
+try:
+ tor_process.terminate()
+except OSError as e:
+ if e.errno == errno.ESRCH: # errno 3: No such process
+ # assume tor has already exited due to SIGNAL HALT
+ logging.warn("Tor has already exited")
+ else:
+ raise
diff --git a/src/test/test_rebind.sh b/src/test/test_rebind.sh
index 76eb9f2e4d..498072de35 100755
--- a/src/test/test_rebind.sh
+++ b/src/test/test_rebind.sh
@@ -14,6 +14,19 @@ fi
exitcode=0
-"${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" "${TESTING_TOR_BINARY}" || exitcode=1
+tmpdir=
+clean () { test -n "$tmpdir" && test -d "$tmpdir" && rm -rf "$tmpdir" || :; }
+trap clean EXIT HUP INT TERM
+
+tmpdir="`mktemp -d -t tor_rebind_test.XXXXXX`"
+if [ -z "$tmpdir" ]; then
+ echo >&2 mktemp failed
+ exit 2
+elif [ ! -d "$tmpdir" ]; then
+ echo >&2 mktemp failed to make a directory
+ exit 3
+fi
+
+"${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" "${TESTING_TOR_BINARY}" "$tmpdir" || exitcode=1
exit ${exitcode}
diff --git a/src/test/test_rendcache.c b/src/test/test_rendcache.c
index 394e28d785..2ace45d085 100644
--- a/src/test/test_rendcache.c
+++ b/src/test/test_rendcache.c
@@ -788,7 +788,9 @@ test_rend_cache_clean(void *data)
desc_two->pk = pk_generate(1);
strmap_set_lc(rend_cache, "foo1", one);
+ rend_cache_increment_allocation(rend_cache_entry_allocation(one));
strmap_set_lc(rend_cache, "foo2", two);
+ rend_cache_increment_allocation(rend_cache_entry_allocation(two));
rend_cache_clean(time(NULL), REND_CACHE_TYPE_CLIENT);
tt_int_op(strmap_size(rend_cache), OP_EQ, 0);
@@ -806,7 +808,9 @@ test_rend_cache_clean(void *data)
desc_one->pk = pk_generate(0);
desc_two->pk = pk_generate(1);
+ rend_cache_increment_allocation(rend_cache_entry_allocation(one));
strmap_set_lc(rend_cache, "foo1", one);
+ rend_cache_increment_allocation(rend_cache_entry_allocation(two));
strmap_set_lc(rend_cache, "foo2", two);
rend_cache_clean(time(NULL), REND_CACHE_TYPE_CLIENT);
diff --git a/src/test/test_router.c b/src/test/test_router.c
index 921ec42904..91cdd2c064 100644
--- a/src/test/test_router.c
+++ b/src/test/test_router.c
@@ -7,16 +7,25 @@
* \brief Unittests for code in router.c
**/
+#define CONFIG_PRIVATE
+#define ROUTER_PRIVATE
+
#include "core/or/or.h"
#include "app/config/config.h"
#include "core/mainloop/mainloop.h"
#include "feature/hibernate/hibernate.h"
+#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/networkstatus_st.h"
+#include "feature/nodelist/node_st.h"
+#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/routerinfo_st.h"
#include "feature/nodelist/routerlist.h"
+#include "feature/nodelist/routerstatus_st.h"
#include "feature/relay/router.h"
#include "feature/stats/rephist.h"
#include "lib/crypt_ops/crypto_curve25519.h"
#include "lib/crypt_ops/crypto_ed25519.h"
+#include "lib/encoding/confline.h"
/* Test suite stuff */
#include "test/test.h"
@@ -231,11 +240,254 @@ test_router_check_descriptor_bandwidth_changed(void *arg)
UNMOCK(we_are_hibernating);
}
+static networkstatus_t *mock_ns = NULL;
+static networkstatus_t *
+mock_networkstatus_get_live_consensus(time_t now)
+{
+ (void)now;
+ return mock_ns;
+}
+
+static routerstatus_t *mock_rs = NULL;
+static const routerstatus_t *
+mock_networkstatus_vote_find_entry(networkstatus_t *ns, const char *digest)
+{
+ (void)ns;
+ (void)digest;
+ return mock_rs;
+}
+
+static void
+test_router_mark_if_too_old(void *arg)
+{
+ (void)arg;
+ time_t now = approx_time();
+ MOCK(networkstatus_get_live_consensus,
+ mock_networkstatus_get_live_consensus);
+ MOCK(networkstatus_vote_find_entry, mock_networkstatus_vote_find_entry);
+
+ routerstatus_t rs;
+ networkstatus_t ns;
+ memset(&rs, 0, sizeof(rs));
+ memset(&ns, 0, sizeof(ns));
+ mock_ns = &ns;
+ mock_ns->valid_after = now-3600;
+ mock_rs = &rs;
+ mock_rs->published_on = now - 10;
+
+ // no reason to mark this time.
+ desc_clean_since = now-10;
+ desc_dirty_reason = NULL;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, now-10);
+
+ // Doesn't appear in consensus? Still don't mark it.
+ mock_ns = NULL;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, now-10);
+ mock_ns = &ns;
+
+ // No new descriptor in a long time? Mark it.
+ desc_clean_since = now - 3600 * 96;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, 0);
+ tt_str_op(desc_dirty_reason, OP_EQ, "time for new descriptor");
+
+ // Version in consensus published a long time ago? We won't mark it
+ // if it's been clean for only a short time.
+ desc_clean_since = now - 10;
+ desc_dirty_reason = NULL;
+ mock_rs->published_on = now - 3600 * 96;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, now - 10);
+
+ // ... but if it's been clean a while, we mark.
+ desc_clean_since = now - 2 * 3600;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, 0);
+ tt_str_op(desc_dirty_reason, OP_EQ,
+ "version listed in consensus is quite old");
+
+ // same deal if we're marked stale.
+ desc_clean_since = now - 2 * 3600;
+ desc_dirty_reason = NULL;
+ mock_rs->published_on = now - 10;
+ mock_rs->is_staledesc = 1;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, 0);
+ tt_str_op(desc_dirty_reason, OP_EQ,
+ "listed as stale in consensus");
+
+ // same deal if we're absent from the consensus.
+ desc_clean_since = now - 2 * 3600;
+ desc_dirty_reason = NULL;
+ mock_rs = NULL;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, 0);
+ tt_str_op(desc_dirty_reason, OP_EQ,
+ "not listed in consensus");
+
+ done:
+ UNMOCK(networkstatus_get_live_consensus);
+ UNMOCK(networkstatus_vote_find_entry);
+}
+
+static node_t fake_node;
+static const node_t *
+mock_node_get_by_nickname(const char *name, unsigned flags)
+{
+ (void)flags;
+ if (!strcasecmp(name, "crumpet"))
+ return &fake_node;
+ else
+ return NULL;
+}
+
+static void
+test_router_get_my_family(void *arg)
+{
+ (void)arg;
+ or_options_t *options = options_new();
+ smartlist_t *sl = NULL;
+ char *join = NULL;
+ // Overwrite the result of router_get_my_identity_digest(). This
+ // happens to be okay, but only for testing.
+ set_server_identity_key_digest_testing(
+ (const uint8_t*)"holeinthebottomofthe");
+
+ setup_capture_of_logs(LOG_WARN);
+
+ // No family listed -- so there's no list.
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_EQ, NULL);
+ expect_no_log_entry();
+
+#define CLEAR() do { \
+ if (sl) { \
+ SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); \
+ smartlist_free(sl); \
+ } \
+ tor_free(join); \
+ mock_clean_saved_logs(); \
+ } while (0)
+
+ // Add a single nice friendly hex member. This should be enough
+ // to have our own ID added.
+ tt_ptr_op(options->MyFamily, OP_EQ, NULL);
+ config_line_append(&options->MyFamily, "MyFamily",
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
+
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_NE, NULL);
+ tt_int_op(smartlist_len(sl), OP_EQ, 2);
+ join = smartlist_join_strings(sl, " ", 0, NULL);
+ tt_str_op(join, OP_EQ,
+ "$686F6C65696E746865626F74746F6D6F66746865 "
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
+ expect_no_log_entry();
+ CLEAR();
+
+ // Add a hex member with a ~. The ~ part should get removed.
+ config_line_append(&options->MyFamily, "MyFamily",
+ "$0123456789abcdef0123456789abcdef01234567~Muffin");
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_NE, NULL);
+ tt_int_op(smartlist_len(sl), OP_EQ, 3);
+ join = smartlist_join_strings(sl, " ", 0, NULL);
+ tt_str_op(join, OP_EQ,
+ "$0123456789ABCDEF0123456789ABCDEF01234567 "
+ "$686F6C65696E746865626F74746F6D6F66746865 "
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
+ expect_no_log_entry();
+ CLEAR();
+
+ // Nickname lookup will fail, so a nickname will appear verbatim.
+ config_line_append(&options->MyFamily, "MyFamily",
+ "BAGEL");
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_NE, NULL);
+ tt_int_op(smartlist_len(sl), OP_EQ, 4);
+ join = smartlist_join_strings(sl, " ", 0, NULL);
+ tt_str_op(join, OP_EQ,
+ "$0123456789ABCDEF0123456789ABCDEF01234567 "
+ "$686F6C65696E746865626F74746F6D6F66746865 "
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA "
+ "bagel");
+ expect_single_log_msg_containing(
+ "There is a router named \"BAGEL\" in my declared family, but "
+ "I have no descriptor for it.");
+ CLEAR();
+
+ // A bogus digest should fail entirely.
+ config_line_append(&options->MyFamily, "MyFamily",
+ "$painauchocolat");
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_NE, NULL);
+ tt_int_op(smartlist_len(sl), OP_EQ, 4);
+ join = smartlist_join_strings(sl, " ", 0, NULL);
+ tt_str_op(join, OP_EQ,
+ "$0123456789ABCDEF0123456789ABCDEF01234567 "
+ "$686F6C65696E746865626F74746F6D6F66746865 "
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA "
+ "bagel");
+ // "BAGEL" is still there, but it won't make a warning, because we already
+ // warned about it.
+ expect_single_log_msg_containing(
+ "There is a router named \"$painauchocolat\" in my declared "
+ "family, but that isn't a legal digest or nickname. Skipping it.");
+ CLEAR();
+
+ // Let's introduce a node we can look up by nickname
+ memset(&fake_node, 0, sizeof(fake_node));
+ memcpy(fake_node.identity, "whydoyouasknonononon", DIGEST_LEN);
+ MOCK(node_get_by_nickname, mock_node_get_by_nickname);
+
+ config_line_append(&options->MyFamily, "MyFamily",
+ "CRUmpeT");
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_NE, NULL);
+ tt_int_op(smartlist_len(sl), OP_EQ, 5);
+ join = smartlist_join_strings(sl, " ", 0, NULL);
+ tt_str_op(join, OP_EQ,
+ "$0123456789ABCDEF0123456789ABCDEF01234567 "
+ "$686F6C65696E746865626F74746F6D6F66746865 "
+ "$776879646F796F7561736B6E6F6E6F6E6F6E6F6E "
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA "
+ "bagel");
+ // "BAGEL" is still there, but it won't make a warning, because we already
+ // warned about it. Some with "$painauchocolat".
+ expect_single_log_msg_containing(
+ "There is a router named \"CRUmpeT\" in my declared "
+ "family, but it wasn't listed by digest. Please consider saying "
+ "$776879646F796F7561736B6E6F6E6F6E6F6E6F6E instead, if that's "
+ "what you meant.");
+ CLEAR();
+ UNMOCK(node_get_by_nickname);
+
+ // Try a singleton list containing only us: It should give us NULL.
+ config_free_lines(options->MyFamily);
+ config_line_append(&options->MyFamily, "MyFamily",
+ "$686F6C65696E746865626F74746F6D6F66746865");
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_EQ, NULL);
+ expect_no_log_entry();
+
+ done:
+ or_options_free(options);
+ teardown_capture_of_logs();
+ CLEAR();
+ UNMOCK(node_get_by_nickname);
+
+#undef CLEAR
+}
+
#define ROUTER_TEST(name, flags) \
{ #name, test_router_ ## name, flags, NULL, NULL }
struct testcase_t router_tests[] = {
ROUTER_TEST(check_descriptor_bandwidth_changed, TT_FORK),
ROUTER_TEST(dump_router_to_string_no_bridge_distribution_method, TT_FORK),
+ ROUTER_TEST(mark_if_too_old, TT_FORK),
+ ROUTER_TEST(get_my_family, TT_FORK),
END_OF_TESTCASES
};
diff --git a/src/test/test_routerlist.c b/src/test/test_routerlist.c
index 67af2fd484..167b7a35ce 100644
--- a/src/test/test_routerlist.c
+++ b/src/test/test_routerlist.c
@@ -46,7 +46,7 @@
#include "feature/nodelist/routerstatus_st.h"
#include "lib/encoding/confline.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "test/test.h"
#include "test/test_dir_common.h"
@@ -265,7 +265,9 @@ test_router_pick_directory_server_impl(void *arg)
/* Init SR subsystem. */
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
- mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
sr_init(0);
UNMOCK(get_my_v3_authority_cert);
@@ -275,7 +277,9 @@ test_router_pick_directory_server_impl(void *arg)
construct_consensus(&consensus_text_md, now);
tt_assert(consensus_text_md);
- con_md = networkstatus_parse_vote_from_string(consensus_text_md, NULL,
+ con_md = networkstatus_parse_vote_from_string(consensus_text_md,
+ strlen(consensus_text_md),
+ NULL,
NS_TYPE_CONSENSUS);
tt_assert(con_md);
tt_int_op(con_md->flavor,OP_EQ, FLAV_MICRODESC);
@@ -475,7 +479,9 @@ test_directory_guard_fetch_with_no_dirinfo(void *arg)
/* Initialize the SRV subsystem */
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
- mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
sr_init(0);
UNMOCK(get_my_v3_authority_cert);
@@ -648,7 +654,9 @@ test_skew_common(void *arg, time_t now, unsigned long *offset)
/* Initialize the SRV subsystem */
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
- mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
sr_init(0);
UNMOCK(get_my_v3_authority_cert);
@@ -662,7 +670,8 @@ test_skew_common(void *arg, time_t now, unsigned long *offset)
MOCK(clock_skew_warning, mock_clock_skew_warning);
/* Caller will call teardown_capture_of_logs() */
setup_capture_of_logs(LOG_WARN);
- retval = networkstatus_set_current_consensus(consensus, "microdesc", 0,
+ retval = networkstatus_set_current_consensus(consensus, strlen(consensus),
+ "microdesc", 0,
NULL);
done:
diff --git a/src/test/test_rust.sh b/src/test/test_rust.sh
index a1a56af480..00b3e88d37 100755
--- a/src/test/test_rust.sh
+++ b/src/test/test_rust.sh
@@ -5,12 +5,20 @@ set -e
export LSAN_OPTIONS=suppressions=${abs_top_srcdir:-../../..}/src/test/rust_supp.txt
+# When testing Cargo we pass a number of very specific linker flags down
+# through Cargo. We do not, however, want these flags to affect things like
+# build scripts, only the tests that we're compiling. To ensure this happens
+# we unconditionally pass `--target` into Cargo, ensuring that `RUSTFLAGS` in
+# the environment won't make their way into build scripts.
+rustc_host=$(rustc -vV | grep host | sed 's/host: //')
+
for cargo_toml_dir in "${abs_top_srcdir:-../../..}"/src/rust/*; do
if [ -e "${cargo_toml_dir}/Cargo.toml" ]; then
cd "${abs_top_builddir:-../../..}/src/rust" && \
CARGO_TARGET_DIR="${abs_top_builddir:-../../..}/src/rust/target" \
"${CARGO:-cargo}" test ${CARGO_ONLINE-"--frozen"} \
- --features "test_linking_hack" \
+ --features "test_linking_hack" \
+ --target $rustc_host \
${EXTRA_CARGO_OPTIONS} \
--manifest-path "${cargo_toml_dir}/Cargo.toml" || exitcode=1
fi
diff --git a/src/test/test_shared_random.c b/src/test/test_shared_random.c
index 8a7fb95cc1..433661f128 100644
--- a/src/test/test_shared_random.c
+++ b/src/test/test_shared_random.c
@@ -65,7 +65,9 @@ init_authority_state(void)
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
or_options_t *options = get_options_mutable();
- mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
tt_assert(mock_cert);
options->AuthoritativeDir = 1;
tt_int_op(load_ed_keys(options, time(NULL)), OP_GE, 0);
@@ -421,7 +423,9 @@ test_sr_commit(void *arg)
{ /* Setup a minimal dirauth environment for this test */
or_options_t *options = get_options_mutable();
- auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
tt_assert(auth_cert);
options->AuthoritativeDir = 1;
@@ -824,7 +828,9 @@ test_sr_setup_commits(void)
{ /* Setup a minimal dirauth environment for this test */
or_options_t *options = get_options_mutable();
- auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
tt_assert(auth_cert);
options->AuthoritativeDir = 1;
diff --git a/src/test/test_slow.c b/src/test/test_slow.c
index 0b665363ab..97c2912af6 100644
--- a/src/test/test_slow.c
+++ b/src/test/test_slow.c
@@ -20,7 +20,7 @@
struct testgroup_t testgroups[] = {
{ "slow/crypto/", slow_crypto_tests },
- { "slow/util/", slow_util_tests },
+ { "slow/process/", slow_process_tests },
END_OF_GROUPS
};
diff --git a/src/test/test_socks.c b/src/test/test_socks.c
index 7f6d8a48f1..d430f4329b 100644
--- a/src/test/test_socks.c
+++ b/src/test/test_socks.c
@@ -4,7 +4,7 @@
/* See LICENSE for licensing information */
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "core/mainloop/connection.h"
#include "core/proto/proto_socks.h"
diff --git a/src/test/test_util.c b/src/test/test_util.c
index 7bc1b7921a..b983cbb0bf 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -10,10 +10,10 @@
#define UTIL_PRIVATE
#define UTIL_MALLOC_PRIVATE
#define SOCKET_PRIVATE
-#define SUBPROCESS_PRIVATE
+#define PROCESS_WIN32_PRIVATE
#include "lib/testsupport/testsupport.h"
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "feature/control/control.h"
#include "feature/client/transports.h"
@@ -22,6 +22,7 @@
#include "test/test.h"
#include "lib/memarea/memarea.h"
#include "lib/process/waitpid.h"
+#include "lib/process/process_win32.h"
#include "test/log_test_helpers.h"
#include "lib/compress/compress.h"
#include "lib/compress/compress_zstd.h"
@@ -30,7 +31,6 @@
#include "lib/fs/winlib.h"
#include "lib/process/env.h"
#include "lib/process/pidfile.h"
-#include "lib/process/subprocess.h"
#include "lib/intmath/weakrng.h"
#include "lib/thread/numcpus.h"
#include "lib/math/fp.h"
@@ -4024,6 +4024,13 @@ test_util_string_is_utf8(void *ptr)
tt_int_op(1, OP_EQ, string_is_utf8("ascii\x7f\n", 7));
tt_int_op(1, OP_EQ, string_is_utf8("Risqu\u00e9=1", 9));
+ /* Test the utf8_no_bom function */
+ tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFEFF", 3));
+ tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFFFE", 3));
+ tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFEFFlove", 7));
+ tt_int_op(1, OP_EQ, string_is_utf8_no_bom("loveandrespect",
+ strlen("loveandrespect")));
+
// Validate exactly 'len' bytes.
tt_int_op(0, OP_EQ, string_is_utf8("\0\x80", 2));
tt_int_op(0, OP_EQ, string_is_utf8("Risqu\u00e9=1", 6));
@@ -4294,204 +4301,6 @@ test_util_load_win_lib(void *ptr)
}
#endif /* defined(_WIN32) */
-#ifndef _WIN32
-static void
-clear_hex_errno(char *hex_errno)
-{
- memset(hex_errno, '\0', HEX_ERRNO_SIZE + 1);
-}
-
-static void
-test_util_exit_status(void *ptr)
-{
- /* Leave an extra byte for a \0 so we can do string comparison */
- char hex_errno[HEX_ERRNO_SIZE + 1];
- int n;
-
- (void)ptr;
-
- clear_hex_errno(hex_errno);
- tt_str_op("",OP_EQ, hex_errno);
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0, 0, hex_errno);
- tt_str_op("0/0\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
-
-#if SIZEOF_INT == 4
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0, 0x7FFFFFFF, hex_errno);
- tt_str_op("0/7FFFFFFF\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0xFF, -0x80000000, hex_errno);
- tt_str_op("FF/-80000000\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
- tt_int_op(n,OP_EQ, HEX_ERRNO_SIZE);
-
-#elif SIZEOF_INT == 8
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0, 0x7FFFFFFFFFFFFFFF, hex_errno);
- tt_str_op("0/7FFFFFFFFFFFFFFF\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0xFF, -0x8000000000000000, hex_errno);
- tt_str_op("FF/-8000000000000000\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
- tt_int_op(n,OP_EQ, HEX_ERRNO_SIZE);
-
-#endif /* SIZEOF_INT == 4 || ... */
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0x7F, 0, hex_errno);
- tt_str_op("7F/0\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0x08, -0x242, hex_errno);
- tt_str_op("8/-242\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
-
- clear_hex_errno(hex_errno);
- tt_str_op("",OP_EQ, hex_errno);
-
- done:
- ;
-}
-#endif /* !defined(_WIN32) */
-
-#ifndef _WIN32
-static void
-test_util_string_from_pipe(void *ptr)
-{
- int test_pipe[2] = {-1, -1};
- int retval = 0;
- enum stream_status status = IO_STREAM_TERM;
- ssize_t retlen;
- char buf[4] = { 0 };
-
- (void)ptr;
-
- errno = 0;
-
- /* Set up a pipe to test on */
- retval = pipe(test_pipe);
- tt_int_op(retval, OP_EQ, 0);
-
- /* Send in a string. */
- retlen = write(test_pipe[1], "ABC", 3);
- tt_int_op(retlen, OP_EQ, 3);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "ABC");
- errno = 0;
-
- /* Send in a string that contains a nul. */
- retlen = write(test_pipe[1], "AB\0", 3);
- tt_int_op(retlen, OP_EQ, 3);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "AB");
- errno = 0;
-
- /* Send in a string that contains a nul only. */
- retlen = write(test_pipe[1], "\0", 1);
- tt_int_op(retlen, OP_EQ, 1);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "");
- errno = 0;
-
- /* Send in a string that contains a trailing newline. */
- retlen = write(test_pipe[1], "AB\n", 3);
- tt_int_op(retlen, OP_EQ, 3);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "AB");
- errno = 0;
-
- /* Send in a string that contains a newline only. */
- retlen = write(test_pipe[1], "\n", 1);
- tt_int_op(retlen, OP_EQ, 1);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "");
- errno = 0;
-
- /* Send in a string and check that we nul terminate return values. */
- retlen = write(test_pipe[1], "AAA", 3);
- tt_int_op(retlen, OP_EQ, 3);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "AAA");
- tt_mem_op(buf, OP_EQ, "AAA\0", sizeof(buf));
- errno = 0;
-
- retlen = write(test_pipe[1], "B", 1);
- tt_int_op(retlen, OP_EQ, 1);
-
- memset(buf, '\xff', sizeof(buf));
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "B");
- tt_mem_op(buf, OP_EQ, "B\0\xff\xff", sizeof(buf));
- errno = 0;
-
- /* Send in multiple lines. */
- retlen = write(test_pipe[1], "A\nB", 3);
- tt_int_op(retlen, OP_EQ, 3);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "A\nB");
- errno = 0;
-
- /* Send in a line and close */
- retlen = write(test_pipe[1], "AB", 2);
- tt_int_op(retlen, OP_EQ, 2);
- retval = close(test_pipe[1]);
- tt_int_op(retval, OP_EQ, 0);
- test_pipe[1] = -1;
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "AB");
- errno = 0;
-
- /* Check for EOF */
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_CLOSED);
- errno = 0;
-
- done:
- if (test_pipe[0] != -1)
- close(test_pipe[0]);
- if (test_pipe[1] != -1)
- close(test_pipe[1]);
-}
-
-#endif /* !defined(_WIN32) */
-
/**
* Test for format_hex_number_sigsafe()
*/
@@ -4586,57 +4395,6 @@ test_util_format_dec_number(void *ptr)
return;
}
-/**
- * Test that we can properly format a Windows command line
- */
-static void
-test_util_join_win_cmdline(void *ptr)
-{
- /* Based on some test cases from "Parsing C++ Command-Line Arguments" in
- * MSDN but we don't exercise all quoting rules because tor_join_win_cmdline
- * will try to only generate simple cases for the child process to parse;
- * i.e. we never embed quoted strings in arguments. */
-
- const char *argvs[][4] = {
- {"a", "bb", "CCC", NULL}, // Normal
- {NULL, NULL, NULL, NULL}, // Empty argument list
- {"", NULL, NULL, NULL}, // Empty argument
- {"\"a", "b\"b", "CCC\"", NULL}, // Quotes
- {"a\tbc", "dd dd", "E", NULL}, // Whitespace
- {"a\\\\\\b", "de fg", "H", NULL}, // Backslashes
- {"a\\\"b", "\\c", "D\\", NULL}, // Backslashes before quote
- {"a\\\\b c", "d", "E", NULL}, // Backslashes not before quote
- { NULL } // Terminator
- };
-
- const char *cmdlines[] = {
- "a bb CCC",
- "",
- "\"\"",
- "\\\"a b\\\"b CCC\\\"",
- "\"a\tbc\" \"dd dd\" E",
- "a\\\\\\b \"de fg\" H",
- "a\\\\\\\"b \\c D\\",
- "\"a\\\\b c\" d E",
- NULL // Terminator
- };
-
- int i;
- char *joined_argv = NULL;
-
- (void)ptr;
-
- for (i=0; cmdlines[i]!=NULL; i++) {
- log_info(LD_GENERAL, "Joining argvs[%d], expecting <%s>", i, cmdlines[i]);
- joined_argv = tor_join_win_cmdline(argvs[i]);
- tt_str_op(cmdlines[i],OP_EQ, joined_argv);
- tor_free(joined_argv);
- }
-
- done:
- tor_free(joined_argv);
-}
-
#define MAX_SPLIT_LINE_COUNT 4
struct split_lines_test_t {
const char *orig_line; // Line to be split (may contain \0's)
@@ -4644,67 +4402,6 @@ struct split_lines_test_t {
const char *split_line[MAX_SPLIT_LINE_COUNT]; // Split lines
};
-/**
- * Test that we properly split a buffer into lines
- */
-static void
-test_util_split_lines(void *ptr)
-{
- /* Test cases. orig_line of last test case must be NULL.
- * The last element of split_line[i] must be NULL. */
- struct split_lines_test_t tests[] = {
- {"", 0, {NULL}},
- {"foo", 3, {"foo", NULL}},
- {"\n\rfoo\n\rbar\r\n", 12, {"foo", "bar", NULL}},
- {"fo o\r\nb\tar", 10, {"fo o", "b.ar", NULL}},
- {"\x0f""f\0o\0\n\x01""b\0r\0\r", 12, {".f.o.", ".b.r.", NULL}},
- {"line 1\r\nline 2", 14, {"line 1", "line 2", NULL}},
- {"line 1\r\n\r\nline 2", 16, {"line 1", "line 2", NULL}},
- {"line 1\r\n\r\r\r\nline 2", 18, {"line 1", "line 2", NULL}},
- {"line 1\r\n\n\n\n\rline 2", 18, {"line 1", "line 2", NULL}},
- {"line 1\r\n\r\t\r\nline 3", 18, {"line 1", ".", "line 3", NULL}},
- {"\n\t\r\t\nline 3", 11, {".", ".", "line 3", NULL}},
- {NULL, 0, { NULL }}
- };
-
- int i, j;
- char *orig_line=NULL;
- smartlist_t *sl=NULL;
-
- (void)ptr;
-
- for (i=0; tests[i].orig_line; i++) {
- sl = smartlist_new();
- /* Allocate space for string and trailing NULL */
- orig_line = tor_memdup(tests[i].orig_line, tests[i].orig_length + 1);
- tor_split_lines(sl, orig_line, tests[i].orig_length);
-
- j = 0;
- log_info(LD_GENERAL, "Splitting test %d of length %d",
- i, tests[i].orig_length);
- SMARTLIST_FOREACH_BEGIN(sl, const char *, line) {
- /* Check we have not got too many lines */
- tt_int_op(MAX_SPLIT_LINE_COUNT, OP_GT, j);
- /* Check that there actually should be a line here */
- tt_ptr_op(tests[i].split_line[j], OP_NE, NULL);
- log_info(LD_GENERAL, "Line %d of test %d, should be <%s>",
- j, i, tests[i].split_line[j]);
- /* Check that the line is as expected */
- tt_str_op(line,OP_EQ, tests[i].split_line[j]);
- j++;
- } SMARTLIST_FOREACH_END(line);
- /* Check that we didn't miss some lines */
- tt_ptr_op(NULL,OP_EQ, tests[i].split_line[j]);
- tor_free(orig_line);
- smartlist_free(sl);
- sl = NULL;
- }
-
- done:
- tor_free(orig_line);
- smartlist_free(sl);
-}
-
static void
test_util_di_ops(void *arg)
{
@@ -5808,6 +5505,18 @@ test_util_ipv4_validation(void *arg)
}
static void
+test_util_ipv6_validation(void *arg)
+{
+ (void)arg;
+
+ tt_assert(string_is_valid_ipv6_address("2a00:1450:401b:800::200e"));
+ tt_assert(!string_is_valid_ipv6_address("11:22::33:44:"));
+
+ done:
+ return;
+}
+
+static void
test_util_writepid(void *arg)
{
(void) arg;
@@ -6464,12 +6173,8 @@ struct testcase_t util_tests[] = {
UTIL_TEST(nowrap_math, 0),
UTIL_TEST(num_cpus, 0),
UTIL_TEST_WIN_ONLY(load_win_lib, 0),
- UTIL_TEST_NO_WIN(exit_status, 0),
- UTIL_TEST_NO_WIN(string_from_pipe, 0),
UTIL_TEST(format_hex_number, 0),
UTIL_TEST(format_dec_number, 0),
- UTIL_TEST(join_win_cmdline, 0),
- UTIL_TEST(split_lines, 0),
UTIL_TEST(n_bits_set, 0),
UTIL_TEST(eat_whitespace, 0),
UTIL_TEST(sl_new_from_text_lines, 0),
@@ -6498,6 +6203,7 @@ struct testcase_t util_tests[] = {
UTIL_TEST(hostname_validation, 0),
UTIL_TEST(dest_validation_edgecase, 0),
UTIL_TEST(ipv4_validation, 0),
+ UTIL_TEST(ipv6_validation, 0),
UTIL_TEST(writepid, 0),
UTIL_TEST(get_avail_disk_space, 0),
UTIL_TEST(touch_file, 0),
diff --git a/src/test/test_util_format.c b/src/test/test_util_format.c
index 85d8a8e62e..fd57125b86 100644
--- a/src/test/test_util_format.c
+++ b/src/test/test_util_format.c
@@ -392,10 +392,13 @@ test_util_format_encoded_size(void *arg)
base64_encode(outbuf, sizeof(outbuf), (char *)inbuf, i, 0);
tt_int_op(strlen(outbuf), OP_EQ, base64_encode_size(i, 0));
+ tt_int_op(i, OP_LE, base64_decode_maxsize(strlen(outbuf)));
+
base64_encode(outbuf, sizeof(outbuf), (char *)inbuf, i,
BASE64_ENCODE_MULTILINE);
tt_int_op(strlen(outbuf), OP_EQ,
base64_encode_size(i, BASE64_ENCODE_MULTILINE));
+ tt_int_op(i, OP_LE, base64_decode_maxsize(strlen(outbuf)));
}
done:
@@ -417,4 +420,3 @@ struct testcase_t util_format_tests[] = {
{ "encoded_size", test_util_format_encoded_size, 0, NULL, NULL },
END_OF_TESTCASES
};
-
diff --git a/src/test/test_util_slow.c b/src/test/test_util_slow.c
deleted file mode 100644
index c7b3e3e2a4..0000000000
--- a/src/test/test_util_slow.c
+++ /dev/null
@@ -1,396 +0,0 @@
-/* Copyright (c) 2001-2004, Roger Dingledine.
- * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
- * Copyright (c) 2007-2018, The Tor Project, Inc. */
-/* See LICENSE for licensing information */
-
-#include "orconfig.h"
-#define UTIL_PRIVATE
-#define SUBPROCESS_PRIVATE
-#include "lib/crypt_ops/crypto_cipher.h"
-#include "lib/log/log.h"
-#include "lib/process/subprocess.h"
-#include "lib/process/waitpid.h"
-#include "lib/string/printf.h"
-#include "lib/time/compat_time.h"
-#include "test/test.h"
-
-#include <errno.h>
-#include <string.h>
-
-#ifndef BUILDDIR
-#define BUILDDIR "."
-#endif
-
-#ifdef _WIN32
-#define notify_pending_waitpid_callbacks() STMT_NIL
-#define TEST_CHILD "test-child.exe"
-#define EOL "\r\n"
-#else
-#define TEST_CHILD (BUILDDIR "/src/test/test-child")
-#define EOL "\n"
-#endif /* defined(_WIN32) */
-
-#ifdef _WIN32
-/* I've assumed Windows doesn't have the gap between fork and exec
- * that causes the race condition on unix-like platforms */
-#define MATCH_PROCESS_STATUS(s1,s2) ((s1) == (s2))
-
-#else /* !(defined(_WIN32)) */
-/* work around a race condition of the timing of SIGCHLD handler updates
- * to the process_handle's fields, and checks of those fields
- *
- * TODO: Once we can signal failure to exec, change PROCESS_STATUS_RUNNING to
- * PROCESS_STATUS_ERROR (and similarly with *_OR_NOTRUNNING) */
-#define PROCESS_STATUS_RUNNING_OR_NOTRUNNING (PROCESS_STATUS_RUNNING+1)
-#define IS_RUNNING_OR_NOTRUNNING(s) \
- ((s) == PROCESS_STATUS_RUNNING || (s) == PROCESS_STATUS_NOTRUNNING)
-/* well, this is ugly */
-#define MATCH_PROCESS_STATUS(s1,s2) \
- ( (s1) == (s2) \
- ||((s1) == PROCESS_STATUS_RUNNING_OR_NOTRUNNING \
- && IS_RUNNING_OR_NOTRUNNING(s2)) \
- ||((s2) == PROCESS_STATUS_RUNNING_OR_NOTRUNNING \
- && IS_RUNNING_OR_NOTRUNNING(s1)))
-
-#endif /* defined(_WIN32) */
-
-/** Helper function for testing tor_spawn_background */
-static void
-run_util_spawn_background(const char *argv[], const char *expected_out,
- const char *expected_err, int expected_exit,
- int expected_status)
-{
- int retval, exit_code;
- ssize_t pos;
- process_handle_t *process_handle=NULL;
- char stdout_buf[100], stderr_buf[100];
- int status;
-
- /* Start the program */
-#ifdef _WIN32
- status = tor_spawn_background(NULL, argv, NULL, &process_handle);
-#else
- status = tor_spawn_background(argv[0], argv, NULL, &process_handle);
-#endif
-
- notify_pending_waitpid_callbacks();
-
- /* the race condition doesn't affect status,
- * because status isn't updated by the SIGCHLD handler,
- * but we still need to handle PROCESS_STATUS_RUNNING_OR_NOTRUNNING */
- tt_assert(MATCH_PROCESS_STATUS(expected_status, status));
- if (status == PROCESS_STATUS_ERROR) {
- tt_ptr_op(process_handle, OP_EQ, NULL);
- return;
- }
-
- tt_ptr_op(process_handle, OP_NE, NULL);
-
- /* When a spawned process forks, fails, then exits very quickly,
- * (this typically occurs when exec fails)
- * there is a race condition between the SIGCHLD handler
- * updating the process_handle's fields, and this test
- * checking the process status in those fields.
- * The SIGCHLD update can occur before or after the code below executes.
- * This causes intermittent failures in spawn_background_fail(),
- * typically when the machine is under load.
- * We use PROCESS_STATUS_RUNNING_OR_NOTRUNNING to avoid this issue. */
-
- /* the race condition affects the change in
- * process_handle->status from RUNNING to NOTRUNNING */
- tt_assert(MATCH_PROCESS_STATUS(expected_status, process_handle->status));
-
-#ifndef _WIN32
- notify_pending_waitpid_callbacks();
- /* the race condition affects the change in
- * process_handle->waitpid_cb to NULL,
- * so we skip the check if expected_status is ambiguous,
- * that is, PROCESS_STATUS_RUNNING_OR_NOTRUNNING */
- tt_assert(process_handle->waitpid_cb != NULL
- || expected_status == PROCESS_STATUS_RUNNING_OR_NOTRUNNING);
-#endif /* !defined(_WIN32) */
-
-#ifdef _WIN32
- tt_assert(process_handle->stdout_pipe != INVALID_HANDLE_VALUE);
- tt_assert(process_handle->stderr_pipe != INVALID_HANDLE_VALUE);
- tt_assert(process_handle->stdin_pipe != INVALID_HANDLE_VALUE);
-#else
- tt_assert(process_handle->stdout_pipe >= 0);
- tt_assert(process_handle->stderr_pipe >= 0);
- tt_assert(process_handle->stdin_pipe >= 0);
-#endif /* defined(_WIN32) */
-
- /* Check stdout */
- pos = tor_read_all_from_process_stdout(process_handle, stdout_buf,
- sizeof(stdout_buf) - 1);
- tt_assert(pos >= 0);
- stdout_buf[pos] = '\0';
- tt_int_op(strlen(expected_out),OP_EQ, pos);
- tt_str_op(expected_out,OP_EQ, stdout_buf);
-
- notify_pending_waitpid_callbacks();
-
- /* Check it terminated correctly */
- retval = tor_get_exit_code(process_handle, 1, &exit_code);
- tt_int_op(PROCESS_EXIT_EXITED,OP_EQ, retval);
- tt_int_op(expected_exit,OP_EQ, exit_code);
- // TODO: Make test-child exit with something other than 0
-
-#ifndef _WIN32
- notify_pending_waitpid_callbacks();
- tt_ptr_op(process_handle->waitpid_cb, OP_EQ, NULL);
-#endif
-
- /* Check stderr */
- pos = tor_read_all_from_process_stderr(process_handle, stderr_buf,
- sizeof(stderr_buf) - 1);
- tt_assert(pos >= 0);
- stderr_buf[pos] = '\0';
- tt_str_op(expected_err,OP_EQ, stderr_buf);
- tt_int_op(strlen(expected_err),OP_EQ, pos);
-
- notify_pending_waitpid_callbacks();
-
- done:
- if (process_handle)
- tor_process_handle_destroy(process_handle, 1);
-}
-
-/** Check that we can launch a process and read the output */
-static void
-test_util_spawn_background_ok(void *ptr)
-{
- const char *argv[] = {TEST_CHILD, "--test", NULL};
- const char *expected_out = "OUT"EOL "--test"EOL "SLEEPING"EOL "DONE" EOL;
- const char *expected_err = "ERR"EOL;
-
- (void)ptr;
-
- run_util_spawn_background(argv, expected_out, expected_err, 0,
- PROCESS_STATUS_RUNNING);
-}
-
-/** Check that failing to find the executable works as expected */
-static void
-test_util_spawn_background_fail(void *ptr)
-{
- const char *argv[] = {BUILDDIR "/src/test/no-such-file", "--test", NULL};
- const char *expected_err = "";
- char expected_out[1024];
- char code[32];
-#ifdef _WIN32
- const int expected_status = PROCESS_STATUS_ERROR;
-#else
- /* TODO: Once we can signal failure to exec, set this to be
- * PROCESS_STATUS_RUNNING_OR_ERROR */
- const int expected_status = PROCESS_STATUS_RUNNING_OR_NOTRUNNING;
-#endif /* defined(_WIN32) */
-
- memset(expected_out, 0xf0, sizeof(expected_out));
- memset(code, 0xf0, sizeof(code));
-
- (void)ptr;
-
- tor_snprintf(code, sizeof(code), "%x/%x",
- 9 /* CHILD_STATE_FAILEXEC */ , ENOENT);
- tor_snprintf(expected_out, sizeof(expected_out),
- "ERR: Failed to spawn background process - code %s\n", code);
-
- run_util_spawn_background(argv, expected_out, expected_err, 255,
- expected_status);
-}
-
-/** Test that reading from a handle returns a partial read rather than
- * blocking */
-static void
-test_util_spawn_background_partial_read_impl(int exit_early)
-{
- const int expected_exit = 0;
- const int expected_status = PROCESS_STATUS_RUNNING;
-
- int retval, exit_code;
- ssize_t pos = -1;
- process_handle_t *process_handle=NULL;
- int status;
- char stdout_buf[100], stderr_buf[100];
-
- const char *argv[] = {TEST_CHILD, "--test", NULL};
- const char *expected_out[] = { "OUT" EOL "--test" EOL "SLEEPING" EOL,
- "DONE" EOL,
- NULL };
- const char *expected_err = "ERR" EOL;
-
-#ifndef _WIN32
- int eof = 0;
-#endif
- int expected_out_ctr;
-
- if (exit_early) {
- argv[1] = "--hang";
- expected_out[0] = "OUT"EOL "--hang"EOL "SLEEPING" EOL;
- }
-
- /* Start the program */
-#ifdef _WIN32
- status = tor_spawn_background(NULL, argv, NULL, &process_handle);
-#else
- status = tor_spawn_background(argv[0], argv, NULL, &process_handle);
-#endif
- tt_int_op(expected_status,OP_EQ, status);
- tt_assert(process_handle);
- tt_int_op(expected_status,OP_EQ, process_handle->status);
-
- /* Check stdout */
- for (expected_out_ctr = 0; expected_out[expected_out_ctr] != NULL;) {
-#ifdef _WIN32
- pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf,
- sizeof(stdout_buf) - 1, NULL);
-#else
- /* Check that we didn't read the end of file last time */
- tt_assert(!eof);
- pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf,
- sizeof(stdout_buf) - 1, NULL, &eof);
-#endif /* defined(_WIN32) */
- log_info(LD_GENERAL, "tor_read_all_handle() returned %d", (int)pos);
-
- /* We would have blocked, keep on trying */
- if (0 == pos)
- continue;
-
- tt_assert(pos > 0);
- stdout_buf[pos] = '\0';
- tt_str_op(expected_out[expected_out_ctr],OP_EQ, stdout_buf);
- tt_int_op(strlen(expected_out[expected_out_ctr]),OP_EQ, pos);
- expected_out_ctr++;
- }
-
- if (exit_early) {
- tor_process_handle_destroy(process_handle, 1);
- process_handle = NULL;
- goto done;
- }
-
- /* The process should have exited without writing more */
-#ifdef _WIN32
- pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf,
- sizeof(stdout_buf) - 1,
- process_handle);
- tt_int_op(0,OP_EQ, pos);
-#else /* !(defined(_WIN32)) */
- if (!eof) {
- /* We should have got all the data, but maybe not the EOF flag */
- pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf,
- sizeof(stdout_buf) - 1,
- process_handle, &eof);
- tt_int_op(0,OP_EQ, pos);
- tt_assert(eof);
- }
- /* Otherwise, we got the EOF on the last read */
-#endif /* defined(_WIN32) */
-
- /* Check it terminated correctly */
- retval = tor_get_exit_code(process_handle, 1, &exit_code);
- tt_int_op(PROCESS_EXIT_EXITED,OP_EQ, retval);
- tt_int_op(expected_exit,OP_EQ, exit_code);
-
- // TODO: Make test-child exit with something other than 0
-
- /* Check stderr */
- pos = tor_read_all_from_process_stderr(process_handle, stderr_buf,
- sizeof(stderr_buf) - 1);
- tt_assert(pos >= 0);
- stderr_buf[pos] = '\0';
- tt_str_op(expected_err,OP_EQ, stderr_buf);
- tt_int_op(strlen(expected_err),OP_EQ, pos);
-
- done:
- tor_process_handle_destroy(process_handle, 1);
-}
-
-static void
-test_util_spawn_background_partial_read(void *arg)
-{
- (void)arg;
- test_util_spawn_background_partial_read_impl(0);
-}
-
-static void
-test_util_spawn_background_exit_early(void *arg)
-{
- (void)arg;
- test_util_spawn_background_partial_read_impl(1);
-}
-
-static void
-test_util_spawn_background_waitpid_notify(void *arg)
-{
- int retval, exit_code;
- process_handle_t *process_handle=NULL;
- int status;
- int ms_timer;
-
- const char *argv[] = {TEST_CHILD, "--fast", NULL};
-
- (void) arg;
-
-#ifdef _WIN32
- status = tor_spawn_background(NULL, argv, NULL, &process_handle);
-#else
- status = tor_spawn_background(argv[0], argv, NULL, &process_handle);
-#endif
-
- tt_int_op(status, OP_EQ, PROCESS_STATUS_RUNNING);
- tt_ptr_op(process_handle, OP_NE, NULL);
-
- /* We're not going to look at the stdout/stderr output this time. Instead,
- * we're testing whether notify_pending_waitpid_calbacks() can report the
- * process exit (on unix) and/or whether tor_get_exit_code() can notice it
- * (on windows) */
-
-#ifndef _WIN32
- ms_timer = 30*1000;
- tt_ptr_op(process_handle->waitpid_cb, OP_NE, NULL);
- while (process_handle->waitpid_cb && ms_timer > 0) {
- tor_sleep_msec(100);
- ms_timer -= 100;
- notify_pending_waitpid_callbacks();
- }
- tt_int_op(ms_timer, OP_GT, 0);
- tt_ptr_op(process_handle->waitpid_cb, OP_EQ, NULL);
-#endif /* !defined(_WIN32) */
-
- ms_timer = 30*1000;
- while (((retval = tor_get_exit_code(process_handle, 0, &exit_code))
- == PROCESS_EXIT_RUNNING) && ms_timer > 0) {
- tor_sleep_msec(100);
- ms_timer -= 100;
- }
- tt_int_op(ms_timer, OP_GT, 0);
-
- tt_int_op(retval, OP_EQ, PROCESS_EXIT_EXITED);
-
- done:
- tor_process_handle_destroy(process_handle, 1);
-}
-
-#undef TEST_CHILD
-#undef EOL
-
-#undef MATCH_PROCESS_STATUS
-
-#ifndef _WIN32
-#undef PROCESS_STATUS_RUNNING_OR_NOTRUNNING
-#undef IS_RUNNING_OR_NOTRUNNING
-#endif
-
-#define UTIL_TEST(name, flags) \
- { #name, test_util_ ## name, flags, NULL, NULL }
-
-struct testcase_t slow_util_tests[] = {
- UTIL_TEST(spawn_background_ok, 0),
- UTIL_TEST(spawn_background_fail, 0),
- UTIL_TEST(spawn_background_partial_read, 0),
- UTIL_TEST(spawn_background_exit_early, 0),
- UTIL_TEST(spawn_background_waitpid_notify, 0),
- END_OF_TESTCASES
-};
diff --git a/src/test/test_voting_flags.c b/src/test/test_voting_flags.c
new file mode 100644
index 0000000000..0c4cedb516
--- /dev/null
+++ b/src/test/test_voting_flags.c
@@ -0,0 +1,192 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+
+#define VOTEFLAGS_PRIVATE
+
+#include "core/or/or.h"
+
+#include "feature/dirauth/voteflags.h"
+#include "feature/nodelist/node_st.h"
+#include "feature/nodelist/routerstatus_st.h"
+#include "feature/nodelist/routerinfo_st.h"
+
+#include "app/config/config.h"
+
+#include "test/test.h"
+
+typedef struct {
+ time_t now;
+ routerinfo_t ri;
+ node_t node;
+
+ routerstatus_t expected;
+} flag_vote_test_cfg_t;
+
+static void
+setup_cfg(flag_vote_test_cfg_t *c)
+{
+ memset(c, 0, sizeof(*c));
+
+ c->now = approx_time();
+
+ c->ri.nickname = (char *) "testing100";
+ strlcpy(c->expected.nickname, "testing100", sizeof(c->expected.nickname));
+
+ memset(c->ri.cache_info.identity_digest, 0xff, DIGEST_LEN);
+ memset(c->ri.cache_info.signed_descriptor_digest, 0xee, DIGEST256_LEN);
+
+ c->ri.cache_info.published_on = c->now - 100;
+ c->expected.published_on = c->now - 100;
+
+ c->ri.addr = 0x7f010105;
+ c->expected.addr = 0x7f010105;
+ c->ri.or_port = 9090;
+ c->expected.or_port = 9090;
+
+ tor_addr_make_null(&c->ri.ipv6_addr, AF_INET6);
+ tor_addr_make_null(&c->expected.ipv6_addr, AF_INET6);
+
+ // By default we have no loaded information about stability or speed,
+ // so we'll default to voting "yeah sure." on these two.
+ c->expected.is_fast = 1;
+ c->expected.is_stable = 1;
+}
+
+static bool
+check_result(flag_vote_test_cfg_t *c)
+{
+ bool result = false;
+ routerstatus_t rs;
+ memset(&rs, 0, sizeof(rs));
+ set_routerstatus_from_routerinfo(&rs, &c->node, &c->ri, c->now, 0);
+
+ tt_i64_op(rs.published_on, OP_EQ, c->expected.published_on);
+ tt_str_op(rs.nickname, OP_EQ, c->expected.nickname);
+
+ // identity_digest and descriptor_digest are not set here.
+
+ tt_uint_op(rs.addr, OP_EQ, c->expected.addr);
+ tt_uint_op(rs.or_port, OP_EQ, c->expected.or_port);
+ tt_uint_op(rs.dir_port, OP_EQ, c->expected.dir_port);
+
+ tt_assert(tor_addr_eq(&rs.ipv6_addr, &c->expected.ipv6_addr));
+ tt_uint_op(rs.ipv6_orport, OP_EQ, c->expected.ipv6_orport);
+
+#define FLAG(flagname) \
+ tt_uint_op(rs.flagname, OP_EQ, c->expected.flagname)
+
+ FLAG(is_authority);
+ FLAG(is_exit);
+ FLAG(is_stable);
+ FLAG(is_fast);
+ FLAG(is_flagged_running);
+ FLAG(is_named);
+ FLAG(is_unnamed);
+ FLAG(is_valid);
+ FLAG(is_possible_guard);
+ FLAG(is_bad_exit);
+ FLAG(is_hs_dir);
+ FLAG(is_v2_dir);
+ FLAG(is_staledesc);
+ FLAG(has_bandwidth);
+ FLAG(has_exitsummary);
+ FLAG(bw_is_unmeasured);
+
+ result = true;
+
+ done:
+ return result;
+}
+
+static void
+test_voting_flags_minimal(void *arg)
+{
+ flag_vote_test_cfg_t *cfg = arg;
+ check_result(cfg);
+}
+
+static void
+test_voting_flags_ipv6(void *arg)
+{
+ flag_vote_test_cfg_t *cfg = arg;
+
+ tt_assert(tor_addr_parse(&cfg->ri.ipv6_addr, "f00::b42") == AF_INET6);
+ cfg->ri.ipv6_orport = 9091;
+ // no change in expected results, since we aren't set up with ipv6
+ // connectivity.
+ if (!check_result(cfg))
+ goto done;
+
+ get_options_mutable()->AuthDirHasIPv6Connectivity = 1;
+ // no change in expected results, since last_reachable6 won't be set.
+ if (!check_result(cfg))
+ goto done;
+
+ cfg->node.last_reachable6 = cfg->now - 10;
+ // now that lastreachable6 is set, we expect to see the result.
+ tt_assert(tor_addr_parse(&cfg->expected.ipv6_addr, "f00::b42") == AF_INET6);
+ cfg->expected.ipv6_orport = 9091;
+ if (!check_result(cfg))
+ goto done;
+ done:
+ ;
+}
+
+static void
+test_voting_flags_staledesc(void *arg)
+{
+ flag_vote_test_cfg_t *cfg = arg;
+ time_t now = cfg->now;
+
+ cfg->ri.cache_info.published_on = now - DESC_IS_STALE_INTERVAL + 10;
+ cfg->expected.published_on = now - DESC_IS_STALE_INTERVAL + 10;
+ // no change in expectations for is_staledesc
+ if (!check_result(cfg))
+ goto done;
+
+ cfg->ri.cache_info.published_on = now - DESC_IS_STALE_INTERVAL - 10;
+ cfg->expected.published_on = now - DESC_IS_STALE_INTERVAL - 10;
+ cfg->expected.is_staledesc = 1;
+ if (!check_result(cfg))
+ goto done;
+
+ done:
+ ;
+}
+
+static void *
+setup_voting_flags_test(const struct testcase_t *testcase)
+{
+ (void)testcase;
+ flag_vote_test_cfg_t *cfg = tor_malloc_zero(sizeof(*cfg));
+ setup_cfg(cfg);
+ return cfg;
+}
+
+static int
+teardown_voting_flags_test(const struct testcase_t *testcase, void *arg)
+{
+ (void)testcase;
+ flag_vote_test_cfg_t *cfg = arg;
+ tor_free(cfg);
+ return 1;
+}
+
+static const struct testcase_setup_t voting_flags_setup = {
+ .setup_fn = setup_voting_flags_test,
+ .cleanup_fn = teardown_voting_flags_test,
+};
+
+#define T(name,flags) \
+ { #name, test_voting_flags_##name, (flags), &voting_flags_setup, NULL }
+
+struct testcase_t voting_flags_tests[] = {
+ T(minimal, 0),
+ T(ipv6, TT_FORK),
+ // TODO: Add more of these tests.
+ T(staledesc, TT_FORK),
+ END_OF_TESTCASES
+};
+
diff --git a/src/test/testing_common.c b/src/test/testing_common.c
index c52683afca..6d2db28f15 100644
--- a/src/test/testing_common.c
+++ b/src/test/testing_common.c
@@ -25,6 +25,8 @@
#include "lib/compress/compress.h"
#include "lib/evloop/compat_libevent.h"
#include "lib/crypt_ops/crypto_init.h"
+#include "lib/version/torversion.h"
+#include "app/main/subsysmgr.h"
#include <stdio.h>
#ifdef HAVE_FCNTL_H
@@ -230,12 +232,12 @@ void
tinytest_prefork(void)
{
free_pregenerated_keys();
- crypto_prefork();
+ subsystems_prefork();
}
void
tinytest_postfork(void)
{
- crypto_postfork();
+ subsystems_postfork();
init_pregenerated_keys();
}
@@ -250,24 +252,15 @@ main(int c, const char **v)
int loglevel = LOG_ERR;
int accel_crypto = 0;
- /* We must initialise logs before we call tor_assert() */
- init_logging(1);
+ subsystems_init_upto(SUBSYS_LEVEL_LIBS);
- update_approx_time(time(NULL));
options = options_new();
- tor_threads_init();
- tor_compress_init();
-
- network_init();
-
- monotime_init();
struct tor_libevent_cfg cfg;
memset(&cfg, 0, sizeof(cfg));
tor_libevent_initialize(&cfg);
control_initialize_event_queue();
- configure_backtrace_handler(get_version());
for (i_out = i = 1; i < c; ++i) {
if (!strcmp(v[i], "--warn")) {
@@ -294,6 +287,7 @@ main(int c, const char **v)
s.masks[LOG_WARN-LOG_ERR] |= LD_BUG;
add_stream_log(&s, "", fileno(stdout));
}
+ flush_log_messages_from_startup();
init_protocol_warning_severity_level();
options->command = CMD_RUN_UNITTESTS;
@@ -334,8 +328,6 @@ main(int c, const char **v)
free_pregenerated_keys();
- crypto_global_cleanup();
-
if (have_failed)
return 1;
else
diff --git a/src/tools/include.am b/src/tools/include.am
index 73ec86935f..72dfe6017c 100644
--- a/src/tools/include.am
+++ b/src/tools/include.am
@@ -5,9 +5,11 @@ noinst_PROGRAMS+= src/tools/tor-cov-resolve
endif
src_tools_tor_resolve_SOURCES = src/tools/tor-resolve.c
-src_tools_tor_resolve_LDFLAGS =
+src_tools_tor_resolve_LDFLAGS = @TOR_LDFLAGS_openssl@
src_tools_tor_resolve_LDADD = \
+ src/trunnel/libor-trunnel.a \
$(TOR_UTIL_LIBS) \
+ $(TOR_CRYPTO_LIBS) $(TOR_LIBS_CRYPTLIB)\
$(rust_ldadd) \
@TOR_LIB_MATH@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_USERENV@
@@ -15,8 +17,11 @@ if COVERAGE_ENABLED
src_tools_tor_cov_resolve_SOURCES = src/tools/tor-resolve.c
src_tools_tor_cov_resolve_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
src_tools_tor_cov_resolve_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+src_tools_tor_cov_resolve_LDFLAGS = @TOR_LDFLAGS_openssl@
src_tools_tor_cov_resolve_LDADD = \
+ src/trunnel/libor-trunnel.a \
$(TOR_UTIL_TESTING_LIBS) \
+ $(TOR_CRYPTO_TESTING_LIBS) $(TOR_LIBS_CRYPTLIB) \
@TOR_LIB_MATH@ @TOR_LIB_WS32@
endif
@@ -41,7 +46,7 @@ src_tools_tor_print_ed_signing_cert_LDADD = \
$(TOR_CRYPTO_LIBS) \
$(TOR_UTIL_LIBS) \
@TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) \
- @TOR_LIB_WS32@ @TOR_LIB_USERENV@
+ @TOR_LIB_WS32@ @TOR_LIB_USERENV@ @TOR_LIB_GDI@
if USE_NSS
# ...
diff --git a/src/tools/tor-resolve.c b/src/tools/tor-resolve.c
index 95411d173d..803ed26b3b 100644
--- a/src/tools/tor-resolve.c
+++ b/src/tools/tor-resolve.c
@@ -15,6 +15,7 @@
#include "lib/string/util_string.h"
#include "lib/net/socks5_status.h"
+#include "trunnel/socks5.h"
#include <stdio.h>
#include <stdlib.h>
@@ -49,68 +50,204 @@
static void usage(void) ATTR_NORETURN;
+/**
+ * Set <b>out</b> to a pointer to newly allocated buffer containing
+ * SOCKS4a RESOLVE request with <b>username</b> and <b>hostname</b>.
+ * Return number of bytes in the buffer if succeeded or -1 if failed.
+ */
+static ssize_t
+build_socks4a_resolve_request(uint8_t **out,
+ const char *username,
+ const char *hostname)
+{
+ tor_assert(out);
+ tor_assert(username);
+ tor_assert(hostname);
+
+ const char *errmsg = NULL;
+ uint8_t *output = NULL;
+ socks4_client_request_t *rq = socks4_client_request_new();
+
+ socks4_client_request_set_version(rq, 4);
+ socks4_client_request_set_command(rq, CMD_RESOLVE);
+ socks4_client_request_set_port(rq, 0);
+ socks4_client_request_set_addr(rq, 0x00000001u);
+ socks4_client_request_set_username(rq, username);
+ socks4_client_request_set_socks4a_addr_hostname(rq, hostname);
+
+ errmsg = socks4_client_request_check(rq);
+ if (errmsg) {
+ goto cleanup;
+ }
+
+ ssize_t encoded_len = socks4_client_request_encoded_len(rq);
+ if (encoded_len <= 0) {
+ errmsg = "socks4_client_request_encoded_len failed";
+ goto cleanup;
+ }
+
+ output = tor_malloc(encoded_len);
+ memset(output, 0, encoded_len);
+
+ encoded_len = socks4_client_request_encode(output, encoded_len, rq);
+ if (encoded_len <= 0) {
+ errmsg = "socks4_client_request_encode failed";
+ goto cleanup;
+ }
+
+ *out = output;
+
+ cleanup:
+ socks4_client_request_free(rq);
+ if (errmsg) {
+ log_err(LD_NET, "build_socks4a_resolve_request failed: %s", errmsg);
+ *out = NULL;
+ tor_free(output);
+ }
+ return errmsg ? -1 : encoded_len;
+}
+
+#define SOCKS5_ATYPE_HOSTNAME 0x03
+#define SOCKS5_ATYPE_IPV4 0x01
+#define SOCKS5_ATYPE_IPV6 0x04
+
+/**
+ * Set <b>out</b> to pointer to newly allocated buffer containing
+ * SOCKS5 RESOLVE/RESOLVE_PTR request with given <b>hostname<b>.
+ * Generate a reverse request if <b>reverse</b> is true.
+ * Return the number of bytes in the buffer if succeeded or -1 if failed.
+ */
+static ssize_t
+build_socks5_resolve_request(uint8_t **out,
+ const char *hostname,
+ int reverse)
+{
+ const char *errmsg = NULL;
+ uint8_t *outbuf = NULL;
+ int is_ip_address;
+ tor_addr_t addr;
+ size_t addrlen;
+ int ipv6;
+ is_ip_address = tor_addr_parse(&addr, hostname) != -1;
+ if (!is_ip_address && reverse) {
+ log_err(LD_GENERAL, "Tried to do a reverse lookup on a non-IP!");
+ return -1;
+ }
+ ipv6 = reverse && tor_addr_family(&addr) == AF_INET6;
+ addrlen = reverse ? (ipv6 ? 16 : 4) : 1 + strlen(hostname);
+ if (addrlen > UINT8_MAX) {
+ log_err(LD_GENERAL, "Hostname is too long!");
+ return -1;
+ }
+
+ socks5_client_request_t *rq = socks5_client_request_new();
+
+ socks5_client_request_set_version(rq, 5);
+ /* RESOLVE_PTR or RESOLVE */
+ socks5_client_request_set_command(rq, reverse ? CMD_RESOLVE_PTR :
+ CMD_RESOLVE);
+ socks5_client_request_set_reserved(rq, 0);
+
+ uint8_t atype = SOCKS5_ATYPE_HOSTNAME;
+ if (reverse)
+ atype = ipv6 ? SOCKS5_ATYPE_IPV6 : SOCKS5_ATYPE_IPV4;
+
+ socks5_client_request_set_atype(rq, atype);
+
+ switch (atype) {
+ case SOCKS5_ATYPE_IPV4: {
+ socks5_client_request_set_dest_addr_ipv4(rq,
+ tor_addr_to_ipv4h(&addr));
+ } break;
+ case SOCKS5_ATYPE_IPV6: {
+ uint8_t *ipv6_array =
+ socks5_client_request_getarray_dest_addr_ipv6(rq);
+
+ tor_assert(ipv6_array);
+
+ memcpy(ipv6_array, tor_addr_to_in6_addr8(&addr), 16);
+ } break;
+
+ case SOCKS5_ATYPE_HOSTNAME: {
+ domainname_t *dn = domainname_new();
+ domainname_set_len(dn, addrlen - 1);
+ domainname_setlen_name(dn, addrlen - 1);
+ char *dn_buf = domainname_getarray_name(dn);
+ memcpy(dn_buf, hostname, addrlen - 1);
+
+ errmsg = domainname_check(dn);
+
+ if (errmsg) {
+ domainname_free(dn);
+ goto cleanup;
+ } else {
+ socks5_client_request_set_dest_addr_domainname(rq, dn);
+ }
+ } break;
+ default:
+ tor_assert_unreached();
+ break;
+ }
+
+ socks5_client_request_set_dest_port(rq, 0);
+
+ errmsg = socks5_client_request_check(rq);
+ if (errmsg) {
+ goto cleanup;
+ }
+
+ ssize_t encoded_len = socks5_client_request_encoded_len(rq);
+ if (encoded_len < 0) {
+ errmsg = "Cannot predict encoded length";
+ goto cleanup;
+ }
+
+ outbuf = tor_malloc(encoded_len);
+ memset(outbuf, 0, encoded_len);
+
+ encoded_len = socks5_client_request_encode(outbuf, encoded_len, rq);
+ if (encoded_len < 0) {
+ errmsg = "encoding failed";
+ goto cleanup;
+ }
+
+ *out = outbuf;
+
+ cleanup:
+ socks5_client_request_free(rq);
+ if (errmsg) {
+ tor_free(outbuf);
+ log_err(LD_NET, "build_socks5_resolve_request failed with error: %s",
+ errmsg);
+ }
+
+ return errmsg ? -1 : encoded_len;
+}
+
/** Set *<b>out</b> to a newly allocated SOCKS4a resolve request with
* <b>username</b> and <b>hostname</b> as provided. Return the number
* of bytes in the request. */
static ssize_t
-build_socks_resolve_request(char **out,
+build_socks_resolve_request(uint8_t **out,
const char *username,
const char *hostname,
int reverse,
int version)
{
- size_t len = 0;
tor_assert(out);
tor_assert(username);
tor_assert(hostname);
+ tor_assert(version == 4 || version == 5);
+
if (version == 4) {
- len = 8 + strlen(username) + 1 + strlen(hostname) + 1;
- *out = tor_malloc(len);
- (*out)[0] = 4; /* SOCKS version 4 */
- (*out)[1] = '\xF0'; /* Command: resolve. */
- set_uint16((*out)+2, htons(0)); /* port: 0. */
- set_uint32((*out)+4, htonl(0x00000001u)); /* addr: 0.0.0.1 */
- memcpy((*out)+8, username, strlen(username)+1);
- memcpy((*out)+8+strlen(username)+1, hostname, strlen(hostname)+1);
+ return build_socks4a_resolve_request(out, username, hostname);
} else if (version == 5) {
- int is_ip_address;
- tor_addr_t addr;
- size_t addrlen;
- int ipv6;
- is_ip_address = tor_addr_parse(&addr, hostname) != -1;
- if (!is_ip_address && reverse) {
- log_err(LD_GENERAL, "Tried to do a reverse lookup on a non-IP!");
- return -1;
- }
- ipv6 = reverse && tor_addr_family(&addr) == AF_INET6;
- addrlen = reverse ? (ipv6 ? 16 : 4) : 1 + strlen(hostname);
- if (addrlen > UINT8_MAX) {
- log_err(LD_GENERAL, "Hostname is too long!");
- return -1;
- }
- len = 6 + addrlen;
- *out = tor_malloc(len);
- (*out)[0] = 5; /* SOCKS version 5 */
- (*out)[1] = reverse ? '\xF1' : '\xF0'; /* RESOLVE_PTR or RESOLVE */
- (*out)[2] = 0; /* reserved. */
- if (reverse) {
- (*out)[3] = ipv6 ? 4 : 1;
- if (ipv6)
- memcpy((*out)+4, tor_addr_to_in6_addr8(&addr), 16);
- else
- set_uint32((*out)+4, tor_addr_to_ipv4n(&addr));
- } else {
- (*out)[3] = 3;
- (*out)[4] = (char)(uint8_t)(addrlen - 1);
- memcpy((*out)+5, hostname, addrlen - 1);
- }
- set_uint16((*out)+4+addrlen, 0); /* port */
- } else {
- tor_assert(0);
+ return build_socks5_resolve_request(out, hostname, reverse);
}
- return len;
+ tor_assert_unreached();
+ return -1;
}
static void
@@ -134,34 +271,50 @@ parse_socks4a_resolve_response(const char *hostname,
const char *response, size_t len,
tor_addr_t *addr_out)
{
+ int result = 0;
uint8_t status;
tor_assert(response);
tor_assert(addr_out);
- if (len < RESPONSE_LEN_4) {
+ socks4_server_reply_t *reply;
+
+ ssize_t parsed = socks4_server_reply_parse(&reply,
+ (const uint8_t *)response,
+ len);
+
+ if (parsed == -1) {
+ log_warn(LD_PROTOCOL, "Failed parsing SOCKS4a response");
+ result = -1; goto cleanup;
+ }
+
+ if (parsed == -2) {
log_warn(LD_PROTOCOL,"Truncated socks response.");
- return -1;
+ result = -1; goto cleanup;
}
- if (((uint8_t)response[0])!=0) { /* version: 0 */
+
+ if (socks4_server_reply_get_version(reply) != 0) { /* version: 0 */
log_warn(LD_PROTOCOL,"Nonzero version in socks response: bad format.");
- return -1;
+ result = -1; goto cleanup;
}
- status = (uint8_t)response[1];
- if (get_uint16(response+2)!=0) { /* port: 0 */
+ if (socks4_server_reply_get_port(reply) != 0) { /* port: 0 */
log_warn(LD_PROTOCOL,"Nonzero port in socks response: bad format.");
- return -1;
+ result = -1; goto cleanup;
}
+ status = socks4_server_reply_get_status(reply);
if (status != 90) {
log_warn(LD_NET,"Got status response '%d': socks request failed.", status);
if (!strcasecmpend(hostname, ".onion")) {
onion_warning(hostname);
- return -1;
+ result = -1; goto cleanup;
}
- return -1;
+ result = -1; goto cleanup;
}
- tor_addr_from_ipv4n(addr_out, get_uint32(response+4));
- return 0;
+ tor_addr_from_ipv4h(addr_out, socks4_server_reply_get_addr(reply));
+
+ cleanup:
+ socks4_server_reply_free(reply);
+ return result;
}
/* It would be nice to let someone know what SOCKS5 issue a user may have */
@@ -205,7 +358,7 @@ do_resolve(const char *hostname,
int s = -1;
struct sockaddr_storage ss;
socklen_t socklen;
- char *req = NULL;
+ uint8_t *req = NULL;
ssize_t len = 0;
tor_assert(hostname);
@@ -230,23 +383,57 @@ do_resolve(const char *hostname,
}
if (version == 5) {
- char method_buf[2];
- if (write_all_to_socket(s, "\x05\x01\x00", 3) != 3) {
+ socks5_client_version_t *v = socks5_client_version_new();
+
+ socks5_client_version_set_version(v, 5);
+ socks5_client_version_set_n_methods(v, 1);
+ socks5_client_version_setlen_methods(v, 1);
+ socks5_client_version_set_methods(v, 0, 0x00);
+
+ tor_assert(!socks5_client_version_check(v));
+ ssize_t encoded_len = socks5_client_version_encoded_len(v);
+ tor_assert(encoded_len > 0);
+
+ uint8_t *buf = tor_malloc(encoded_len);
+ encoded_len = socks5_client_version_encode(buf, encoded_len, v);
+ tor_assert(encoded_len > 0);
+
+ socks5_client_version_free(v);
+
+ if (write_all_to_socket(s, (const char *)buf,
+ encoded_len) != encoded_len) {
log_err(LD_NET, "Error sending SOCKS5 method list.");
+ tor_free(buf);
+
goto err;
}
- if (read_all_from_socket(s, method_buf, 2) != 2) {
+
+ tor_free(buf);
+
+ uint8_t method_buf[2];
+
+ if (read_all_from_socket(s, (char *)method_buf, 2) != 2) {
log_err(LD_NET, "Error reading SOCKS5 methods.");
goto err;
}
- if (method_buf[0] != '\x05') {
- log_err(LD_NET, "Unrecognized socks version: %u",
- (unsigned)method_buf[0]);
+
+ socks5_server_method_t *m;
+ ssize_t parsed = socks5_server_method_parse(&m, method_buf,
+ sizeof(method_buf));
+
+ if (parsed < 2) {
+ log_err(LD_NET, "Failed to parse SOCKS5 method selection "
+ "message");
goto err;
}
- if (method_buf[1] != '\x00') {
+
+ uint8_t method = socks5_server_method_get_method(m);
+
+ socks5_server_method_free(m);
+
+ if (method != 0x00) {
log_err(LD_NET, "Unrecognized socks authentication method: %u",
- (unsigned)method_buf[1]);
+ (unsigned)method);
goto err;
}
}
@@ -257,7 +444,7 @@ do_resolve(const char *hostname,
tor_assert(!req);
goto err;
}
- if (write_all_to_socket(s, req, len) != len) {
+ if (write_all_to_socket(s, (const char *)req, len) != len) {
log_sock_error("sending SOCKS request", s);
tor_free(req);
goto err;
@@ -276,55 +463,59 @@ do_resolve(const char *hostname,
goto err;
}
} else {
- char reply_buf[16];
- if (read_all_from_socket(s, reply_buf, 4) != 4) {
- log_err(LD_NET, "Error reading SOCKS5 response.");
+ uint8_t reply_buf[512];
+
+ len = read_all_from_socket(s, (char *)reply_buf,
+ sizeof(reply_buf));
+
+ socks5_server_reply_t *reply;
+
+ ssize_t parsed = socks5_server_reply_parse(&reply,
+ reply_buf,
+ len);
+ if (parsed == -1) {
+ log_err(LD_NET, "Failed parsing SOCKS5 response");
goto err;
}
- if (reply_buf[0] != 5) {
- log_err(LD_NET, "Bad SOCKS5 reply version.");
+
+ if (parsed == -2) {
+ log_err(LD_NET, "Truncated SOCKS5 response");
goto err;
}
+
/* Give a user some useful feedback about SOCKS5 errors */
- if (reply_buf[1] != 0) {
+ uint8_t reply_field = socks5_server_reply_get_reply(reply);
+ if (reply_field != 0) {
log_warn(LD_NET,"Got SOCKS5 status response '%u': %s",
- (unsigned)reply_buf[1],
- socks5_reason_to_string(reply_buf[1]));
- if (reply_buf[1] == 4 && !strcasecmpend(hostname, ".onion")) {
+ (unsigned)reply_field,
+ socks5_reason_to_string(reply_field));
+ if (reply_field == 4 && !strcasecmpend(hostname, ".onion")) {
onion_warning(hostname);
}
+
+ socks5_server_reply_free(reply);
goto err;
}
- if (reply_buf[3] == 1) {
+
+ uint8_t atype = socks5_server_reply_get_atype(reply);
+
+ if (atype == SOCKS5_ATYPE_IPV4) {
/* IPv4 address */
- if (read_all_from_socket(s, reply_buf, 4) != 4) {
- log_err(LD_NET, "Error reading address in socks5 response.");
- goto err;
- }
- tor_addr_from_ipv4n(result_addr, get_uint32(reply_buf));
- } else if (reply_buf[3] == 4) {
+ tor_addr_from_ipv4h(result_addr,
+ socks5_server_reply_get_bind_addr_ipv4(reply));
+ } else if (atype == SOCKS5_ATYPE_IPV6) {
/* IPv6 address */
- if (read_all_from_socket(s, reply_buf, 16) != 16) {
- log_err(LD_NET, "Error reading address in socks5 response.");
- goto err;
- }
- tor_addr_from_ipv6_bytes(result_addr, reply_buf);
- } else if (reply_buf[3] == 3) {
+ tor_addr_from_ipv6_bytes(result_addr,
+ (const char *)socks5_server_reply_getarray_bind_addr_ipv6(reply));
+ } else if (atype == SOCKS5_ATYPE_HOSTNAME) {
/* Domain name */
- size_t result_len;
- if (read_all_from_socket(s, reply_buf, 1) != 1) {
- log_err(LD_NET, "Error reading address_length in socks5 response.");
- goto err;
- }
- result_len = *(uint8_t*)(reply_buf);
- *result_hostname = tor_malloc(result_len+1);
- if (read_all_from_socket(s, *result_hostname, result_len)
- != (int) result_len) {
- log_err(LD_NET, "Error reading hostname in socks5 response.");
- goto err;
- }
- (*result_hostname)[result_len] = '\0';
+ domainname_t *dn =
+ socks5_server_reply_get_bind_addr_domainname(reply);
+
+ *result_hostname = tor_strdup(domainname_getstr_name(dn));
}
+
+ socks5_server_reply_free(reply);
}
tor_close_socket(s);
diff --git a/src/tools/tor_runner.c b/src/tools/tor_runner.c
index b07b72a095..d962e5abc7 100644
--- a/src/tools/tor_runner.c
+++ b/src/tools/tor_runner.c
@@ -86,6 +86,7 @@ tor_run_main(const tor_main_configuration_t *cfg)
/* circumlocution to avoid getting warned about calling calloc instead of
* tor_calloc. */
#define real_calloc calloc
+#define real_free free
static void
child(const tor_main_configuration_t *cfg)
@@ -103,6 +104,7 @@ child(const tor_main_configuration_t *cfg)
int rv = execv(BINDIR "/tor", args);
if (rv < 0) {
+ real_free(args);
exit(254);
} else {
abort(); /* Unreachable */
diff --git a/src/trunnel/socks5.c b/src/trunnel/socks5.c
index 9e5f6fcfed..057a52b042 100644
--- a/src/trunnel/socks5.c
+++ b/src/trunnel/socks5.c
@@ -1694,7 +1694,6 @@ socks4_server_reply_new(void)
socks4_server_reply_t *val = trunnel_calloc(1, sizeof(socks4_server_reply_t));
if (NULL == val)
return NULL;
- val->version = 4;
return val;
}
@@ -1724,7 +1723,7 @@ socks4_server_reply_get_version(const socks4_server_reply_t *inp)
int
socks4_server_reply_set_version(socks4_server_reply_t *inp, uint8_t val)
{
- if (! ((val == 4))) {
+ if (! ((val == 0 || val == 4))) {
TRUNNEL_SET_ERROR_CODE(inp);
return -1;
}
@@ -1771,7 +1770,7 @@ socks4_server_reply_check(const socks4_server_reply_t *obj)
return "Object was NULL";
if (obj->trunnel_error_code_)
return "A set function failed on this object";
- if (! (obj->version == 4))
+ if (! (obj->version == 0 || obj->version == 4))
return "Integer out of bounds";
return NULL;
}
@@ -1785,7 +1784,7 @@ socks4_server_reply_encoded_len(const socks4_server_reply_t *obj)
return -1;
- /* Length of u8 version IN [4] */
+ /* Length of u8 version IN [0, 4] */
result += 1;
/* Length of u8 status */
@@ -1823,7 +1822,7 @@ socks4_server_reply_encode(uint8_t *output, const size_t avail, const socks4_ser
trunnel_assert(encoded_len >= 0);
#endif
- /* Encode u8 version IN [4] */
+ /* Encode u8 version IN [0, 4] */
trunnel_assert(written <= avail);
if (avail - written < 1)
goto truncated;
@@ -1886,11 +1885,11 @@ socks4_server_reply_parse_into(socks4_server_reply_t *obj, const uint8_t *input,
ssize_t result = 0;
(void)result;
- /* Parse u8 version IN [4] */
+ /* Parse u8 version IN [0, 4] */
CHECK_REMAINING(1, truncated);
obj->version = (trunnel_get_uint8(ptr));
remaining -= 1; ptr += 1;
- if (! (obj->version == 4))
+ if (! (obj->version == 0 || obj->version == 4))
goto fail;
/* Parse u8 status */
diff --git a/src/trunnel/socks5.trunnel b/src/trunnel/socks5.trunnel
index b86ec03b9d..17fa2ed996 100644
--- a/src/trunnel/socks5.trunnel
+++ b/src/trunnel/socks5.trunnel
@@ -86,7 +86,7 @@ struct socks4_client_request {
}
struct socks4_server_reply {
- u8 version IN [4];
+ u8 version IN [0,4];
u8 status;
u16 port;
u32 addr;
diff --git a/src/win32/orconfig.h b/src/win32/orconfig.h
index de3bf09282..cfc3bc9e9e 100644
--- a/src/win32/orconfig.h
+++ b/src/win32/orconfig.h
@@ -218,7 +218,7 @@
#define USING_TWOS_COMPLEMENT
/* Version number of package */
-#define VERSION "0.3.6.0-alpha-dev"
+#define VERSION "0.4.0.0-alpha-dev"